Linux: пошук файлів за допомогою терміналу
Кожна людина за своє життя хоче встигнути зробити якомога більше справ. На жаль, вирішує це не він. Час - ось чого вічно не вистачає кожному з нас. Однак людина придумала безліч способів, як прискорити ту чи іншу операцію, ту чи іншу дію.
Йтиметься сьогодні нема про настільки глобальному, швидше про мелочном, в якомусь сенсі навіть необхідному. Про те, як здійснюється в Linux пошук файлів. Про те, як цей процес прискорити в кілька разів і як автоматизувати пошук необхідних файлів до межі.
Простий пошук файлів
Зараз буде розглянуто випадок, коли на Linux пошук файлів необхідно здійснити, знаючи лише деякі його властивості (ім`я, формат або розмір). Знаючі люди вже зрозуміли, що для цього необхідно використовувати команду find.
Отже, припустимо, у нас на комп`ютері, десь в домашній папці, знаходиться картинка, яка називається «Покемон.jpg», але ми не пам`ятаємо, де саме вона лежить.
Для того щоб не відкривати по черзі кожну папку, можна скористатися командою find, а саме прописати в терміналі:
find / home -name "Покемон.jpg" -print |
Відразу ж з`явиться шлях до цього файлу. Але щоб було зрозуміліше, варто все пояснити. Ділянка «/ home» позначає, що пошук файлу буде проводитися в домашньому каталозі. «-name» Прописується в разі, якщо пошук ведеться по імені, далі в лапках вказується повне ім`я файлу. І «-print» в кінці дає команду виведення знайдених результатів на екран.
Тепер давайте змоделюємо ситуацію, коли ви не знаєте формат файлу. У цьому випадку команда буде виглядати так:
find / home -name "покемон *" -print |
В даному випадку в кінці імені файлу ставиться «*». Це означає, що будуть знаходитися всі файли з ім`ям «Покемон», будь то картинка, документ або музика.
Відео: Команди терміналу Linux. Урок 1. Основа роботи з файлами
Для того щоб знайти файл певного формату, наприклад «.jpg», необхідно вписати:
find / home -name "* .jpg" -print |
Думаємо, залежність ясна. І стало ясно, як здійснюється в Linux пошук файлів.
Пошук тексту в файлах
Багато людей звикли, що пошук в тексті певного слова або словосполучення можна провести, відкривши текст в Word або подібній програмі і провівши там пошук, але на Linux пошук тексту в файлах проводиться набагато швидше і в якійсь мірі простіше.
Відео: MacOS. Пошук файлів за назвою за допомогою терміналу і регулярних виразів.
В першу чергу забуваємо про команду «find», вона в цьому випадку нам не допоможе. Тепер ознайомимося з командою «grep». Саме вона допоможе відшукати у величезній стіні тексту слова, які необхідні.
Припустимо, у вас на комп`ютері є текстовий документ, в якому є фраза «Люблю Лінукс» і ви знаєте, що він розташований в папці: «/ home / user». Так ось, щоб знайти в цьому документі потрібний нам текст, необхідно ввести команду:
grep "люблю Лінукс" /home/user/*.txt |
Синтаксис тут дуже простий. Після grep в лапках вказуються шукані слова, а далі потрібно прокласти шлях до файлу, де їх необхідно шукати, і в кінці вказати формат файлу.
Пошук великих файлів
У Linux пошук великих файлів здійснюється найчастіше у випадках, коли на диску вже мало місця, і необхідно терміново видалити великовагові файли.
Тут є два варіанти, як швидко знайти і видалити такі файли. Кардинально вони нічим не відрізняються, і тільки вам вирішувати, яким користуватися.
Перша команда дозволить знайти нам файли розміром більше зазначеного:
find / -size + 1G -print |
В даному випадку ми бачимо, що зазначений розмір «+ 1G», це означає, що перебувати будуть файли більше 1 Гб, якщо замість плюса стояв би мінус, це означало б, що шукалися файли не перевищує зазначений. Але цей метод поганий з однієї причини: якщо таких файлів виявиться дуже багато, ви дуже довго будете їх перебирати, тому є ще другий варіант.
Вводите в командний рядок:
find / -mount -type f -ls 2gt; / Dev / null | sort -rnk7 | head -10 | awk `{printf "% 10d MB t% s n", ($ 7/1024) / 1024, $ NF} ` |
Після цього вам на екран здадуться десять файлів, починаючи з самого великого. Це допоможе заощадити час на пошук відповідного варіанту для видалення.
Перед виконанням цих команд рекомендується прописати команду «sudo su», щоб отримати права суперкористувача, так як пошук файлів буде зачіпати і root.
Пошук копій файлів
Часто так буває, що при тривалому застосуванні комп`ютера на ньому з`являються дублікати вже створених файлів. Виникають вони з багатьох причин, однією з яких є необережність. Звичайно, нічим серйозним це не загрожує, але ось місце все ж займає, тому, щоб швидко все їх видалити, потрібно виконати на Linux пошук дублікатів файлів.
Як і минулого разу, зробити це можна двома способами, але зупинимося на одному, який простіше.
Можна завантажити спеціальну утиліту прописавши в терміналі:
sudo apt-get install fslint |
Її відмінність від інших варіантів полягає в тому, що у неї є графічний інтерфейс, що полегшить роботу з нею новачкам.
Запустивши її, можете відразу ж натискати пошук, за замовчуванням він буде проводитися в домашній директорії. При бажанні можна вибрати будь-який каталог.
Альтернативні варіанти пошуку
Звичайно ж, запам`ятати всі перераховані вище команди не кожному під силу, та й, чесно кажучи, без толку, а записувати на папірець теж не варіант. Саме тому необхідно розповісти про альтернативу, яка в сто разів простіше, хоча й затратна по часу.
Першим варіантом, якщо вам необхідно знайти файл на ім`я, буде пошук з провідника. Просто виберіть папку, в якій імовірно знаходиться необхідний файл, і в пошуковому рядку, яка знаходиться вгорі праворуч, впишіть його назву. Туди можна також вписати і формат файлу.
Другий варіант підходить у випадку, якщо вам необхідно здійснити пошук рядка у файлах Linux. Скачайте LibreOffice і скопіюйте туди свій текст. Після натисніть клавіші Ctrl + F і в проявилася рядку введіть необхідне поєднання слів.
Ось, в принципі, і все. Так можна швидко знайти шукане, що не запам`ятовуючи команди.
Відео: Основи роботи в терміналі linux ubuntu / xubuntu.
висновок
Як видно, на Linux пошук файлів можна здійснити різними способами. Деякі з них краще, деякі гірше, все залежить від ситуації. У будь-якому випадку, прочитавши цю статтю, ви тепер можете це зробити. Користуючись командним рядком деякий час, ви запам`ятаєте більшість команд і потім зможете прискорити процес в кілька разів.