13. Средства навигации, поиска в Unix (навигация в ф.с., информация о системе, поиск файлов и строк в них).
Команды перемещения
- cd - перемещение между каталогами. Может использоваться в 2-х вариантах:
- pwd - показать текущий каталог
- ls - показать содержимое каталога(файлы и подкаталоги). Имеет множество ключей и режимов работы Без параметров - вывод содержимого текущего каталога. С ключом “-l” - полный формат вывода (с доп информацией).
Подключение других устройств(дисковода, CDROM)
Чтобы подключить устройство (дисковод, CD-ROM, раздел вичестера, сетевой диск), нужно указать место, куда будет отображаться его содержимое. Это место называется точка монтирования. Точка монтирования - это обычный каталог. После подключения (в терминах Unix - монтирования) каталог будет содержать файлы, расположенные на устройстве. Список подключенных устройств и монтирование - команда mount(8). Обычно поключаемые устройства отображаются на каталог /mnt. Например /mnt/cdrom, /mnt/floppy. Отключение (размонтирование) производит отсоединение устройства от дерева каталогов. Команда umount(8).
Копирование, удаление, перемещение файлов и каталогов
- cp - копирование копирование одного файла в другой
- rm - удаление файлов и rmdir - удаление каталогов простое удаление
- mv - переместить(переименовать) переместить один файл в другой
- mkdir - создать каталог cоздать 1 или более каталогов
Информация о системе
- ps - список запущенных процессов
- who - список пользователей, работающих в системе
- date - текущая дата и время
- w - общая информация о системе
Команды поиска GREP и FIND
Команда grep/egrep
“фильтрует” строки - оставляя только “подходящие” под шаблон
egrep шаблон [ file ... ]
Вывести всех пользователей, имена которых начинаются с букв a,b,e,d
cat /etc/passwd | grep "^[abed].*"
Команда find
find рекурсивно обходит указанные каталоги и файлы, проверяет для них выполнение указанных условий и может вдобавок выпол- нять с найденными файлами указанные действия. Например, самое простое действие - распечатать имя файла.
find файл [ ... ] ключи/условия/действия
Ключи-условия команды find:
-name “.c” - простое имя подходит под шаблон *.c -type f - брать только обыкновенные файлы -type d - брать только каталоги -size +500 - файлы размером БОЛЬШЕ 500512 байт -mtime -3 - дата модификации МЕНЬШЕ 3-х дней -newer filename - дата модификации нашего файла МЕНЬШЕ, чем у заданного файла filename
ВНИМАНИЕ: Команда find использует стандартные SHELL’овские шаблоны. Команда grep использует шаблоны другого формата, называемые регулярными выражениями.
Ключи-действия команды find
-print - просто распечатать маршрутное имя файла -exec команда над файлом {} \;
Пример.
Напечатать имена всех обыкновенных Си-шных файлов, изменившихся за последние 4 дня в текущем каталоге и его подкаталогах.
find . -type f -mtime -4 -print
Уничтожить все файлы с окончаниями *.bu, *%, которые не меня- лись больше месяца.
find / \( -name "*.bu" -o -name "*%" \) -type f \
-atime +30 -exec rm {} \;
запись “rm {} \;” - обозначает команду Unix, которая будет вы- полняться для всех таких найденных файлов. Вместо значка “{}” будет подставляться каждый раз имя найденного файла. Естествен- но, что таким образом мы их все и уничтожим.