Търсене в Linux с find. Използване на Find and Locate за намиране на файлове на Linux сървър Linux намира файлове, които не съдържат

Здравейте на цялата общност на Хабр.
Това е първата ми публикация и се надявам да не е последната. Затова всякакви недостатъци, бъгове и малко воднисти в текста са неизбежни, така че моля не съдете строго :)
За да напиша тази публикация бях подтикнат от темата „Конзола за начинаещ“. , където ISVir повдигна остра, според мен, тема - как да разкажем на новодошлите за конзолата на достъпен език, без да ги плашим с въображаема свръхсложност.

Няма да отнемам паритета от ISVir, просто ще ви разкажа за практическото използване на няколко от най-основните помощни програми "за всеки ден", без които работата в конзолата е невъзможна за мен.

И така, какво имаме:

намирам- търсене на файлове. ви позволява да търсите файлове, директории, символни връзки и други файлови обекти. find Позволява ви да зададете много опции за търсене, като например:

  • търсене по маска (по име)
  • контрол на дълбочината на гнездене на търсене
  • търсене на конкретни типове файлове (директория, символни връзки, сокети)
  • търсене по време на създаване / модификация на файл
  • можете да зададете размера (от и до в диапазона) на файла
  • извършване на действия с всеки намерен файл
в мана за намиране, можете да прочетете за останалите опции и параметри.

Така че, веднага - потърсете всички файлове в директорията / etc /, които са се променили през последните 24 часа:

$ find / etc / -type f -mtime -1

нека анализираме написаното от нас:

Първият параметър винаги е началната директория за търсене.
опция -Типс параметър еговори намирамче трябва да търсите само обикновени файлове.
опция -mtimeс параметър -1 показва намирамче трябва да намерите файлове, които са се променили през последните 24 часа.
"-" отпред 1 задава горната граница на диапазона, т.е. "Всичко, което се промени през последните 24 часа"

Ако посочихме "+" отпред 1 , тогава намирамще намери всички файлове, които са променени от 01/01/1970 до вчера (преди повече от ден)
можете също да посочите точната дата, като поставите число без модификатор.

Извършване на действия с намерени файлове.
опция -execприема ред с команда, която ще бъде изпълнена за всеки намерен файл
параметърът, предаван на командата, се обозначава с {}
редът трябва да завършва с "\;"

Нека разгледаме пример:
* Намерете в директорията /tmp всички файлове, които са се променили през последния месец и ги копирайте в директорията
/ tmp / архивиране /

$ find / tmp -type f -mtime -30 -exec cp () / tmp / backup \;

* изтриване на всички директории (рекурсивно) с имена, които са се променили през последния ден в директория
/ вар / www
$ find / var / www -type d -mtime 0 -name logs -exec sudo rm -fr () \;

параметър дв опция -Типпоказва търсене само на директории
опция -имеопределя търсене по име.
тук си струва да добавим, че не е оптимално да изтривате файлове по този начин (бавно).
find има вградена опция -delete за изтриване, което е с порядък по-бързо.

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

Първо, awk може да получава данни от STDIN: $ echo "тест" | awk ...
второ, awk е ефективен при писане на едноредови в конзолата, т.к изпълнява кода, даден му като параметър:


awk разделя входния поток на полета и поставя тези полета в променливи като $ 1, $ 2, .. $ N
по подразбиране разделителят на полета е интервал, но с опцията -F "_разделител_"това може да бъде отменено:
$ глава -4 / etc / passwd
root: x: 0: 0: root: / root: / bin / bash
демон: x: 1: 1: демон: / usr / sbin: / bin / sh
bin: x: 2: 2: bin: / bin: / bin / sh
sys: x: 3: 3: sys: / dev: / bin / sh

$ cat / etc / passwd | awk -F ":" "(отпечатайте $ 1)"
корен
демон
кошче

Например, имаме няколко сайта в директорията / var / www. за всеки сайт има директория с логове, където се записват логовете на Apache (за този сайт).И сега искаме да разберем общия обем на тези логове, както и да намерим всички логове над 100Mb.

1.търсене на големи дневници:

$ find / var / www -type f -name "access.log *" -size + 100M
/var/www/site1/logs/access.log
/var/www/site2/logs/access.log.1.gz

2. Нека изчислим общия обем на трупите:

Намерете / var / www / -type f -name "access.log *" -exec du -k () \; | awk "(s + = $ 1) END (print s)"
5071604


така че не се плашете - ще обясня всичко веднага :)

Намерете търсения за всички файлове по маска (access.log *) и стартирайте командата за всеки ду.
команда дуотпечатва размера на файла. опция прави изхода в килобайти.
след това процесорът се стартира awk, просто сумира първото поле от низове (числа) в променлива си отпечатва стойността на променливата на екрана.

Друг пример: намерете в системата всички файлове и директории, принадлежащи на потребителя тест1и изчислете общия обем.

#find / -user test1 -exec du -sm () \; | awk "(s + = $ 1) END (print s)"

тези. тук с опция - потребителнамерете търсения на файлове, принадлежащи на потребителя test1 и за всеки файл / директория изчислете неговия размер (команда du)
след това awk приема тези данни през конвейера и, както направихме по-горе, изчислява тяхната сума в Kb.

ДОБРЕ. Мисля, че това е достатъчно за днес.
публикацията излезе доста голяма, явно по навик :)

Искам да кажа веднага - не си поставих за цел просто да ви разкажа за използването на find и awk, а да дам примери за практическо приложение в реални ситуации.
ако ви хареса статията, ще продължа да пиша в тази посока.

Благодаря за отделеното време.

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

Прост пример за използване на командата find

Първо, нека разгледаме прост пример за използване на командата find за намиране на файлове с име config на вашия компютър. Ще търсим конфигурационни файлове, започвайки от главната директория /. За да направите това, трябва да изпълните командата като root, за да имате достатъчно права за достъп, в противен случай ще получите съобщения „Отказано разрешение“. И така, нека изпълним командата:

Намерете / -name config -print

Командата означава това: потърсете файлове с име config (-name config), започвайки от директорията / (първият параметър на командата find) и отпечатайте имената на файловете на екрана (аргумент -print). Имайте предвид, че търсенето е рекурсивно, тоест при търсене се търсят всички вложени директории. Както можете да видите, всичко е просто. Сега нека разгледаме синтаксиса на командата и да преминем към преглед на основните й аргументи.

Намерете командния синтаксис

Общият синтаксис на командата find, който можете да намерите в справочното ръководство, може да не изглежда съвсем ясен, така че ще предоставя по-четлив:

намери [път] [опции] [критерии за търсене] [действия върху файлове]

начин

Можете да използвате както абсолютни, така и относителни пътища като път за търсене, както и списък с пътища, разделени с интервал.

Настроики

Опциите на командата за намиране са посочени, започвайки с "-", последвано от името на опцията. Нека да разгледаме основните опции.

Критерии за търсене

Командата find може да има множество критерии за търсене (наричани още тестове). Всеки критерий представлява специфично тестово условие, което връща вярно или невярно. Това може да се сравни с условията на оператор if в програмирането. В процеса на обработка на следващия файл, командата find проверява всеки критерий на свой ред и ако следващият критерий върне false, тогава командата find преминава към следващия файл. Командата find има доста критерии, ние ще разгледаме само някои от тях.

-време НПоследният достъп до файла е бил преди N дни.
-mtime NФайлът е последно променен преди N дни.
- модел на имеИме на файла (шаблон на име) без път. Препоръчително е винаги да поставяте шаблона в кавички.
-по-нов друг_файлФайлът е променен по-късно от other_file.
-размер [±] NРазмерът на файла е N блока, ако е указано + N, тогава размерът на файла е по-голям от N, -N е по-малък. Знакът след N обозначава размера на блока. b - 512 байта, c - байта, w - 2 байта, k - килобайта, M - мегабайта, G - гигабайта.
- тип СТип C файл. Най-често използваните стойности за C са: d - директория, f - файл.
-потребителско имеФайлът е собственост на потребител с име UserName.

Примери за използване на командата find с помощта на критерии

Намерете обикновени файлове (не директории) в текущата директория, които започват със знака "~".

Намирам. -type f -name "~ *" -print

Намерете файлове в текущата директория, които са били променени по-късно от file.bak.

Намирам. -по-нов файл.bak -type f -print

Оператори

Критериите могат да се комбинират с помощта на оператори. По-долу са операторите в низходящ ред по приоритет.

Като цяло, когато се използват оператори, критериите се проверяват по приоритет. Можете да промените реда, като използвате скоби. Скобите трябва да бъдат маркирани с обратна наклонена черта.

Примери за използване на команда find с помощта на оператори

Намерете файлове в текущата директория, които започват с "~" или c "temp" и са просто обикновени файлове (-type f), а не директории.

Намирам. \ (- име "~ *" -или -име "temp *" \) -type f -print

Намерете в текущата директория (без обработка на поддиректории - -maxdeph 1) обикновени файлове (-file f) по-големи от 600 мегабайта и по-малко от 1 гигабайт (-size) или файлове, чието име завършва с ".mpeg" (-name).

Намирам. -maxdepth 1 \ (\ (- размер + 600M -и -размер -1G \) -или -име "* .mpeg" \) -и -тип f

Действия върху файлове

Когато се изпълни командата find, можете да извършвате различни действия върху намерените файлове. Нека разгледаме основните.

В командите, които се изпълняват, можете да използвате параметъра () като аргумент, който се заменя с пътя към текущия файл.

Примери за използване на команда find с помощта на действия

Намерете обикновени файлове, по-големи от 1000 байта в текущата директория и стартирайте ls -dils върху тях (действие ls).

Намирам. -размер + 1000c -тип f -ls

Потърсете в текущата директория обикновени файлове, започващи със знака тилда "~", и за всеки файл издайте подкана да го изтриете (чрез изпълнение на командата rm).

Намирам. -име "~ *" -type f -ok rm () \;

Заключение

В тази публикация разгледахме една много важна и полезна команда за намиране на Linux, която предоставя почти неограничени възможности за търсене на файлове според много критерии и модели. И с помощта на команди (действия) можете да търсите файлове и да извършвате всякакви операции с тях.

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

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

    • Въведете -iname вместо -name, за да игнорирате малки букви във въведеното име на файл. Командата -name е чувствителна към малки и големи букви.
  1. Започнете да търсите в основната директория.За да стартирате търсене в цялата система, добавете модификатора / към вашата заявка. В този случай командата find ще търси файла във всички директории, като се започне от корена.

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

    • Можете да започнете да търсите в определена директория; за да направите това, заменете / с пътя към директорията, например / home / max.
    • Може да се използва. вместо / за търсене на файла само в текущата директория и нейните поддиректории.
  2. Използвайте символ за обобщение.* за намиране на файлове, чието име съответства на частта от заявката. Можете да използвате заместващия знак *, за да намерите файл, чието пълно име е неизвестно, или да намерите всички файлове с определено разширение.

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

    • Тази команда ще намери всички .conf файлове в папката Max user (и нейните подпапки).
    • Използвайте тази команда, за да намерите всички файлове, които съответстват на част от заявката. Например, ако имате много файлове, свързани с WikiHow на вашия компютър, намерете всички файлове, като напишете "* wiki *".
  3. Улеснете управлението на резултатите от търсенето.Ако има твърде много резултати от търсенето, е трудно да намерите файла, който търсите. Използвайте символа | за да филтрирате резултатите от търсенето с по-малко. Това ще улесни прегледа и филтрирането на резултатите от търсенето.

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

    Намерете конкретни елементи.Използвайте модификатори, за да покажете само конкретни елементи в резултатите от търсенето. Можете да търсите обикновени файлове (f), директории (d), символни връзки (l), символни I/O устройства (c) и блокови устройства (b).

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

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

    find / -size + 50M -iname "filename"

    • Тази команда ще намери всички файлове, по-големи от 50 MB. Използвайте модификатора + или -, за да посочите увеличение или намаляване на размера. Ако няма модификатор + или -, командата ще намери файлове с точно същия размер като посочения размер.
    • Резултатите от търсенето могат да бъдат филтрирани по байтове (c), килобайтове (k), мегабайти (M), гигабайти (G) или 512-байтови блокове (b). Имайте предвид, че показаните модификатори са чувствителни към главни букви.
  5. Използвайте логически оператори (булеви оператори), за да комбинирате филтрите за търсене.Можете да използвате операторите -and, -or, -not, за да комбинирате различни търсения в една заявка.

    find / travelphotos -type f -size + 200k -not -iname "* 2015 *"

    • Тази команда ще намери файлове в папката „Travelphotos“, които са по-големи от 200 KB и които нямат номер 2015 в имената си.

Актуализирано: 02.11. Публикувана на: 25.07.2016

Най-гъвкавата и функционална команда за търсене в Linux - намирам.Тази статия е измамник с примери за неговото използване.

Общ синтаксис

намирам<где искать> <опции>

<где искать> — път до главната директория, където да започнете да търсите. Например, find / home / user - търсене в съответната директория. Използвайте точката "." За текущата директория.

<опции> — набор от правила, по които да търсите.

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

Описание на опциите

Вариант Описание
-име Търсене по име.
-име Търсене по име без значение на малки и големи букви.
-Тип

Тип обект за търсене. Възможни опции:

  • f - файл;
  • d - указател;
  • l - връзка;
  • p - тръба;
  • s - гнездо.
-размер Размерът на обекта. Задава се на блокове от 512 байта или просто в байтове (със символа "c").
-mtime Време за промяна на файла. Посочено в дни.
-ммин Променете времето в минути.
-време Времето на последния достъп до обекта в дни.
-амин Време на последното обаждане в минути.
-ctime Последна промяна на собственик или права върху обект след дни.
-cmin Последна смяна на собственик или права за минути.
- потребител Търсене по собственик.
-група По група.
-перм С определени права за достъп.
-дълбочина Търсенето не трябва да започва от корена, а от най-дълбоката вложена директория.
- максимална дълбочина Максимална дълбочина на търсене в директория. -maxdepth 0 - търсене само в текущата директория. По подразбиране търсенето е рекурсивно.
- сини сливи С изключение на изброените директории.
-монтаж Не преминавайте към други файлови системи.
-регламент По име с регулярен израз.
-regextype<тип> Типът на регулярния израз.
Показва съдържанието на символни връзки (символна връзка).
-празен Търсете празни директории.
-Изтрий Намерено изтриване.
-ls Извеждане като ls -dgils
-печат Покажи намерено.
-print0 Пътят до намерените обекти.
-exec<команда> {} \; Изпълнете командата върху намерената.
-Добре Издайте подкана преди да изпълните -exec.

Пълен набор от текущи опции може да бъде получен чрез командата човек намери.

Намерете примери

Търсене на файл по име

намери / -име "file.txt"

* този пример ще търси файл с име file.txtв цялата файлова система, започвайки от корена / .

Търсене на файл по част от името:

намери / -име "* .tmp"

* тази команда ще търси всички папки или файлове в основната директория /, свършва след .tmp

Намерете всички файлове или папки, които започват с sess_и завършва с cd

намирам. -name "sess_ *" -a -name "* cd"

* -а:логично И, -о:логическо ИЛИ.

Търсене по дата

1. Търсете файлове, променени преди определен брой дни:

намирам. -тип f -mtime +60

* тази команда ще намери файлове, които са променени преди повече от 60 дни.

2. Търсете файлове с помощта на по-нова... Тази опция е налична от версия 4.3.3 (можете да я видите с командата намери -- версия).

а) дата на промяна:

намирам. -type f -newermt "2019-11-02 00:00"

* ще покаже всички файлове, които са променени от 02.11.2019 00:00.

намирам. -type f -newermt 2019-10-31! -нов 2019-11-02

* ще намери всички файлове, променени между 31.10.2019 г. и 11.01.2019 г. (включително).

б) дата на обжалване:

намирам. -тип f -нов от 2019-10-08

* всички файлове са достъпни от 10.08.2019 г.

намирам. -type f -нов от 2019-10-01! -нов на 2019-11-01

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

в) дата на създаване:

намирам. -type f -newerct 2019-09-07

намирам. -type f -newerct 2019-09-07! -newerct "2019-09-09 07:50:00"

* файлове, създадени от 09/07/2019 00:00:00 до 09/09/2019 07:50

Тип

Търсете само файлове в текущата директория и всички нейни подпапки:

* е- търсене само на файлове.

Търсене по права на достъп

Търсим всичко вдясно за четене и писане:

намери / -перм 0666

Намерете файлове, до които само собственикът има достъп:

намери / -перм 0600

Търсене на файл по съдържание

find / -type f -exec grep -i -H "съдържание" () \;

* в този пример се извършва рекурсивно търсене на всички файлове в директорията / и се показва списък с тези, които съдържат низа съдържание.

Сортирано по дата на промяна

find / data -type f -printf "% TY-% Tm-% Td% TT% p \ n" | сортиране -r

* командата ще намери всички файлове в директорията / данни, ще добави датата на промяна към името и ще сортира данните по име. В резултат на това ще получим, че файловете ще вървят в реда на тяхната модификация.

намери / начало / потребител / * -type d -exec chmod 2700 () \;

* в този пример търсим всички директории ( тип d) в указателя / начало / потребители задайте права за тях 2700 .

Планирано почистване

Екипът намирамудобен за използване за автоматично изтриване на остарели файлове.

Отворете заданието на cron за редактиране:

И добавете:

0 0 * * * / bin / find / tmp -mtime +14 -exec rm () \;

* в този пример изтриваме всички файлове и папки от директорията / tmp,които са по-стари 14 дни. Задачата се изпълнява всеки ден в 00:00 .
* вижте пълния път до изпълнимия файл find с командата които намират- на различни UNIX системи може да се намира на различни места.

Докато работите във всяка операционна система, понякога има нужда да използвате инструменти за бързо намиране на конкретен файл. Това важи и за Linux, така че по-долу ще разгледаме всички възможни начини за намиране на файлове в тази ОС. Както инструментите за файлов мениджър, така и командите, използвани в "Терминал".

Ако трябва да зададете много параметри за търсене, за да намерите желания файл, тогава командата намирамнезаменим. Преди да разгледате всички негови варианти, си струва да преминете през синтаксиса и опциите. Има следния синтаксис:

опция за намиране на път

където начине директорията, в която ще се извърши търсенето. Има три основни опции за определяне на път:

  • / - търсене по основни и съседни директории;
  • ~ - търсене в началната директория;
  • ./ - търсене в директорията, в която се намира потребителят в момента.

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

Опции в намираммного и благодарение на тях можете да приложите гъвкави настройки за търсене, като зададете необходимите променливи:

  • -име- да се извърши търсене, като се вземе за основа името на търсения елемент;
  • - потребител- търсене на файлове, които се отнасят до конкретен потребител;
  • -група- извършване на търсене на конкретна група потребители;
  • -перм- показване на файлове с посочения режим на достъп;
  • -размер n- търсене въз основа на размера на обекта;
  • -mвреме + n -n- търсене на файлове, които са се променили повече ( + n) или по-малко ( ) преди дни;
  • -Тип- търсене на файлове от определен тип.

Има и много видове търсени елементи. Ето списък с тях:

  • б- блок;
  • е- нормално;
  • стр- именувана тръба;
  • д- указател;
  • л- връзка;
  • с- гнездо;
  • ° С- символичен.

След подробен анализ на синтаксиса и опциите на командата намирамможете да отидете директно на илюстративни примери. Поради изобилието от опции за използване на командата, ще бъдат дадени примери не за всички променливи, а само за най-използваните.

Метод 1: Търсене по име (опция -име)

Най-често потребителите използват опцията за търсене в системата. -име, така че нека започнем с него. Нека разгледаме няколко примера.

Търсене по разширение

Да речем, че трябва да намерите файл в системата с разширението ".Xlsx"който се намира в директорията Dropbox... За да направите това, трябва да използвате следната команда:

намери / начало / потребител / Dropbox -име "* .xlsx" -отпечатване

От неговия синтаксис можем да кажем, че търсенето се извършва в директорията Dropbox ("/ Начало / потребител / Dropbox"), а желаният обект трябва да е с разширението ".Xlsx"... Звездичката показва, че търсенето ще се извърши на всички файлове с това разширение, независимо от тяхното име. "-Печат"показва, че ще се покажат резултатите от търсенето.

Търсене по име на файла

Например, искате да търсите в директорията "/ У дома"файл с името "лумпици", но разширението му е неизвестно. В този случай трябва да направите следното:

find ~ -name "lumpics *" -print

Както можете да видите, тук се използва символът «~» което означава, че търсенето ще се извърши в началната директория. Вариант след "-Име"е посочено името на файла, който търсите ( "Lumpics*"). Звездичката в края означава, че търсенето ще се извършва само по име, с изключение на разширението.

Търсене по първа буква в името

Ако помните само първата буква, с която започва името на файла, тогава има специален команден синтаксис, който ще ви помогне да го намерите. Например, искате да намерите файл, който започва с буква от "G"преди "L"и не знаете в коя директория се намира. След това трябва да изпълните следната команда:

find / -name "*" -print

Съдейки по символа "/", който идва непосредствено след основната команда, търсенето ще се извърши, като се започне от основната директория, тоест в цялата система. Освен това частта «*» означава, че думата, която търсите, ще започва с конкретна буква. В нашия случай от "G"преди "L".

Между другото, ако знаете разширението на файла, тогава след символа «*» можете да го посочите. Например, трябва да намерите същия файл, но знаете, че той има разширението ".Odt"... След това можете да използвате команда като тази:

find / -name "* .odt" -print

Метод 2: Търсене по режим на достъп (опция -perm)

Понякога трябва да намерите обект, чието име не знаете, но знаете какъв режим на достъп има. След това трябва да приложите опцията "-Перм".

Използването му е доста лесно, просто трябва да посочите местоположението за търсене и режима на достъп. Ето пример за такава команда:

намери ~ -перм 775 -принт

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

Метод 3: Търсене по потребител или група (опции -user и -group)

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

Търсете файл по потребителското му име

Например, трябва да намерите в директорията Dropboxфайл "лампики", но не знаете как се казва, но знаете само, че принадлежи на потребителя "Потребител"... След това трябва да изпълните следната команда:

намери / начало / потребител / Dropbox -user user -print

В тази команда сте посочили необходимата директория ( / начало / потребител / Dropbox), посочи, че трябва да потърсите файл, собственост на потребителя ( - потребител) и посочи на кой потребител принадлежи този файл ( потребител).

Търсете файл по името на групата

Търсенето на файл, който принадлежи към определена група, е също толкова лесно - просто трябва да замените опцията "-Потребител"по опция "-група"и посочете името на тази група:

намери / -групира гост -отпечатай

Това означава, че сте посочили, че искате да намерите файл в системата, който принадлежи към групата "Гост"... Търсенето ще се извършва в цялата система, както се вижда от символа «/» .

Метод 4: Търсене на файл по неговия тип (опция -тип)

Намирането на елемент в Linux от определен тип е доста просто, просто трябва да посочите подходящата опция ( -Тип) и посочете типа. В началото на статията са изброени всички обозначения на типа, които могат да се използват за търсене.

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

find ~ -type b -print

Съответно сте посочили, че търсите по тип файл, както се вижда от опцията "-Тип", и след това определи неговия тип, като постави символа на блоковия файл - "Б".

По същия начин можете да покажете всички директории в необходимата директория, като напишете символа "Д":

find / home / user -type d -print

Метод 5: Търсене на файл по размер (опция -размер)

Ако от цялата информация за даден файл знаете само неговия размер, тогава дори това може да е достатъчно, за да го намерите. Например, ако искате да намерите 120 MB файл в определена директория, направете следното:

намери / начало / потребител / Dropbox - размер 120M - печат

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

намери / -размер 120M -принт

Ако знаете приблизително размера на файла, тогава има специална команда и за този случай. Трябва да се регистрирате "Терминал"същото нещо, просто поставете знак пред размера на файла «-» (ако трябва да намерите файлове, по-малки от посочения размер) или «+» (ако размерът на търсения файл е по-голям от посочения). Ето пример за такава команда:

намери / начало / потребител / Dropbox + 100M -печат

Метод 6: Търсене на файл по дата на промяна (опция -mtime)

Има моменти, когато е най-удобно да търсите файл по датата на промяна. В Linux това се прави с помощта на опцията "-Mtime"... Използването му е доста лесно, нека разгледаме всичко с пример.

Да речем в папката "Изображения"трябва да намерим обекти, които са претърпели промени през последните 15 дни. Ето какво трябва да напишете "Терминал":

намери / начало / потребител / Изображения -mtime -15 -print

Както можете да видите, тази опция показва не само файлове, които са се променили през посочения период, но и папки. Работи и в обратна посока - можете да намерите обекти, които са били променени по-късно от посочения период. За да направите това, трябва да въведете знака пред цифровата стойност «+» :

намери / начало / потребител / Изображения -mtime +10 -print

GUI

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

Метод 1: Търсене в системното меню

Сега ще разгледаме начин за търсене на файлове през менюто на системата Linux. Действията ще се извършват в дистрибуцията на Ubuntu 16.04 LTS, но инструкциите са общи за всички.

Споделя това