Команда find в linux

Дуже важливо вміти вчасно і дуже швидко знайти потрібну інформацію в системі. Звичайно, всі сучасні файлові менеджери пропонують відмінні функції пошуку, але їм не зрівняється з пошуком в терміналі Linux. Він набагато ефективніше і гнучкіше звичайного пошуку, ви можете шукати файли не тільки по імені, але і по даті додавання, вмісту, а також використовувати для пошуку регулярні вирази. Крім того, зі знайденими файлами можна відразу ж виконувати необхідні дії.

У цій статті ми поговоримо про пошук за допомогою дуже потужної команди find Linux, детально розберемо її синтаксис, опції і розглянемо кілька прикладів.

Основна інформація про Find

Find - це одна з найбільш важливих і часто використовуваних утиліт системи Linux. Це команда для пошуку файлів і каталогів на основі спеціальних умов. Її можна використовувати в різних обставинах, наприклад, для пошуку файлів за дозволами, власникам, групам, типу, розміру та іншим подібним критеріям.

Утиліта find встановлена ​​за замовчуванням у всіх Linux дистрибутивах, тому вам не потрібно буде встановлювати ніяких додаткових пакетів. Це дуже важлива знахідка для тих, хто хоче використовувати командний рядок найефективніше.

Команда find має такий синтаксис:

find [папка] [параметри] критерій шаблон [дія]

Папка - каталог в якому будемо шукати

параметри - додаткові параметри, наприклад, глибина пошуку, і т д

критерій - за яким критерієм будемо шукати: ім`я, дата створення, права, власник і т д.

шаблон - безпосередньо значення за яким будемо вибирати файли.

Основні параметри команди find




Я не буду перераховувати тут всі параметри, розглянемо тільки найкорисніші.

  • -P ніколи не відкривати символічні посилання
  • -L - отримує інформацію про файлах символьних посилань. Важливо для подальшої обробки, щоб оброблялася не посилання, а сам файл.
  • -maxdepth - максимальна глибина пошуку по підкаталогам, для пошуку тільки в поточному каталозі встановіть 1.
  • -depth - шукати спочатку в поточному каталозі, а потім в підкаталогах
  • -mount шукати файли тільки в цій файлової системи.
  • -version - показати версію утиліти find
  • -print - виводити повні імена файлів
  • -type f - шукати тільки файли
  • -type d - пошук папки в Linux

критерії

Критеріїв у команди find в Linux дуже багато, і ми знову ж розглянемо тільки основні.

  • -name - пошук файлів по імені
  • -perm - пошук файлів в Linux за режимом доступу
  • -user - пошук файлів по власнику
  • -group - пошук по групі
  • -mtime - пошук по часу модифікації файлу
  • -atime - пошук файлів за датою останнього читання
  • -nogroup - пошук файлів, які не належать жодній групі
  • -nouser - пошук файлів без власників
  • -newer - знайти файли новіше ніж зазначений
  • -size - пошук файлів в Linux за їх розміром

приклади використання

А тепер давайте розглянемо приклади find, щоб ви краще зрозуміли, як використовувати цю утиліту.

1. Пошук всіх файлів

Показати всі файли в поточному каталозі:

$ Find. $ Find ./test

Шукати файли по імені в цій папці:

$ Find. -iname "test *"


[Irp posts = "1101" name = "Grep - пошук всередині файлів в Linux"]

3. Обмеження глибини пошуку

Пошуку файлів по імені в Linux тільки в цій папці:

Відео: Пошук файлів в linux exec, ok Частина 4

$ Find. -not -name "test *"

5. Кілька критеріїв

Пошук командою find в Linux за кількома критеріями, з оператором виключення:

$ Find -name "* .html" -o -name "* .php"

6. Кілька каталогів

Шукати в двох каталогах одночасно:

$ Find ~ -type f -name ". *"

8. Пошук по дозволам

Знайти файли з певною маскою прав, наприклад, 0664:

$ Find / -perm 2644

Або так:

Відео: Відео урок 2 Термінал Linux команди: file, mv, cp, rmdir, ps, kill 9, find, sort,, clear

$ Find / etc -maxdepth 1 -perm / u = r

Знайти тільки виконувані файли:

$ Find. -user sergiy

Пошук файлів в Linux належать групі:

$ Find / -mtime 50

Пошук файлів в Linux відкритих N днів тому:

$ Find / -mtime +50 -mtime -100

Знайти файли змінені протягом години:

$ Find / -size 50M

Від п`ятдесяти до ста мегабайт:

$ Find. -type f -exec ls -s {} - | sort -n -r | head -5

Найбільші:

Відео: Linux для Початківців

$ Find / tmp -type f -empty

$ Find ~ / -type d -empty

13. Дії зі знайденими файлами

Для виконання довільних команд для знайдених файлів використовується опція -exec. Наприклад, виконати ls для отримання докладної інформації про кожен файл:

$ Find / tmp -type f -name "* .txt" -exec rm -f {} -

Видалити всі файли більше 100 мегабайт:

Поділися в соціальних мережах:

Схожі
Path - відобразити або змінити шляху пошуку виконуваних файлів.Path - відобразити або змінити шляху пошуку виконуваних файлів.
Команда sort в linuxКоманда sort в linux
Команда cat linuxКоманда cat linux
Команда find - пошук рядка символів в файліКоманда find - пошук рядка символів в файлі
Регулярні вирази linuxРегулярні вирази linux
Пошук файлу в linuxПошук файлу в linux
5 Команд linux для початківців5 Команд linux для початківців
Копіювання файлів в linuxКопіювання файлів в linux
Команда wget linuxКоманда wget linux
Налаштування завантажувача grubНалаштування завантажувача grub
» » Команда find в linux