Як знайти файл в linux

Знайти файл в системі Linux досить складно, а то й знати, як це зробити. Найкраще скористатися різними командами, які вводяться в Терміналі. Освоївши такі команди, ви отримаєте повний контроль над файламі- також ці команди більш функціональні, ніж аналогічні пошуковики в інших операційних системах.

кроки

Метод 1 з 3:
утиліта find
  1. Зображення з назвою 690519 1
1. Знайдіть файл за його імені. Такий найпростіший пошук виконується при помощіутіліти find. Наведена нижче команда буде шукати файл в поточному каталозі і у всіх його підкаталогах.
find -iname "ім`я файлу"
  • Введіть -iname замість -name, щоб проігнорувати регістр у веденні імені файлу. команда -name враховує регістр.
  • Зображення з назвою 690519 2
    2. Почніть пошук в кореневому каталозі. Щоб запустити пошук по всій системі, до запиту додайте модифікатор /. В цьому випадку команда find буде шукати файл у всіх каталогах, починаючи з кореневого.
    find / -iname "ім`я файлу"
  • Можна почати пошук в певному каталоге- для цього замініть / на шлях до каталогу, наприклад, / Home / max.
  • Можно використовувати . замість /, щоб шукати файл тільки в поточному каталозі і його підкаталогах.
  • Зображення з назвою 690519 3
    3. Використовуйте символ узагальнення .*, чтобинайті файли, ім`я якого відповідає частині запиту. За допомогою символу узагальнення * можна знайти файл, повне ім`я якого невідоме, або знайти всі файли з певним розширенням.
    find / home / max -iname "*.conf"
  • Ця команда знайде всі файли з розширенням .conf в папці користувача Max (і її підпапках).
  • Скористайтеся цією командою, щоб знайти все файл, імена яких відповідають частині запиту. Наприклад, якщо на комп`ютері зберігається безліч файлів, пов`язаних з WikiHow, знайдіть всі файли, ввівши "* Wiki *".
  • Зображення з назвою 690519 4
    4. Полегшите управління результатами пошуку. Якщо результатів пошуку дуже багато, серед них складно знайти потрібний файл. використовуйте символ |, щоб результати пошуку фільтрувалися командою less. Це полегшить перегляд і фільтрування результатів пошуку.
    find / home / max -iname "*.conf" | less
  • Зображення з назвою 690519 5
    5. Знайдіть конкретні елементи. Використовуйте модифікатори, щоб в результатах пошуку відобразити тільки певні елементи. Можна шукати звичайні файли (ф), Каталоги (д), Символьні посилання (л), Пристрої посимвольного введення-виведення (з) І блокові пристрої (в).
    find / -type f -iname "ім`я файлу"
  • Зображення з назвою 690519 6
    6. Фільтрувати результати пошуку за розміром файлів. Якщо на комп`ютері зберігається безліч файлів зі схожими іменами, але розмір шуканого файлу відомий, відфільтруйте результати пошуку за розміром файлів.
    find / -size + 50M -iname "ім`я файлу"
  • Ця команда знайде всі файли, розмір яких перевищує 50 МБ. використовуйте модифікатор + або -, щоб вказати на збільшення або зменшення розміру. якщо модифікатора + або - немає, команда знайде файли, розмір яких точно співпадає з розміром.
  • Результати пошуку можна відфільтрувати по байтам (з), Кілобайтам (до), Мегабайтам (М), Гігабайтам (G) Або блокам по 512 байт (в). Зверніть увагу, що наведені модифікатори враховують регістр.
  • Зображення з назвою 690519 7
    7. Використовуйте логічні оператори (булеві оператори), щоб об`єднати пошукові фільтри. Можна використовувати оператори -and, -ор, -not, щоб об`єднати різні пошукові запити в один запит.
    find / travelphotos -type f -size + 200k -not -iname "* 2015 *"
  • Ця команда знайде файли в папці «Travelphotos», розмір яких більше 200 кБ і в іменах яких немає числа 2015.
  • Зображення з назвою 690519 8
    8. Знайдіть файли по власнику або дозволами. Якщо потрібно знайти файл, що належить конкретному користувачеві, або файл з певними правами доступу, можна звузити пошук.
    find / -user max -iname "ім`я файлу"find / -group users -iname "ім`я файлу"Фінден / -Перм 777 -інате "ім`я файлу"
  • Наведені вище команди знайдуть файл певного користувача, групи або з конкретними правами доступу. Також в запиті ім`я файлу можна опустити, щоб знайти всі файли, що відповідають зазначеним критеріям. Наприклад, команда find / -perm 777 знайде всі файли з правами доступу 777 (без обмежень).
  • Зображення з назвою 690519 9
    я. Об`єднайте команди, щоб виконати певні дії по завершенні пошуку файлів. команду find можна об`єднати з іншими командами, які опрацюють знайдені файли. Для цього між командою find і другою командою введіть -exec, а в кінці рядка введіть {} Е-
    find . -type f -perm 777 -exec chmod 755 {} -
  • Ця команда знайде в поточному каталозі (і його підкаталогах) всі файли з правами доступу 777, а потім за допомогою команди chmod права доступу зміняться на 755.
  • Метод 2 з 3:
    утиліта locate
    1. Зображення з назвою 690519 10
    1. встановіть утиліту .locate. Ця утиліта працює швидше утиліти find, бо не сканує файлову систему по-справжньому. Однак, не всі дистрибутиви Linux поставляються з утилітою locate, тому введіть наступні команди, щоб встановити її:
    • Введіть sudo apt-get update та натисніть ↵ Enter.
    • В Debian і Ubuntu зробіть наступне: введіть sudo apt-get install mlocate та натисніть ↵ Enter. якщо locate вже встановлена, відобразиться повідомлення mlocate is already the newest version (Встановлено остання версія).
    • У Arch Linux використовуйте менеджер пакетів pacman: Пасман -Сю млокате
    • У Gentoo використовуйте emerge: emerge mlocate
  • Зображення з назвою 690519 11
    2. Оновлення базу утиліти .locate. Ця утиліта не зможе знайти що-небудь без попередньо створеної і оновленої бази (в якій зберігається подібність зліпка з файлової системи).База оновлюється щодня в автоматичному режимі, але це можна зробити і вручну. Оновлення базу вручну, щоб негайно приступити до роботи з locate.
  • Введіть sudo updatedb та натисніть ↵ Enter.
  • Зображення з назвою 690519 12
    3. використовуйте .locate, щоб виконувати прості пошукові запити. утиліта locate працює швидко, але вона не так функціональна, як утиліта find. команда locate обробляє прості пошукові запити аналогічно команді find.
    locate -i "*.jpg"
  • Ця команда знайде (у всій системі) всі файли з розширенням .jpg. Тут символ узагальнення * працює так само, як у команди find.
  • Як і у команди find, модифікатор ігнорує регістр пошукового запиту.
  • .
  • Зображення з назвою 690519 13
    4. Обмежте кількість результатів пошуку. Якщо результатів пошуку дуже багато, скоротіть їх за допомогою модифікатора і числа, яке визначає кількість відображуваних результатів пошуку.
    locate -n 20 -i "*.jpg"
  • Ця команда призведе до відображення перших 20 результатів, які відповідають пошуковому запиту.
  • Також можна використовувати символ |, щоб результати пошуку фільтрувалися командою less. Це полегшить перегляд результатів пошуку.
  • Метод 3 з 3:
    Пошук тексту в файлах
    1. Зображення з назвою 690519 14
    1. використовуйте команду .grep, щоб шукати текст у файлах. Зробіть це, щоб знайти файл, який містить певну фразу або рядок. Основний формат команди grep виглядає наступним чином:
    grep -r -i "пошуковий запит" / Шлях / до / каталогу /
    • модифікатор робить пошук рекурсивним, тому в поточному каталозі (і всіх підкаталогах) буде знайдений будь-який файл, що містить рядок з пошукового запиту.
    • модифікатор вказує на те, що запит не враховує регістр. Щоб врахувати регістр, не вводьте модифікатор .
  • Зображення з назвою 690519 15
    2. Сховайте зайвий текст. При виконанні команди grep (Як описано вище) на екрані відобразиться ім`я файлу і текст з виділеної фразою або рядком, зазначеної в пошуковому запиті. Такий текст можна приховати, щоб відобразити тільки ім`я файлу і шлях до нього. Для цього введіть наступну команду:
    grep -r -i "пошуковий запит" / Шлях / до / каталогу / | cut -d: -f1
  • Зображення з назвою 690519 16
    3. Сховайте повідомлення про помилки. команда grep виводить повідомлення про помилку, якщо намагається отримати доступ до папок без належних дозволів або потрапляє в порожні папки. Такі повідомлення можна відправити в / dev / null, щоб вони не відображалися на екрані.
    grep -r -i "пошуковий запит" / Шлях / до / каталогу / 2>/ Dev / null
  • Cхоже