Настройка и работа в Linux




Поиск в unix Часть1 - часть 2


/p>

Я покажу вам на примерах, как использовать и сочетать эти ключи при поиске. Однако перед этим давайте поглядим для чего может использоваться команда find. Если вы воспользуйтесь для этого командой whatis, то результат ее работы может вас удивить: whatis find find(1) -- walk a file hierarchy (обход иерархии файлов)

В двух словах, команда find предназначена для рекурсивного поиска в каталогах различных файлов, отбирая их по указанным вами ключам. На первый взгляд это может показаться небольшим достижением, однако не следует забывать, что большая часть UNIX-утилит не может «прогуляться» по каталогу и всем его подкаталогам. Поэтому эта способность может быть крайне полезна, так как find может не только находить различные файлы, но и проводить над ними разнообразные операции.

Давайте начнем с нескольких простых примеров, для того что бы потом перейти к более сложным. Самый простой поиск вы можете провести напечатав следующее: find . -print

Поскольку символ точки «.» означает текущий каталог, то эта команда найдет и напечатает (-print) на терминале все файлы находящиеся в текущем каталоге, а так же во всех подкаталогах.

В FreeBSD ключ «-print» подразумевается по умолчанию, так что даже если вы забудете его написать, вы получите такой же результат: find .

Однако будет правильнее, если вы выработаете в себе привычку писать «-print», так как на многих UNIX-системах «-print» не является подразумеваемым выражением.

Для того что бы найти все файлы в вашем домашнем каталоге, сначала вы должны увериться в том, что находитесь именно там, а затем повторить команду поиска: cd find . -print

Команда cd выполненная без параметров вернет вас в ваш домашний каталог. Поскольку команда find может использоваться для выполнения серьезных действий со значительными последствиями, всегда будет правильным сначала перейти в тот каталог, в котором вы хотите производить эти действия. В этой статье я подразумеваю, что вы находитесь в вашем домашнем каталоге. Итак, что бы выполняемые действия не нанесли необратимых изменений в вашей системе, не покидайте домашний каталог.

Приведенные примеры показали как просто использовать команду find. Однако скорее всего вы хотите найти нечто конкретное, когда обращаетесь к find. С этого места в игру вступают другие ключи команды find. Попробуем найти файл по его имени: touch file1 find . -name file1 -print ./file1




Содержание  Назад  Вперед