Командата find в Linux се използва за търсене на файлове и директории в определени директории въз основа на различни критерии. Тази команда е една от най-мощните и широко разпространени помощни програми в Linux.
Основният формат на командата find е следният:
find [path] [expression]
където:
path
е пътят до директорията, в която да се търсят файлове (по подразбиране find търси в текущата директория и всички нейни поддиректории);
expression
е израз, който определя критериите за търсене на файлове.
По-долу са изброени някои от най-често срещаните критерии за търсене на файлове, които могат да се използват в израза на командата find:
-name
: търсене на файлове по име. Например:
find /home/user -name myfile.txt
-type
: търсене на файлове от определен тип (например f
за обикновени файлове или d
за директории). Например:
find /home/user -type f
-size
: търсене на файлове по размер. Например:
find /home/user -size +10M
-mtime
: търсене на файлове по време на последната модификация. Например:
find /home/user -mtime -7
-user
и -group
: търсене на файлове по собственик и група. Например:
find /home/user -user bob -group users
Можете да използвате логическите оператори -and
, -or
и -not, за да
комбинирате няколко критерия за търсене в един израз.
Например следната команда ще намери всички файлове в директорията /home/user
, които са били модифицирани през последните 7 дни и са по-големи от 10 мегабайта:
find /home/user -type f -mtime -7 -size +10M
Командата find ви позволява също така да извършвате различни действия с намерените файлове, като използвате опцията -exec
. Например, можете да изтриете всички файлове, които са били модифицирани преди повече от 30 дни, като използвате следната команда:
find /home/user -type f -mtime +30 -exec rm {} ;
Тук опцията -exec
изпълнява командата rm
за всеки намерен файл и използва {},
за да замени името на файла в командата.
Командата find
е мощен инструмент за намиране на файлове и директории в Linux, който може да се използва за изпълнение на различни задачи, свързани с управлението.
Командата find
поддържа много други опции, които могат да се използват за по-точно намиране на файлове:
-iname
: търси файлове по име, без да се съобразява с големината на символите. Например:
find /home/user -iname myfile.txt
-regex
: търси файлове, чиито имена отговарят на даден регулярен израз. Например:
find /home/user -regex ".*.txt$"
-maxdepth
и -mindepth
: ограничават дълбочината на търсене на файлове в поддиректории. Например:
find /home/user -maxdepth 2 -type f
-prune
: изключва определени директории от търсенето. Например:
find /home/user -path /home/user/excluded -prune -o -type f -print
-print
: извежда списъка с намерените файлове на стандартния изход. Например:
find /home/user -type f -print
find
също така поддържа търсене на файлове по различни атрибути, като разрешения, атрибути на файлове, етикети SELinux
и други. Повече информация за тези опции можете да намерите в документацията на командата find
.
Командата може да търси файлове и директории в цялата файлова система, което може да отнеме много време и ресурси. Затова е важно да бъдете внимателни, когато използвате тази команда, и да се уверите, че критериите за търсене са зададени правилно, за да избегнете намирането на ненужни файлове или грешки в системата.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: