ГлавнаяОперационные системыLinuxКак найти файл в Linux с помощью команды «Найти»

Как найти файл в Linux с помощью команды «Найти»

Команда Linux find— одна из самых важных и удобных команд в системах Linux. Как следует из названия, он может находить файлы на вашем ПК с Linux практически на основе любых установленных вами условий и переменных. Вы можете найти файлы по разрешениям, пользователям, группам, типу файла, дате, размеру и другим возможным критериям с помощью команды find. Здесь мы покажем вам, как найти файл в Linux с помощью команды find.

Команда findдоступна в большинстве дистрибутивов Linux по умолчанию, поэтому вам не нужно устанавливать для нее пакет.

Также читайте: Использование команды find, найдите, какие и где находятся команды для поиска файлов в Linux

Найти файлы по имени в текущих каталогах

Самый очевидный способ поиска файлов — по имени. Чтобы найти файл по имени в текущем каталоге, выполните:

find . -name photo.png
Найти фото

Если вы хотите найти файл по имени, содержащему как заглавные, так и строчные буквы, выполните:

find . -iname photo.png
Найти файлы по имени в текущих каталогах2024/05/find-iname-photo.jpg" alt="Найти фотографию Инаме">

Если вы хотите найти файл в корневом каталоге, добавьте к поиску префикс sudo, который предоставит вам все необходимые для этого разрешения, а также /, который сообщает Linux о необходимости поиска в корневом каталоге. Наконец, выражение -printотображает каталоги результатов поиска. Если вы ищете Gzip, введите:

sudo find / -name gzip -print
Найти Gzip

Читайте также: Как найти большие файлы в Linux

Найти файлы в определенном каталоге

Если вы хотите найти файлы в определенном каталоге, например «/home», выполните:

find /home -name filename.txt
Найти дом

Если вы хотите найти файлы с расширением «.txt» в каталоге «/home», выполните:

find /home -name "*.txt"
Найти домашний подстановочный знак

Чтобы найти файлы с именем «test.txt» в нескольких каталогах, например «/home» и «/opt», выполните:

find /home /opt -name test.txt

Чтобы найти скрытые файлы в каталоге «/home», выполните:

find /home -name ".*"

Чтобы найти один файл с именем «test.txt» и удалить его, >Найти файлы в определенном каталогеn> /home -type f -name test.txt -exec rm -f {}

Чтобы найти все пустые файлы в каталоге «/opt», выполните:

find /opt -type f -empty

Найти каталоги по имени

Если вы хотите найти все каталоги с именем «testdir» в каталоге «/home», выполните:

find /home -type d -name testdir

Чтобы сохранить все пустые каталоги в «/home», выполните:

find /home -type d -empty

Найти файлы с определенными разрешениями

Команду findможно использовать для поиска файлов с определенным разрешением с помощью параметра perm.

Чтобы найти все файлы чьи разрешения «777» в каталоге «/home», выполните:

find /home -type f -perm 0777 -print

Чтобы найти все файлы без разрешения «777», выполните:

find . -type f ! -perm 777

Чтобы найти все файлы, доступные только для чтения, выполните:

find /home -perm /u=r

Чтобы найти все исполняемые файлы, выполните:

find /home -perm /a=x

Чтобы найти все файлы наборов липких битов с разрешениями «553», выполните:

Найти каталоги по имениspan>home -perm 1553

Чтобы найти все файлы наборов SUID, выполните:

find /home -perm /u=s

Чтобы найти все файлы с разрешениями «777» и изменить их р>Найти файлы с определенными разрешениямиfind /home -type f -perm 0777 -print -exec chmod 700 {} ;

Найти файлы и каталоги по дате и времени

Чтобы найти все файлы в каталоге «/opt», которые были изменены 20 днями ранее, выполните:

find /opt -mtime 20

Чтобы найти все файлы в каталоге «/opt», к которым обращались двадцать дней назад, выполните:

find /opt -atime 20

Чтобы найти все файлы в каталоге «/opt», которые были изменены более 30 дней назад и менее 50 дней спустя:

find /opt -mtime +30 -mtime -50

Чтобы найти все файлы в папке «/opt», которые были изменены за последние два часа, выполните:

find /opt -cmin -120

Найти файлы и каталоги по размеру

Чтобы найти все файлы размером 10 МБ в каталоге «/home», выполните:

find /home -size 10M

Чтобы найти все файлы в каталоге «/home», размер которых превышает 10 МБ и меньше 50 МБ, выполните:

find /home -size +10M -size -50M

Чтобы найти все файлы «.mp4» в каталоге «/home» размером более 10 МБ и удалить их с помощью одной команды, выполните:

find /home -type f -name *.mp4 -size +10M -exec rm {} ;

Как видите, команда findневероятно полезна для администрирования системы, просмотра каталогов в поисках файлов и вообще обрезки дерева виртуальных каталогов в Linux. Если вам понравилась эта статья о Linux, обязательно ознакомьтесь с другими нашими материалами о Linux, например как использовать команду scp для безопасной передачи файлов>Найти файлы и каталоги по дате и времениrminal-faylovogo-menedzhera-nnn/" title="как использовать nnn в качестве файлового менеджера в терминале">как использовать nnn в качестве файлового менеджера в терминале и как исправить сломанные пакеты .

>Найти файлы и каталоги по размеру
Предыдущая статья
Следующая статья
ПОХОЖИЕ СТАТЬИ

Популярные записи