Оновлення пошуку: пошук файлів у вашому дистрибутиві Linux

Збільшувальне скло

Пошук файлів і каталогів порівняно простий за допомогою сучасних пошукових систем, інтегрованих у файлові менеджери, але іноді нам може сподобатися використовувати термінал більше, або у нас може не залишитися іншого вибору, крім використання терміналу, оскільки у нас немає графічного середовища. Так, Мені було цікаво переглянути знахідку, добре відома команда, але щось забуте масовим використанням графічних середовищ.

Ну, знайти, як випливає з назви, ні до чого, крім щоб знайти файли, хоча у нього є й інші альтернативи, такі як locate тощо, ми зосередимося на пошуку, оскільки він є досить потужним і дає нам багато цікавих варіантів для успішного пошуку. Якщо ми використовуємо його як є, без будь-якої опції, він буде запускати список, подібний до того, який ми отримали б за допомогою ls, вмісту цілого каталогу (та підкаталогів).

Але це не те, що нас цікавить, що ми хочемо, це налаштувати та вдосконалити ще трохи пошук буде точнішим і допоможе нам знайти те, що насправді шукаємо. Щоб зрозуміти, як це працює, я думаю, що немає кращого способу, ніж показати практичні приклади пошуку:

  • Шукати по імені, ми можемо використовувати опцію або критерії пошуку «-назви». Наприклад, перший приклад шукає файли / каталоги з іменем, що починається на "musi", другий, який закінчується на "eon", і останній, що містить слово "знайдено" всередині кореневого каталогу / каталогу:
find / -name "musi*"

find / -name "*eon"

find / -name "fundar"

  • Існує опція -type, яка може служити фільтром і може використовуватися разом із -name. У цьому випадку це служить укажіть тип файлу для пошуку. За допомогою B ми шукаємо спеціальні файли в блочному режимі, C - для спеціальних файлів у символьному режимі, D - для каталогів, F - для звичайних файлів, L - для символічних посилань, P - для іменованої труби та S - для Socket або мережевого підключення. Наприклад, припустимо, ви хочете шукати каталог, який має кінець "привіт" в кінці свого імені та в каталозі Home / user:
find /Home/usuario -name "*hola" -type D

  • Ми також можемо пошук за користувачем або групою, до якої він належить каталог або файли в системі. Для цього ми можемо використовувати критерії -user та -group. А тепер уявіть, що ви хочете знайти файл, який містить «.mp3» користувача «Rosa» та групи «Кішки» в каталозі Завантаження:
find /Descargas -name ".mp3" -user Rosa -group Gatos

  • Розмір може допомогти нам шукати за розміром. У цьому випадку ми маємо різні варіанти застосування. A B вказує на блок, якщо розмір не вказаний, за замовчуванням це буде 512 байт. C для 1-байтових символів ASCII, W для 2-байтових (старих) слів і K для кілобайт або 1024 байт. Наприклад, якщо ми хочемо шукати у / для файлу 2560 байт (5 блоків · 512), ще один із 10 символів ASCII, інший - 100 КБ, один - менше 5 МБ і інший - більше 30 КБ:
find / -size 5

find / -size 10c

find / -size 100K

find / -size -5000K

find / -size +30K

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

  • Можна навіть пошук за часовими критеріями. За допомогою -atime ви можете шукати за датою останнього доступу. -mtime за датою модифікації вмісту та -ctime за датою останньої модифікації inode. Наприклад, ми хочемо здійснити пошук в / Home, в каталозі під назвою "hello", що належить користувачеві "Zaca" і який був змінений менше 3 днів тому:
find /Home -name "hola" -user Zaca -mtime -3

  • Критеріїв більше пошук, такий як -perm для пошуку дозволів доступу або дозволів, -посилання для пошуку жорстких посилань, -inum для номера inode. Давайте підемо з нашим останнім прикладом, у цьому випадку ми будемо шукати каталог у поточному каталозі, дозволи якого є загальним для власника користувача та групи, і виконання для решти:
find -type d -perm 771

Іноді ми не підозрюємо про потенціал терміналу і використовуємо інші інструменти, які можуть не дозволити гнучкості того, що вже є вродженим. Тож я сподіваюся, що я чомусь допоміг цій скромній статті. Веселіться та залишайте свої коментарі...


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   номі - сказав він

    Мене це не розважає, але це мені трохи допомогло