Поиск файлов и каталогов

Последнее обновление: 12.03.2024

find

Команда find применяется для поиска файлов и каталогов по различным критериям, таким как имя, размер, тип и время изменения. Например, найдем все файлы с расширением .txt в каталоге Documents текущего пользователя и его подкаталогах:

eugene@Eugene:~$ find  ~/Documents -name "*.txt"
/home/eugene/Documents/test/hello.txt
eugene@Eugene:~$ 

Первый аргумент команды — это начальный каталог поиска. А параметр -name используется для указания соответствующего шаблона имени файла. Символ * — это подстановочный знак, который соответствует любому количеству символов, а *.txt соответствует всем файлам, оканчивающимся на ".txt".

Команда find позволяет не только находить файлы по их именам. Например, можно найти файлы по их размеру, владельцу, разрешениям и многим другим параметрам. Опции для поиска файлов:

  • -amin n: находит все файлы, к которым последний раз обращались менее n минут назад. Например, find -amin 5 выдаст все файлы, к которым обращались менее пяти минут назад.

  • -executable: находит все исполняемые файлы.

  • -group name: показывает все файлы, владельцем группы которых является пользователь с логином "name".

  • -mmin n: показывает все файлы, которые последний раз были изменены менее n минут назад.

  • -newer file показывает все файлы новее, чем файл file.

  • -nogroup, -nouser: показать все файлы, у которых нет группы или владельца.

  • -perm mode: находит все файлы, для которых установлен режим разрешений .mode

  • -size n: находит все файлы размера n. С помощью этого параметра также можно найти файлы больше или меньше определенного размера. Например, команда find / -size +2G позволит найти все файлы размером более 2 гигабайт. При использовании этого параметра также применяются K, M и G для килобайтов, мегабайтов и гигабайтов соответственно. Знак + позволяет задать поиск файлов, размер которых превышает определенный.

  • -type t: находит файлы определенного типа. Наиболее интересные типы файлов, которые вы можете искать с помощью этой опции, — это d для каталога или f для обычного файла (то есть любого файла, не являющегося каталогом).

Также можно комбинировать разные варианты, например, найти все файлы пользователя eugene, размером более 100 МБ:

find ~ -user eugene -size +100M

whereis

Команда whereis применяется для поиска бинарных, исходных файлов и файлов страниц руководств для определенной команды. Например, найдем местоположение команды find:.

eugene@Eugene:~$ whereis find
find: /usr/bin/find /usr/share/man/man1/find.1.gz /usr/share/info/find.info-1.gz /usr/share/info/find.info-2.gz /usr/share/info/find.info.gz
eugene@Eugene:~$ 

Или найдем местоположение команды "gcc" (компилятора языка Си):

eugene@Eugene:~$ whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/gcc /usr/share/man/man1/gcc.1.gz
eugene@Eugene:~$ 
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850