Знайдіть свої файли без зусиль з командного рядка в Linux
Зазвичай користувачі намагаються знайти файл за допомогою графічного інтерфейсу. Однак іноді знайти окремий файл у величезній купі файлів у вашій системі стає дуже виснажливим завданням. Знайти його звичайним способом може зайняти багато часу. Щоб полегшити це завдання, Linux пропонує певні команди для виконання цієї роботи за вас.
знайти
це популярна команда, яка використовується в системах Linux, яка може допомогти вам шукати різні файли на основі їх імен, типу, розширення, дозволів, власника тощо.
У цьому підручнику ми зосередимося на пошуку файлів за іменами. Ми розглянемо різні аргументи, які можна використовувати з знайти
команда. Ми також дізнаємося про знайти
команду, яка також є швидшим способом пошуку файлів за назвою.
Синтаксис для знайти
команда
Використання знайти
правильна команда може полегшити ваше завдання. Знайти файли певного типу чи розширення або шукати за назвою буде можливо, якщо ви добре розумієте загальний синтаксис цієї команди.
Загальний синтаксис для знайти
команда виглядає наступним чином.
знайти [шлях_пошуку] [вираз] [параметри] [знайти_що]
Я спробував спростити синтаксис знайти
команда, щоб краще зрозуміти команду.
Давайте розглянемо кожен атрибут синтаксису, щоб отримати уявлення про значення кожного з них.
Пошук_Шлях: Ось шлях, де ми вказуємо шлях, з якого ми хочемо, щоб система розпочала пошук файлу. Коротше кажучи, вказано початковий каталог для початку пошуку.
Вираз: Ви можете вказати шаблони пошуку для конкретного файлу, який ви шукаєте.
Параметри: Ви можете використовувати доступні параметри, які використовуються з знайти
команду в цьому просторі.
знайти що: у цьому атрибуті введіть назву або частину назви файлу, який потрібно шукати.
Давайте проілюструємо цю команду на прикладі.
знайти /home/gaurav/workspace -ім'я "source.c"
У цій команді я використовую знайти
команда для пошуку файлу «source.c». Я спеціально попросив здійснити пошук у шляху «/home/gaurav/workspace». Використання - ім'я
Опція дозволяє мені шукати файл, зазначений у «source.c».
Це найпростіша демонстрація використання знайти
команда.
Пошук файлів у поточному каталозі
Використання знайти
У найпростішій формі команда шукає ваші файли у поточному робочому каталозі.
знайти .
Ця команда відобразить усі файли у вашому поточному робочому каталозі. Тут ".
‘ означає «поточний робочий каталог». Нижче наведено вихід з мого поточного робочого каталогу. Усі файли в цьому каталозі відображаються без будь-яких фільтрів
Вихід:
. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE
Щоб знайти файл, приблизна назва якого відома, скористайтеся знайти
команду, як показано нижче.
знайти . -ім'я [рядок_з_ім'я_файлу\*]
Приклад:
знайти . - контекст імені\*
Ця команда шукає файли, які містять рядок «контекст».
Вихід:
./context_log.policy ./context.xml ./context_preview.c
Відображаються всі файли в поточному каталозі, який містить у ньому рядок «контекст».
Тепер проблема виникає з цією командою, коли ви намагаєтеся набратися чутливості до регістру, вводячи ім’я файлу або приблизний рядок.
Linux досить обережно ставиться до чутливості до регістру, і, отже, є велика ймовірність, що ваш пошук може бути невдалим. Я не отримаю вихід для команди find, якщо використовуватиму рядок як «CONTEXT» замість «context». Навіть якщо одна літера в назві файлу знаходиться в іншому регістрі, ніж у вихідному імені файлу, пошук не вийде.
Але турбуватися про це не варто. Ви можете просто замінити - ім'я
варіант з -ім'я
. Це дозволяє шукати файли незалежно від випадків, у яких вони називаються. Просто внесіть цю просту зміну у свою команду, і все буде добре.
знайти . -iname CONT\*
Вихід буде таким же, навіть якщо я використав рядок у верхньому регістрі.
./context_log.policy ./context.xml ./context_preview.c
Пошук файлів у різних каталогах
Ви можете легко шукати файли в будь-якому каталозі в системі Linux, незалежно від каталогу, в якому ви зараз працюєте.
знайти [шлях_каталогу] -iname [конкретне_ім'я_файлу]
Приклад:
знайти /home/gaurav/tomcat -iname ath.html
Тут я шукав конкретний файл «ath.html», а не файли, подібні до цього рядка. Таким чином, на виході буде лише певний файл, як зазначено вище.
/home/gaurav/tomcat/ath.html
Тепер припустимо, що ми знаємо не повне ім’я файлу, а лише рядок цього імені файлу. Тоді ми можемо шукати файли наступним чином.
знайти /home/gaurav/tomcat -iname ath\*
Ця команда шукатиме всі файли, які містять рядок «ath» на початку. Я використовував -ім'я
опція тут, тому мені не потрібно турбуватися про чутливість до регістру.
Вихід:
/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html
Ви також можете використовувати цю команду для пошуку кількох файлів, назви яких закінчуються подібним розширенням.
Приклад:
знайти /home/gaurav/tomcat -iname "*.c"
Команда шукатиме всі файли у вказаному каталозі, який містить .c як розширення в імені файлу.
Вихід:
/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c
Ми дізналися про знайти
команда для пошуку файлів, зазначених за назвою файлу. Тепер давайте розглянемо ще одну команду, яка є швидшою за звичайну знайти
команда.
знайти
огляд команд
Існує ще одна команда для пошуку файлів у вашій системі, яка працює швидше, ніж команда знайти
команда. Це знайти
команда. Ця команда не попередньо встановлена в дистрибутивах Linux. Ви можете виконати наступні кроки, щоб завантажити та встановити знайти
пакет команд у вашу систему.
Для систем Ubuntu та Debian, використовуйте:
sudo apt update sudo apt install mlocate
Для систем Cent Os і Fedora, використовуйте:
sudo yum встановити mlocate
Команда locate шукає файл відповідно до заданого шаблону у введених даних. знайти
використовує файл бази даних для пошуку файлів, цей файл бази даних створюється updatedb
команда.
sudo updatedb
Час, необхідний для оновлення цього файлу бази даних, може відрізнятися від користувача до користувача залежно від файлів у вашій системі.
Використання знайти
команда
Ви можете використовувати знайти
командувати наступним чином. Обов’язково оновіть файл бази даних за допомогою команди sudo updatedb
.
Синтаксис:
знайти [ім'я_файлу_або_частини_файлу]
Ця команда розпочне пошук із кореневого каталогу. Він поверне список усіх файлів у системі, який містить ім’я файлу або частину імені файлу, як зазначено в команді.
Приклад:
знайдіть copy.c
Вихід:
/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr3/lib/python .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.c -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png
Виділений рядок показує, що знайдено точний файл «copy.c». Поряд з цим результатом також відображаються деякі інші файли, які містять «copy.c» як частину назви файлу.
Щоб уникнути захаращення інших небажаних файлів і знайти лише потрібний файл, ви можете скористатися командою locate наступним чином.
знайти -b '\ім'я файлу'
Приклад:
знайти -b '\copy.c'
Вихід:
/home/gaurav/Downloads/git-2.23.0/copy.c
Конкретний файл, згаданий у критеріях пошуку, перелічується разом із шляхом до каталогу, де він розташований.
Використання знайти
Команда може здатися трохи складною, але є швидшим методом пошуку файлів, коли ви не знаєте точного розташування цього файлу. Отримання файлів стає надзвичайно швидким, якщо ви оновили файл бази даних, який використовує команда locate.
Висновок
У цьому короткому посібнику ми дізналися про дві важливі команди, знайти
і знайти
. Тепер ви можете легко шукати файли у вашій системі, не губляючись у купі файлів. Використання цих команд, безсумнівно, заощадить час і буде ефективним для вашого завдання пошуку файлів.