найти общие предостережения
использоватьname
Опции
Вариант имени файла
find
Наиболее распространенный вариант команды, либо отдельно, либо в сочетании с другими параметрами. Шаблон имени файла может использоваться для сопоставления файлов, не забудьте заключить шаблон имени файла в кавычки. Независимо от текущего пути, если вы хотите находиться в своем собственном корневом каталоге$HOME
Найдите имена файлов, которые соответствуют*.log
файл, использовать~
В качестве параметра pathname используется тильда~
Представляет домашний каталог текущего пользователя.
Найти домашний каталог текущего пользователя, вошедшего в систему.log
документ
> find ~ -name "*.log"
Найти файлы в текущем каталоге, начинающиеся с заглавной буквы
> find . -name "[A-Z]*"
найти/etc
в каталогеsys
файл, начинающийся с
> find /etc -name "sys*"
Запрос текущего каталога, начинающегося с заглавной буквы + 3 цифры.png
картинка
> find . -name "[A-Z]*[0-9][0-9][0-9].png"
с перманентным вариантом
Используйте параметр -perm в соответствии с режимом доступа к файлу, чтобы найти файл в соответствии с режимом доступа к файлу. Для разрешений лучше всего использовать восьмеричное представление. Например, если вы ищете файл с битом доступа к файлу, равным 755, в текущем каталоге, то есть владелец файла может читать, записывать и выполнять, а другие пользователи могут читать и выполнять файл, вы можете использовать
> find . -perm 755
find -perm -mode
, что означает, что 1, преобразованная в двоичный файл в режиме, должна совпадать с битами прав доступа к файлу.Например, если режим = 644, преобразование в двоичный код будет 110 100 100, и бит разрешения файла, который нужно найти, также может быть преобразован в двоичное число. Части с 1 в бите должны точно совпадать, а 0 не имеют значения. Например, если права искомого файла преобразованы в двоичные числа 111 111 111, то этот пример совпадет, а если 100 100 100, то не совпадет. Таким образом, роль этого «-» сводится к сопоставлению файлов с большим количеством разрешений, чем режим (я не могу найти слов, чтобы описать это)
игнорировать каталог
Если вы хотите игнорировать каталог при поиске файла, потому что вы знаете, что файл, который вы ищете, не существует в этом каталоге, вы можете использовать
-prune
опция, чтобы указать каталоги для игнорирования. Будьте осторожны при использовании параметра -prune, потому что если вы используете оба-depth
вариант, то-prune
варианты будутfind
команда игнорируется. Если вы хотите найти файлы в текущем каталоге, но не хотите./bin
Найдите в каталоге, вы можете использовать
> find . -path "./bin" -prune -o -print
Избегайте нескольких папок
> find . \( -path "./bin" -o -path "./doc" \) -prune -o -print
Скобки указывают на комбинацию выражений.
\
ссылаться, указыватьshell
Следующие символы не даются специальной интерпретации, но оставляются на усмотрение.find
команду объяснить ее значение.
Найдите определенный файл, добавьте такие параметры, как -name после -o
> find . \( -path "./bin" -o -path "./doc" \) -prune -o -name "*.txt" -print
user nouser
а такжеgroup nogroup
Найти владельца в текущем каталогеroot
документ
> find . -user root
Найти удаленные файлы владельца текущего каталога
> find . -nouser
Найдите группу, к которой вы принадлежите, в текущем каталогеroot
документ
> find . -group root
Найти файлы, удаленные группой, к которой принадлежит текущий каталог
> find . -nogroup
Поиск файлов по времени
Найти файлы, измененные в течение 7 дней
> find . -mtime -7
Найти файлы, измененные до 7 дней
> find . mtime +7
Найти файлы новее или старше определенного файла
Найти время изменения, чем файлa.log
новый файл данбиb.log
старый файл
> find . -newer a.log ! -newer b.log
Найдите время изменения в чемa.log
файл новый файл
> find . -newer a.log
type
Опции
существует/etc
Найти все каталоги в каталоге
> find /etc -type d
существует/etc
Найти все файлы символических ссылок в каталоге
> find /etc -type l
size
параметр
Файл можно искать по длине файла.Длина упомянутого здесь файла может измеряться в блоках или байтах. Выражение длины файла, измеренной в байтах, равно N c, длина файла, измеренная в блоках, может быть выражена только числами. При поиске файлов по длине файла обычно используется эта длина файла, выраженная в байтах, а при просмотре размера файловой системы ее проще преобразовать, используя блоки для измерения.
Найти в текущем каталоге файлы, длина которых больше100M
байтовый файл
> find . -size +100M
Используйте параметр глубины
При использовании команды find вы можете сопоставить все файлы перед поиском в подкаталогах. Используйте опцию depth, чтобы команда find делала это. Одна из причин этого заключается в том, что при использовании команды find для резервного копирования файловой системы на ленту желательно сначала выполнить резервное копирование всех файлов, а затем — файлов в подкаталогах.
Сначала выведите подконтент, затем выведите содержимое каталога верхнего уровня, пока не появится верхний уровень.
> find test -depth ! -empty
test/test1/test2/test3
test/test1/test2
test/test1
test
Сначала выведите каталог верхнего уровня, а затем выведите содержимое подкаталогов ниже, до самого нижнего уровня:
> find test ! -empty
test
test/test1
test/test1/test2
test/test1/test2/test3
параметры монтирования
Чтобы найти файлы в текущей файловой системе (без входа в другие файловые системы), вы можете использовать опцию монтирования команды find.
Найти файлы в этой файловой системе, начиная с текущего каталога с именами, начинающимися с.txt
конец файла
> find . -mount -name "*.txt" -print
Оригинальная ссылка:starter.com/starternotes/com…Официальный аккаунт WeChat: Станция «Начало работы»
Руководство по быстрой проверке общих команд Linux Скачать PDF