Сегодня у меня на душе заморозки (Авессалом Подводный).

Пример использывания команды find в Linux

4 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
9 октября 2016
Пример использывания команды find в Linux

Введение

В этом руководстве вы узнаете, как выполнить поиск файлов с помощью командной строки Linux.

Вы, вероятно, не будете удивлены, узнав, что команда, используемая для поиска файлов называется find.

С помощью этого руководства вы узнаете обо всех параметрах, доступных при использовании команды поиска.

Базовый синтаксис команды find

Вот основной синтаксис команды find.

find / -name game

Первая часть команды поиска, очевидно, слово find.

Вторая часть, это путь поиск

Следующая часть это выражение, которое определяет, что найти.

И, наконец, последняя часть это текст, который надо найти.

Где начать поиск

Вы можете выбрать любое место в файловой системе, чтобы начать поиск. Например, если вы хотите искать от текущей файловой системе, которую вы можете использовать следующим образом:

find . -name game

Приведенная выше команда будет искать файл или папку под названием game во всех папках под текущей папки. Вы можете найти имя текущей папки , используя команду PWD.

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

find / -name game

Вполне вероятно, что результаты, возвращенной команды покажет разрешение отказано для многих из возвращенных результатов.

Вам, вероятно, нужно ваши права доступа с помощью команды Sudo или переключиться на учетную запись администратора с помощью команды su.

Исходное положение может быть буквально в любом месте вашей файловой системы. Например, для поиска из домашней папки введите следующую команду:

find ~ -name game

Тильда является метасимволом обычно используется для обозначения домашней папки текущего пользователя.

Выражения

Наиболее распространенным выражение, которое вы будете использовать это -name.

name – выражение позволяет осуществлять поиск по имени файла или папки.

Существуют, однако, другие выражения, которые можно использовать следующим образом:

  • -amin n – файл в последний раз открыт n минут назад
  • -anewer – файл был последний раз открыт позже, чем он был изменен
  • -atime n – файл в последний раз открыт больше n дней назад
  • -cmin n – последнее изменение файла n минут назад
  • -cnewer – файл в последний раз был недавно изменен, чем файл был изменен
  • -ctime n – файл был изменен в последний раз более чем n дней назад
  • -empty – файл пуст
  • -executable – файл является исполняемым
  • -false – всегда ложная
  • -fstype type – файл находится в указанной файловой системе
  • -gid n – файл принадлежит к группе с идентификационным номером
  • -group groupname – файл принадлежит к группе под названием
  • -ilname pattern – поиск по символической линии, но игнорировать регистр
  • -iname pattern – поиск файла, но игнорировать регистр
  • -inum n – поиск файла с указанным узлом
  • -ipath path – искать пути, но игнорировать регистр
  • -iregex выражение – поиск выражения, но игнорировать регистр
  • -links n – поиск файла с указанным количеством ссылок
  • -lname name – поиск символической ссылки
  • -mmin n – данные файла Последнее изменение n минут назад
  • -mtime n – данные файла Последнее изменение n дней назад
  • -name name – поиск файла с указанным именем
  • -newer название – поиск файла отредактированной позже, чем заданный файл
  • -nogroup – поиск файла, без идентификатора группы
  • -nouser – поиск файла с пользователем не прилагается к нему
  • -path path – искать пути
  • -readable – найти файлы, которые являются читаемыми
  • -regex pattern – поиск файлов, удовлетворяющих регулярному выражению
  • -type type – поиск определенного типа
  • -uid uid – у файла числовой идентификатор пользователя такой же, как UID
  • -user name – файл принадлежит указанный пользователем
  • -writable – поиск файлов, которые могут быть записаны

Как найти файлы доступны более чем на n-ое количество дней назад

Например представьте, что вы хотите, найти все файлы в вашей домашней папке, доступ к которым был более чем 100 дней назад. Вы можете захотеть сделать это, если вы хотите сделать резервную копию и удалить старые файлы, к которым вы не обращаетесь.

find ~ -atime 100

Как найти пустые файлы и папки

Если вы хотите найти все пустые файлы и папки в вашей системе используйте следующую команду:

find / -empty

Как найти все исполняемые файлы

Если вы хотите, чтобы найти все исполняемые файлы на вашем компьютере, делайте это с помощью следующей команды:

find / -executable

Как найти все файлы только для чтения

Чтобы найти все файлы, которые можно только считывать, с помощью следующей команды:

find / -readable

Шаблон

При поиске файла, вы можете использовать шаблон. Например, может быть, вы ищете все файлы с расширением mp3.

Вы можете использовать следующую схему:

find / -name *.mp3

Как отправить выход команде find

Основная проблема с командой поиска в том, что он может иногда возвращать слишком много результатов, чтобы смотреть их на одном дыхании.

Вы можете перенаправить вывод в команде tail или вы можете выводить строки в файл следующим образом :

find / -name *.mp3 -fprint nameoffiletoprintto

Как найти и выполнить команду с файлом

Представьте, что вы хотите, искать и редактировать файл одновременно.

Вы можете использовать следующую команду:

find / -name filename -exec nano '{}' \;

Вышеприведенная команда ищет файл с именем файла, а затем запускает редактор nano для файла, который он находит.

find - команда Linux - команда Unix

Резюме

Команда find является очень мощной. Это руководство показывает базовый синтаксис и некоторые из наиболее распространенных применений.

Для всего остального вы должны прочитать страницу руководства для команды поиска .

Вы можете сделать это, выполнив следующую команду в терминале:

man find

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 131

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close