grep ^ filename
напечатает каждую строку, потому что у каждой строки есть начало, и именно этому соответствует ^. (В зависимости от реализации регулярного выражения, это может оказаться более эффективным, чем сопоставление.*)
grep. filename
удаляет полностью пустые строки (строки без всего, включая пробелы и табуляции ).
Эта команда более полезна, если у вас несколько файлов, так как grep по умолчанию печатает имя файла. Например, в моей системе
grep ^ /proc/sys/kernel/shm*
производит
/proc/sys/kernel/shmall:18446744073692774399
/proc/sys/kernel/shmmax:18446744073692774399
/proc/sys/kernel/shmmni:4096
/proc/sys/kernel/shm_next_id:-1
/proc/sys/kernel/shm_rmid_forced:0
поэтому я могу увидеть 5 значений с помощью одной команды.
Вы не можете хранить секретный ключ в / и одновременно шифровать его. Это просто не будет работать таким образом.
Да, кто-то, имеющий физический доступ к диску, может получить секрет.
Да,шифрование имеет недостатки производительности. Разумно делать это на разделах, содержащих важные данные, а не на всей операционной системе.
Ввод пароля вручную является лучшим решением, если вы можете поддерживать работоспособность системы в течение длительного периода времени или присутствовать лично или удаленно за консолью при каждом запуске. Удаленная процедура требует предварительного запуска сетевых служб, поэтому основные разделы должны оставаться незашифрованными.
В противном случае менее безопасная практика — хранить секрет где-то поблизости и в доступном для основной операционной системы месте, в основном разделе или на флэш-накопителе.