3 начина да намерите файл в Linux

Съдържание:

3 начина да намерите файл в Linux
3 начина да намерите файл в Linux

Видео: 3 начина да намерите файл в Linux

Видео: 3 начина да намерите файл в Linux
Видео: Ransomware: Protecting Yourself from online Criminals 2024, Април
Anonim

Намирането на файл в Linux система може да бъде трудно, ако не знаете как. Най -добрият начин да намерите файлове е да използвате няколко различни терминални команди. Усвояването на тези команди може да ви даде пълен контрол над вашите файлове и те са много по -мощни от простите функции за търсене в други операционни системи.

Стъпки

Метод 1 от 3: Използване на „locate“

690519 10 1
690519 10 1

Стъпка 1. Инсталирайте

намерете функционалност.

Командата locate обикновено работи много по -бързо от find, защото работи от база данни на вашата файлова структура. Не всички дистрибуции на Linux идват с инсталирана функционалност за локализиране, затова въведете следните команди, за да опитате да я инсталирате:

  • Въведете sudo apt-get update и натиснете ↵ Enter.
  • Можете да го инсталирате в Debian и Ubuntu така: Въведете sudo apt-get install mlocate и натиснете ↵ Enter. Ако locate вече е инсталиран, ще видите съобщението mlocate вече е най -новата версия.
  • В Arch Linux използвайте мениджъра на пакети pacman: pacman -S mlocate
  • За Gentoo използвайте emerge: emerge mlocate
690519 11 1
690519 11 1

Стъпка 2. Актуализирайте своя

намерете база данни.

Командата locate няма да може да намери нищо, докато базата данни не бъде изградена и актуализирана. Това се случва автоматично всеки ден, но можете да го актуализирате и ръчно. Ще трябва да направите това, ако искате да започнете да използвате locate веднага.

Въведете sudo updatedb и натиснете ↵ Enter

690519 12 1
690519 12 1

Стъпка 3. Използвайте

намерете за извършване на прости търсения.

Командата locate е бърза, но няма толкова опции, колкото командата find. Можете да извършите основно търсене на файлове по същия начин като командата find.

намерете -i "*.jpg"

  • Тази команда ще търси в цялата система файлове с разширение.jpg. Заместващият знак * функционира по същия начин, както с командата find.
  • Подобно на командата find, -i игнорира случая на вашата заявка.
690519 13 1
690519 13 1

Стъпка 4. Ограничете резултатите от търсенето

Ако вашите търсения връщат твърде много резултати за обработка, можете да ги отрежете с помощта на опцията -n, последвана от броя на резултатите, които искате да се показват.

намерете -n 20 -i "*.jpg"

  • Ще се покажат само първите 20 резултата, които съответстват на заявката.
  • Можете също да използвате | тръба за изпращане на резултатите до по -малко за лесно превъртане.

Метод 2 от 3: Използване на „find“

690519 1 1
690519 1 1

Стъпка 1. Потърсете файл по името на файла

Това е най -основното търсене, което можете да извършите с помощта на командата find. Командата по -долу ще търси заявката в текущата директория и всички поддиректории.

find -iname "име на файл"

Използването на -iname вместо -name пренебрегва регистъра на вашата заявка. Командата -name е чувствителна към регистъра

690519 2 1
690519 2 1

Стъпка 2. Настройте търсенето да започне в основната директория

Ако искате да търсите в цялата си система, можете да добавите / модификатора към заявката. Това ще покаже find за търсене във всички директории, започвайки от основната директория.

намери / -име "име на файл"

  • Можете да започнете търсенето в определена директория, като замените /с пътя на директорията, като /home /pat.
  • Можете да използвате a. вместо / да принуди търсенето да се извършва само в текущата директория и поддиректории.
690519 3 1
690519 3 1

Стъпка 3. Използвайте заместващия знак

* за търсене на всичко, което съответства на частта от заявката.

Заместващият знак * може да бъде полезен за намиране на нещо, ако не знаете пълното име или ако искате да намерите всичко с конкретно разширение.

find /home /pat -iname "*.conf"

  • Това ще върне всички.conf файлове в потребителската папка на Pat (и поддиректориите).
  • Можете също да го използвате, за да намерите всичко, което съответства на част от името на файла. Например, ако имате много документи, свързани с wikiHow, бихте могли да ги намерите всички, като напишете „*wiki*“.
690519 4 1
690519 4 1

Стъпка 4. Улеснете управлението на резултатите от търсенето

Ако получавате много резултати от търсенето, може да е трудно да ги пресеете. Използвайте | знак и изпратете резултатите от търсенето в програмата за филтриране "по -малко". Това може да ви позволи да превъртате и да филтрирате резултатите много по -лесно.

find /home /pat -iname "*.conf" | по-малко

690519 5 1
690519 5 1

Стъпка 5. Намерете конкретни видове резултати

Можете да използвате модификатори, за да връщате само конкретни типове резултати. Можете да търсите обикновени файлове (f), директории (d), символни връзки (l), символни устройства (в) и блокови устройства (б), като използвате десния модификатор.

find / -type f -iname "име на файл"

690519 6 1
690519 6 1

Стъпка 6. Филтрирайте резултатите от търсенето по размер

Ако имате много файлове с подобни имена, но знаете размера, който търсите, можете да филтрирате нашите резултати по размер.

намери / -размер +50M -име "име на файл"

  • Това ще върне резултати, които са 50 мегабайта или по -големи. Можете да използвате + или - за търсене на по -големи или по -малки размери. Пропускането на + или - ще търси файлове с точно определения размер.
  • Можете да филтрирате по байтове (в), килобайти (k), мегабайти (M), гигабайти (G) или 512-байтови блокове (b). Имайте предвид, че флагът за размер е чувствителен към регистъра.
690519 7 1
690519 7 1

Стъпка 7. Използвайте логически оператори, за да комбинирате филтри за търсене

Можете да използвате операторите -and, -or и -not, за да комбинирате различни видове търсения в едно.

намери /пътувай снимки -тип f -размер +200k -не -име "*2015*"

Командата ще намери файлове в директорията „travelphotos“, които са с размер над 200 килобайта, но нямат „2015“никъде в името на файла

690519 8 1
690519 8 1

Стъпка 8. Търсете файлове по собственик или разрешения

Ако се опитвате да намерите конкретен файл, собственост на потребител, или файлове с определени разрешения, можете да стесните търсенето.

find / -user pat -iname "име на файл" find / -grup потребители -iname "име на файл" find / -perm 777 -iname "име на файл"

Горните примери ще търсят посочените потребители, групи или разрешения за заявката. Можете също да пропуснете заявката за име на файл, за да върнете всички файлове, които съответстват на този тип. Например, find / -perm 777 ще върне всички файлове с разрешения 777 (без ограничения)

690519 9 1
690519 9 1

Стъпка 9. Комбинирайте команди за извършване на действия, когато файловете са намерени

Можете да комбинирате командата find с други команди, така че да можете да ги изпълните във файловете, които се връщат от заявката. Разделете командата find и втората команда с флага -exec и след това завършете реда с {};

намирам. -тип f -перма 777 -exec chmod 755 {};

Това ще търси в текущата директория (и всички поддиректории) за файлове, които имат 777 разрешения. След това той ще използва командата chmod, за да промени разрешенията на 755

Метод 3 от 3: Търсене на текст във файлове

690519 14 1
690519 14 1

Стъпка 1. Използвайте

греп команда за търсене на низове текст във файлове.

Ако търсите файл, който съдържа определена фраза или низ от знаци, можете да използвате командата grep. Основна команда grep е форматирана, както следва:

grep -r -i "заявка за търсене"/път/към/директория/

  • -R задава търсенето на "рекурсивно", така че ще търси в текущата директория и всички поддиректории за всеки файл, който съдържа низа на заявката.
  • -I показва, че заявката не е чувствителна към регистъра. Ако искате да принудите търсенето да обърне внимание на регистъра, пропуснете оператора -i.
690519 15 1
690519 15 1

Стъпка 2. Изрежете допълнителния текст

Когато извършите греп търсене, както е посочено по -горе, ще видите името на файла заедно с текста със съответстващата заявка. Можете да скриете съответстващия текст и просто да покажете имената и пътищата на файловете, като включите следното:

grep -r -i "заявка за търсене"/път/към/директория/| изрежете -d: -f1

690519 16 1
690519 16 1

Стъпка 3. Скриване на съобщения за грешка

Командата grep ще върне грешка, когато се опитва да осъществи достъп до папки без правилните разрешения или да попадне в празни папки. Можете да изпращате съобщенията за грешка на /dev /null, което ще ги скрие от изхода.

grep -r -i "заявка за търсене"/път/към/директория/2>/dev/null

Препоръчано: