Як знайти файли в терміналі Linux
Linux, незалежно від того, який дистрибутив ви використовуєте, постачається з низкою інструментів GUI, які дозволяють шукати файли. Багато сучасних файлових менеджерів підтримують пошук файлів прямо в списку файлів. Однак існує ряд ситуацій, коли вам потрібно використовувати консоль, наприклад, під час сеансу SSH або коли X-сервер не запускається. Ось як можна швидко знайти файли за допомогою терміналу.
Якщо ви можете використовувати графічний інтерфейс, пошук файлів не є проблемою. У моєму улюбленому середовищі робочого столу XFCE файловий менеджер Thunar дозволяє шукати файли, вводячи назву файлу безпосередньо у списку файлів.
Крім того, є Catfish, популярний інструмент пошуку з індексом пошуку, який може дуже швидко знайти ваші файли.
Я хотів би поділитися методами, які я використовую, коли працюю в терміналі.
Перший метод включає утиліту find, яка існує в будь-якому дистрибутиві, навіть у вбудованих системах, побудованих на busybox. Іншим методом є команда locate.
Щоб знайти файли в терміналі Linux, виконайте наступне.
- Відкрийте свою улюблену програму терміналу. термінал XFCE4 це мої особисті переваги.
- Введіть таку команду:
знайти /шлях/до/папки/ -iname *назва_файлу*
Наведені вище аргументи такі:
/шлях/до/папки/ - папка, у якій почати пошук. Якщо не вказано, пошук буде розпочато в поточному каталозі.
Перемикачі, які я використовую:
-iname - шукати файли та папки, які містять вказану частину в імені, і ігнорувати регістр тексту.Приклад:
Ось команда, яку я можу використовувати, щоб знайти свої статті, які я написав про браузер Opera:
знайти ~/Documents/winaero/ -iname *opera*.txt
- Якщо вам потрібно знайти лише файли або лише папки, додайте параметр -тип f для файлів або -тип d для каталогів. Ось кілька прикладів:
- Щоб знайти нещодавно змінені файли та каталоги, ви можете скористатися наступними параметрами знайти команда:
-mmin n - знайти файли, які були змінені n хвилин тому.-mtime n - знайти файли, які були змінені n*24 години тому. Коли find визначає, скільки 24-годинних періодів тому файл був востаннє доступний, будь-яка дробова частина ігнорується, тому для відповідності -mtime +1 файл повинен бути змінений принаймні два дні тому. - Можна виконати команду для файлів, знайдених за вашим пошуковим запитом. Дивіться такий приклад:
знайти ~/Documents/winaero/ -iname opera45.txt -type f -exec vim {} \;
Тут ми використовуємо параметр -exec для запуску vim текстовий редактор для всіх файлів у результатах пошуку. Частина "{}" означає файли, знайдені знайти команда. "\;" ending вказує кінець команди для -exec варіант.
Команда місцезнаходження
Інструмент пошуку місцезнаходження використовує спеціальну базу даних файлів для миттєвого пошуку файлів. Індекс для команди може бути створений та оновлений за допомогою updatedb команда. Поки результати пошуку з’являються миттєво, вам потрібно підтримувати індекс пошуку та підтримувати його актуальним, інакше команда locate може знайти файли, які були видалені або переміщені в інший каталог.
У загальному випадку синтаксис такий.
знайти -i ім'я_файлу
Параметр -i означає «ігнорувати регістр тексту».
Ось приклад:
Бонусна порада: іншим методом, який я часто використовую, є Midnight Commander (mc), консольний додаток для керування файлами. На відміну від find або locate, mc не включений за замовчуванням у всі дистрибутиви Linux, які я пробував. Можливо, вам знадобиться встановити його самостійно.
Знайдіть файли за допомогою mc
Щоб знайти файли, що містять певний текст за допомогою Midnight Commander, запустіть програму та натисніть на клавіатурі наступну послідовність:
Альт + Зміна + ?
Це відкриє діалогове вікно пошуку.
Заповніть розділ «Назва файлу:» і натисніть клавішу Enter. Він знайде всі файли, які відповідають критеріям.
Ви можете розмістити ці файли на лівій або правій панелі за допомогою Панелізувати і скопіювати/перемістити/видалити/переглянути/робити з ними все, що хочете.
Це воно.