Команда 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 мегабайт:
- 5 Команд linux для початківців
- Як знайти нові файли в linux
- Як видалити файл через термінал linux
- Як створити файл в терміналі
- Як перейменувати файл linux
- Як розпакувати zip в linux
- Команда where - пошук файлів за шаблоном імені.
- Корисні команди linux
- Path - відобразити або змінити шляху пошуку виконуваних файлів.
- Пошук тексту в файлах linux
- Копіювання файлів в linux
- Вимкнення linux з командного рядка
- Команда find - пошук рядка символів в файлі
- Налаштування завантажувача grub
- Команда wget linux
- Команда sort в linux
- Команда echo в linux
- Корисні утиліти для linux
- Команда cat linux
- Пошук файлу в linux
- Шлях до файлу в linux