Як знайти файл в linux
Знайти файл в системі Linux досить складно, а то й знати, як це зробити. Найкраще скористатися різними командами, які вводяться в Терміналі. Освоївши такі команди, ви отримаєте повний контроль над файламі- також ці команди більш функціональні, ніж аналогічні пошуковики в інших операційних системах.
кроки
Метод 1 з 3:
утиліта find1. Знайдіть файл за його імені. Такий найпростіший пошук виконується при помощіутіліти find. Наведена нижче команда буде шукати файл в поточному каталозі і у всіх його підкаталогах.
find -iname "ім`я файлу"
- Введіть -iname замість -name, щоб проігнорувати регістр у веденні імені файлу. команда -name враховує регістр.
2. Почніть пошук в кореневому каталозі. Щоб запустити пошук по всій системі, до запиту додайте модифікатор /. В цьому випадку команда find буде шукати файл у всіх каталогах, починаючи з кореневого.
find / -iname "ім`я файлу"
3. Використовуйте символ узагальнення .*, чтобинайті файли, ім`я якого відповідає частині запиту. За допомогою символу узагальнення * можна знайти файл, повне ім`я якого невідоме, або знайти всі файли з певним розширенням.
find / home / max -iname "*.conf"
4. Полегшите управління результатами пошуку. Якщо результатів пошуку дуже багато, серед них складно знайти потрібний файл. використовуйте символ |, щоб результати пошуку фільтрувалися командою less. Це полегшить перегляд і фільтрування результатів пошуку.
find / home / max -iname "*.conf" | less
5. Знайдіть конкретні елементи. Використовуйте модифікатори, щоб в результатах пошуку відобразити тільки певні елементи. Можна шукати звичайні файли (ф), Каталоги (д), Символьні посилання (л), Пристрої посимвольного введення-виведення (з) І блокові пристрої (в).
find / -type f -iname "ім`я файлу"
6. Фільтрувати результати пошуку за розміром файлів. Якщо на комп`ютері зберігається безліч файлів зі схожими іменами, але розмір шуканого файлу відомий, відфільтруйте результати пошуку за розміром файлів.
find / -size + 50M -iname "ім`я файлу"
7. Використовуйте логічні оператори (булеві оператори), щоб об`єднати пошукові фільтри. Можна використовувати оператори -and, -ор, -not, щоб об`єднати різні пошукові запити в один запит.
find / travelphotos -type f -size + 200k -not -iname "* 2015 *"
8. Знайдіть файли по власнику або дозволами. Якщо потрібно знайти файл, що належить конкретному користувачеві, або файл з певними правами доступу, можна звузити пошук.
find / -user max -iname "ім`я файлу"find / -group users -iname "ім`я файлу"Фінден / -Перм 777 -інате "ім`я файлу"
я. Об`єднайте команди, щоб виконати певні дії по завершенні пошуку файлів. команду find можна об`єднати з іншими командами, які опрацюють знайдені файли. Для цього між командою find і другою командою введіть -exec, а в кінці рядка введіть {} Е-
find . -type f -perm 777 -exec chmod 755 {} -
Метод 2 з 3:
утиліта locate1. встановіть утиліту .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
2. Оновлення базу утиліти .locate. Ця утиліта не зможе знайти що-небудь без попередньо створеної і оновленої бази (в якій зберігається подібність зліпка з файлової системи).База оновлюється щодня в автоматичному режимі, але це можна зробити і вручну. Оновлення базу вручну, щоб негайно приступити до роботи з locate.
3. використовуйте .locate, щоб виконувати прості пошукові запити. утиліта locate працює швидко, але вона не так функціональна, як утиліта find. команда locate обробляє прості пошукові запити аналогічно команді find.
locate -i "*.jpg"
4. Обмежте кількість результатів пошуку. Якщо результатів пошуку дуже багато, скоротіть їх за допомогою модифікатора -н і числа, яке визначає кількість відображуваних результатів пошуку.
locate -n 20 -i "*.jpg"
Метод 3 з 3:
Пошук тексту в файлах1. використовуйте команду .grep, щоб шукати текст у файлах. Зробіть це, щоб знайти файл, який містить певну фразу або рядок. Основний формат команди grep виглядає наступним чином:
grep -r -i "пошуковий запит" / Шлях / до / каталогу /
- модифікатор -р робить пошук рекурсивним, тому в поточному каталозі (і всіх підкаталогах) буде знайдений будь-який файл, що містить рядок з пошукового запиту.
- модифікатор -і вказує на те, що запит не враховує регістр. Щоб врахувати регістр, не вводьте модифікатор -і.
2. Сховайте зайвий текст. При виконанні команди grep (Як описано вище) на екрані відобразиться ім`я файлу і текст з виділеної фразою або рядком, зазначеної в пошуковому запиті. Такий текст можна приховати, щоб відобразити тільки ім`я файлу і шлях до нього. Для цього введіть наступну команду:
grep -r -i "пошуковий запит" / Шлях / до / каталогу / | cut -d: -f1
3. Сховайте повідомлення про помилки. команда grep виводить повідомлення про помилку, якщо намагається отримати доступ до папок без належних дозволів або потрапляє в порожні папки. Такі повідомлення можна відправити в / dev / null, щоб вони не відображалися на екрані.
grep -r -i "пошуковий запит" / Шлях / до / каталогу / 2>/ Dev / null