Предполагая, что под «скрытым файлом» вы подразумеваете файлы, имя которых начинается с точки или которые расположены где-то под каталогом, имя которого начинается с точки, а не другие формы невидимых файлов , следующая команда печатает имена всех скрытых файлов. Это медленно, так как он охватывает все имена файлов в вашей системе.
sudo find / -name '.*' \( -type d -exec find {} \; -prune -o -print \)
Объяснение:
-type d -exec find {} \; -prune
выполняется find
в каждом каталоге (чье имя совпадает .*
) и пропускается по убыванию в этот каталог из-за -prune
.
-type d … -o -print
вызывает .*
печать всех не-каталогов, которые соответствуют .
Если вы ищете файл с конкретным именем или шаблоном:
sudo find / -name 'Foo*' -path '*/.*'
*/.*
Узор на всем пути сил соответствует находиться под скрытой директории.
Вы можете добавить -xdev
после, /
чтобы избежать обхода специальных файловых систем и съемных дисков.
sudo
не требуется, если вам не нужен поиск в каталогах, к которым у вас нет доступа. Поиск в скрытых каталогах не требует повышенных привилегий, если именно поэтому он используется в вашем примере.