find command unix
Въведение в командата за търсене в Unix: Търсете файлове и директории с командата за намиране на файлове на Unix
Командата Unix find е мощна помощна програма за търсене на файлове или директории.
Търсенето може да се основава на различни критерии и съответстващите файлове могат да се изпълняват чрез определени действия. Тази команда рекурсивно спуска файловата йерархия за всяко определено име на път.
=> Щракнете тук за пълната серия на уроците за Unix
Какво ще научите:
как да използвам командата cut в unix
Намерете командата в Unix
Синтаксис:
find [options] [paths] [expression]
Опциите за тази команда се използват, за да се определи как да се третират символните връзки. Това е последвано от набора от пътища за търсене. Ако не са посочени пътища, тогава се използва текущата директория. След това даденият израз се изпълнява във всеки от файловете, намерени в пътеките.
Изразът се състои от поредица от опции, тестове и действия, всеки от които връща булева стойност. Изразът се оценява отляво надясно за всеки файл в пътя, докато резултатът не бъде определен, т.е. резултатът е известен като true или false.
- Опционните изрази се използват за ограничаване на операцията за търсене и винаги връщат true.
-
- -depth: обработва съдържанието на директорията, преди да обработи самата директория.
- -maxdepth: максималните нива под предоставените пътеки за слизане за съвпадение.
- -mindepth: минималните нива отвъд предоставените пътеки за спускане преди съвпадение.
-
- Тестовите изрази се използват за оценка на специфични свойства на файловете и съответно връщане на true или false. (Където и да се използва броене 'n': без префикс съвпадението е за точната стойност на n; с префикс '+', съвпадението е за стойности, по-големи от n; и с префикс '-', съвпадението е за стойности, по-малки от n.)
-
- -atime n: Връща true, ако файлът е бил достъпен преди n дни.
- -ctime n: Връща вярно, ако състоянието на файла е променено преди n дни.
- -mtime n: Връща вярно, ако съдържанието на файла е било променено преди n дни.
- -name pattern: Връща вярно, ако името на файла съвпада с предоставения шаблон на черупката.
- -iname pattern: Връща вярно, ако името на файла съвпада с предоставения шаблон на черупката. Съвпадението тук е без регистра.
- -path pattern: Връща вярно, ако името на файла с пътя съвпада с модела на черупката.
- -regex pattern: Връща true, ако името на файла с пътя съвпада с регулярния израз.
- -size n: Връща true, ако размерът на файла е n блока.
- -perm - mode: Връща true, ако всички битове за разрешение за режим са зададени за файла.
- -type c: Връща true, ако файлът е от тип c (напр. „b“ за файл на блоково устройство, „d“ за директория и т.н.).
- -username: Връща true, ако файлът е собственост на потребителско име ‘name’.
-
- Изразите за действие се използват за дефиниране на действия, които имат странични ефекти и могат да върнат true или false. Ако не са посочени действия, действието ‘-print’ се извършва за всички съвпадащи файлове.
-
- -delete: Изтрийте съответстващия файл и при успех върнете true.
- -exec команда: Изпълнете дадената команда за всеки съвпадащ файл и върнете true, ако връщаната стойност е 0.
- -ok команда: Подобно на израза ‘exec’, но първо потвърждава с потребителя.
- -ls: Избройте съответстващия файл във формата „ls -dils“.
- -print: Отпечатайте името на съответстващия файл.
- -prune: Ако файлът е директория, не слизайте в нея и връщайте true.
-
- Изразът се изчислява отляво надясно и се съставя, като се използват следните оператори.
-
- ( израз ) : Използва се за налагане на приоритет.
- ! израз: Използва се за отричане на израз.
- израз1 -да се expr2: Резултатът е „и“ на двата израза. Expr2 се оценява само, когато expr1 е true.
- expr1 expr2: Операторът ‘и’ е неявен в този случай.
- израз1 -или expr2: Резултатът е ‘или’ от двата израза. Expr2 се оценява само, когато expr1 е false.
-
Примери
Избройте всички файлове, намерени в текущата директория и нейната йерархия
$ find.
Избройте всички файлове, намерени в текущата йерархия, и цялата йерархия по-долу / home / xyz
$ find. /home/XYZ
Потърсете файл с името abc в текущата директория и нейната йерархия
$ find ./ -name abc
Потърсете директория с името xyz в текущата директория и нейната йерархия
$ find ./ -type d -name xyz
Потърсете файл с името abc.txt под текущата директория и подканете потребителя да изтрие всяко съвпадение.
Обърнете внимание, че низът „{}“ е заместен от действителното име на файла, докато се изпълнява и че „;“ низ се използва за прекратяване на командата, която трябва да бъде изпълнена.
$ find ./ -name abc.txt -exec rm -i {} ;
Търсете файлове, които са били променени през последните 7 дни под текущата директория
$ find ./ -mtime -7
Търсете файлове, които имат всички разрешения, зададени в текущата йерархия
$ find ./ -perm 777
Заключение
Накратко, Find Command в Unix връща всички файлове под текущата работна директория. Освен това командата find позволява на потребителя да посочи действие, което да се предприеме за всеки съвпадащ файл.
=> Щракнете тук за пълната серия на уроците за Unix
Препоръчително четене
- Изрежете командата в Unix с примери
- Ls Command в Unix с примери
- Файлова манипулация в Unix: Преглед на файловата система Unix
- Синтаксис на командата Unix Cat, Опции с примери
- Команда Grep в Unix с прости примери
- Команда за сортиране на Unix със синтаксис, опции и примери
- Tar Command в Unix за създаване на резервни копия (примери)
- Как да сравним два файла в Unix: Команди за сравняване на файлове