Linux, відомий своїм надійним інтерфейсом командного рядка, надає набір потужних інструментів для ефективного керування файлами та каталогами. Серед них команда find виділяється як незамінний актив, пропонуючи неперевершену універсальність у пошуку файлів за різними критеріями. У цій статті досліджується майстерність команди find, проливається світло на її можливості та те, як вона служить інструментом для користувачів Linux, які прагнуть швидко й ефективно знаходити файли.
Зміст
- Що таке команда «Знайти» в Linux?
- Синтаксис команди Find в Linux:
- Параметри, доступні в команді пошуку в Linux
- Як знайти файл у Linux за допомогою командного рядка
- Приклади команди Find в Linux
Що таке команда «Знайти» в Linux?
Команда find в Linux це динамічна утиліта, призначена для всебічного пошуку файлів і каталогів в ієрархічній структурі. Його адаптивність дозволяє користувачам шукати за назвою, розміром, часом модифікації або вмістом, забезпечуючи гнучке та потужне рішення. Як стрижневий компонент Командний рядок Linux набір інструментів, команда find задовольняє деталізовані потреби користувачів, забезпечуючи точність дослідження та пошуку файлів. Відкрийте для себе різноманітні функціональні можливості команди find і вдосконаліть свій керування файлами ефективність на платформі Linux.
Синтаксис команди Find в Linux :
Ось синтаксис дляfind>команда в Linux:
find [path] [options] [expression]>
тут,
- шлях: Початковий каталог для пошуку.
- приклад :
find /path/to/search>
- приклад :
- параметри: Додаткові налаштування або умови для пошуку.
- приклад :
find /path/to/search -type f -name '*.txt'>
- приклад :
- вираз: Критерії фільтрації та пошуку файлів.
- приклад :
find /path/to/search -type d -name 'docs'>
- приклад :
Цей синтаксис дозволяє налаштовувати пошук файлів, вказуючи шлях, додаючи параметри та визначаючи критерії пошуку за допомогою виразів.
Параметри, доступні в команді пошуку в Linux
Ось ` find`> параметри команд разом із короткими описами їх призначення.
| Команда | опис |
|---|---|
| - шаблон імені | Шукає файли з певною назвою або шаблоном. |
| - тип типу | Визначає тип файлу для пошуку (наприклад, f для звичайних файлів, d для каталогів). |
| -розмір [+/-]n | Шукає файли за розміром. ` |
| -mtime n | Знаходить файли на основі часу модифікації. ` |
| -exec команда {} ; | Виконує команду для кожного знайденого файлу. |
| - друк | Відображає імена шляхів до файлів, які відповідають заданим критеріям. рядок java |
| - рівні максимальної глибини | Обмежує пошук заданою глибиною каталогу. |
| - рівні розуму | Визначає мінімальну глибину каталогу для пошуку. |
| - порожній | Знаходить порожні файли та каталоги. |
| - видалити | Видаляє файли, які відповідають вказаним критеріям. |
| -execdir команда {} ; | Виконує команду для кожного знайденого файлу з каталогу, що містить відповідний файл. |
| шаблон -iname | Версія ` без урахування регістру |
Як знайти файл у Linux за допомогою командного рядка
Використовуючиfind>команда проста. Щоб знайти файл у Linux, відкрийте термінал і скористайтеся наступним основний синтаксис:
find /path/to/search -options criteria>
Замінити /path/to/search> '>з каталогом, з якого ви хочете почати пошук, і налаштуйте параметри та критерії відповідно до ваших вимог.
Наприклад :
Щоб знайти файл з іменем example.txt у домашньому каталозі, ви повинні використати:
find ~ -name 'example.txt'>
Ця команда знайде та відобразить шлях до файлу, якщо він існує у вказаному каталозі чи його підкаталогах.
Приклади команди Find в Linux
1. Як знайти певний файл за допомогою команди `find` у Linux
Цей запит призначений для точного визначення файлу у визначеному каталозі. У наданому прикладі він шукає файл під назвою sample.txt у каталозі GFG.
find ./GFG -name sample.txt>
Thefind>команда перетинає вказаний каталог (./GFG>) і шукає файл під назвою sample.txt. Якщо знайдено, відображається шлях до файлу.
Вихід:

Пошук файлу з певною назвою
2. Як шукати файли за шаблоном за допомогою команди `find` у Linux
Ця команда призначена для виявлення файлів у каталозі, які дотримуються певного шаблону імен. У цьому випадку він визначає файли, що закінчуються на «.txt» у каталозі GFG.
find ./GFG -name *.txt>
Команда шукає файли з назвами, що закінчуються на «.txt» у каталозі GFG, представляючи список відповідних файлів.
Вихід:

Пошук файлу з шаблоном
3. Як знайти та підтвердити видалення файлу за допомогою команди `find` у Linux
Ця команда не лише знаходить вказаний файл, але й запитує у користувача підтвердження перед тим, як ініціювати його видалення. У прикладі намагається видалити файл під назвою sample.txt у каталозі GFG.
find ./GFG -name sample.txt -exec rm -i {} ;> The-exec>варіант виконуєrm>команду для знайденого файлу та-i>прапорець запитує у користувача підтвердження перед видаленням. Після введення цієї команди з’явиться запит на підтвердження, чи хочете ви видалити sample.txt чи ні. якщо ви введете «Y/y», файл буде видалено.
Вихід:

знайти та видалити файл із підтвердженням
4. Шукайте порожні файли та каталоги за допомогою команди `find` у Linux
Цей запит створено для виявлення та переліку порожніх файлів і каталогів у вказаному каталозі.
find ./GFG -empty>
` find`> Команда визначає та перераховує всі порожні папки та файли в каталозі GFG або його підкаталогах.
Вихід:

Пошук порожніх файлів і каталогів
5. Шукайте файли з певними правами доступу за допомогою команди `find` у Linux
Ця команда використовується для пошуку файлів у каталозі, які мають певні дозволи . У наданому прикладі він визначає файли з дозволами, встановленими на 664, у каталозі GFG.
find ./GFG -perm 664>
Команда шукає файли в каталозі GFG із зазначеними дозволами (664) і відображає результати.
Вихід:

Пошук файлу з введеними дозволами
6. Відображення ієрархії сховища за допомогою команди `find` у Linux
Ця команда використовується для відображення ієрархічної структури сховищ і підсховищ у заданому каталозі.
find . -type d>
Ця команда відображає всі репозиторії та підсховища, наявні в поточному репозиторії. У наведеному нижче прикладі ми зараз перебуваємо в сховищі, а саме techcodeview.com, яке містить репо Linux, яке містить підсховище LinuxCmds, яке також містить репо FindCmd. Вихід cmd нижче просто відображає цю інформацію. Зауважте, що в цьому випадку, якщо ви використовуєте ls cmd, буде показано лише /Linux.
Вихід:

7. Шукайте текст у кількох файлах за допомогою команди `find` у Linux
Ця команда призначена для пошуку рядків, що містять певний текст у кількох файлах. У прикладі шукаються рядки, що містять слово «Geek» у всіх файлах «.txt» у поточному каталог і його підкаталоги.
find ./ -type f -name '*.txt' -exec grep 'Geek' {} ;> Команда шукає файли «.txt» (-type f>і-name '*.txt'>) і використовуєgrep>щоб надрукувати рядки, що містять вказаний текст («Geek»).
Вихід:

Пошук тексту в кількох файлах
8. Знайдіть файли за часом їх зміни Використання команди `find` в Linux
The-mtime>Параметр зручний для пошуку файлів за часом їх модифікації. Щоб знайти файли, змінені протягом останніх 7 днів, ви можете використовувати:
find /path/to/search -mtime -7>
Ця команда покаже список файлів, змінених за останній тиждень.

Пошук останніх змін
У цьому прикладі ми шукаємо зміни в каталозі /home/administrator/Downloads, зроблені за останні 7 днів.
9. Використовуйте Grep для пошуку файлів на основі вмісту Використання команди `find` в Linux
Комбінуючиfind>команда с grep> дозволяє шукати файли за їх вмістом. Наприклад, щоб знайти файли, що містять шаблон слова, у поточному каталозі та його підкаталогах, ви можете використовувати:
find . -type f -exec grep -l 'pattern' {} ;> Ця команда відобразить назви файлів із вказаним вмістом.
Поділ команди:
-
find .>: розпочинає пошук із поточного каталогу (.>). -
-type f>: вказує, що пошук здійснюється лише для файлів, за винятком каталогів. -
-exec grep -l 'pattern' {} ;>: Виконуєgrep>для кожного знайденого файлу ({}>), щоб шукати вказаний вміст (шаблон). The-l>варіант вgrep>забезпечує відображення лише імен файлів, які містять шаблон.
Виконання команди:
- The
find>Команда починає пошук із поточного каталогу, включаючи всі його підкаталоги. - Для кожного файлу (
-type f>) знайдено в пошуку, the-exec>варіант виконуєgrep>команда. - The
grep>команда шукає вказаний вміст (шаблон) у кожному файлі. - Якщо файл містить вказаний вміст, його назва відображається завдяки
-l>варіант вgrep>.
Поширені запитання щодо команди Find у Linux
Чи можу я використовувати команду find для пошуку файлів на основі їх вмісту в Linux?
Так, команду find можна поєднати з grep для пошуку файлів на основі їх вмісту. У статті наведено приклад використання цієї комбінації для пошуку файлів, що містять певний текст.
Як я можу шукати всі каталоги в Linux за допомогою команди find?
Використовувати
-type d>параметр, щоб вказати, що ви шукаєте каталоги. Наприклад:find /path/to/search -type d>The
-type d>прапорець вказує команді find шукати каталоги. Ця команда відобразить список усіх каталогів у вказаному шляху.
Як я можу шукати файли з певною назвою за допомогою команди find у Linux?
Щоб шукати файли з певною назвою, ви можете використовувати
-name>опція з командою find. Стаття містить приклад синтаксису для пошуку файлу з назвою example.txt у домашньому каталозі.
Чи можу я використовувати команду find для пошуку файлів, у вмісті яких є певний текстовий рядок?
Так, ви можете поєднати команду find з grep для пошуку файлів на основі їх вмісту. Наприклад:
find /path/to/search -type f -exec grep -l 'specific_text' {} ;>Ця команда виконує grep для кожного знайденого файлу (
{}>) у пошуку, шукаючи вказаний текст (specific_text). The-l>Параметр у grep забезпечує відображення лише імен файлів, які містять вказаний текст.
Чи чутлива до регістру команда find під час пошуку файлів у Linux?
За замовчуванням команда find чутлива до регістру. Проте стаття знайомить із
-iname>варіант як версія без урахування регістру-name>, що дозволяє користувачам шукати файли з певною назвою чи шаблоном незалежно від регістру.
Висновок
У цій статті ми обговорили команду find, яка є надійним посібником для пошуку та керування файлами. У цій статті досліджено, як команда find може знаходити файли на основі різних критеріїв, від імен до вмісту. Це як суперздатність швидко та гнучко впорядковувати та шукати файли. Незалежно від того, чи є ви досвідченим користувачем Linux, чи тільки починаєте, оволодіння командою find змінить правила гри для ефективної роботи з файлами в командному рядку. Це обов’язковий інструмент, який робить навігацію файлами вашого комп’ютера простою!