Как рекурсивно перечислить все скрытые файлы и каталоги?


13

Я хочу перечислить все скрытые файлы и каталоги, а затем сохранить результат в файл.

Есть ли команда для этого?

Ответы:


13

Если вы используете GNU find, вы можете сделать

find /path -path '*/.*' -ls | tee output-file

редактировать

Чтобы не показывать не скрытые элементы, содержащиеся в скрытых каталогах

find /path -name '.*' >output-file

(как отмечено, teeможно было бы избежать, если вам не нужно видеть выходные данные, и -lsопция должна использоваться только при необходимости).


2
Или >вместо | tee, если вы не хотите видеть весь вывод на терминале.
rozcietrzewiacz

Вы также не нуждаетесь -lsв этом, это может быть дополнительная беспорядочная информация для анализа мысли.
Калеб

Это также перечисляет содержимое скрытых каталогов, что не то, о чем спрашивает вопрос (возможно - это немного двусмысленно).
Жиль "ТАК - перестань быть злым"

@ Жиль: действительно, это неоднозначно. Отредактировано ответ
enzotib

Обратите внимание, что первый не специфичен для GNU. -pathэто POSIX с 2008 года. -lsне является стандартным, но довольно распространенным.
Стефан Шазелас

10

Для просмотра списка скрытых файлов и каталогов в текущем каталоге, включая .и ..:

echo .*

Чтобы вывести список скрытых файлов и каталогов в текущем каталоге и его подкаталогах рекурсивно:

find . -name '.*'

Если вы хотите сохранить результаты в файл, используйте перенаправление:

find . -name '.*' >output-file.txt


0

Фактически вы можете поместить один и тот же аргумент несколько раз в одну и ту же командную строку:

find /storage/????-????/ -iname '.*' -iname "*" | tee -a file-list-micSD-20190801163729.fli

Команда tee -aможет отображать вывод команды (или стандартный вывод ) одновременно при записи его в файл. Эти -aпараметры предотвращают залипание и вместо этого добавляют информацию в целевой выходной файл.

/storage/????-????/это пример пути. Это путь к карте MicroSD в новых мобильных телефонах Android (есть также терминальное приложение для Android, с меньшим количеством команд, но все еще много и значительно увеличенное по сравнению с Android 6.0). Карта MicroSD была раньше /storage/extSdCard. Теперь это серийный номер тома.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.