Для работы с каталогами вам достаточно уметь выполнять несколько стандартных операций.
В следующем списке приведены команды, позволяющие выполнять эти операции, с примерами их применения:
Команда mkdir создает один или несколько новых каталогов с именами, перечисленными в параметре Каталог. Новые каталоги будут содержать стандартные записи: точку (.) и две точки (..). Режим доступа к новым каталогам можно задать в параметре -mРежим.
Новый каталог создается в текущем рабочем каталоге, если только не указан полный путь к другой точке файловой системы.
Например, для создания нового каталога с именем Test в текущем рабочем каталоге с правами доступа по умолчанию введите:
mkdir Test
Нажмите Enter.
Для создания каталога Test с правами доступа rwxr-xr-x в уже существующем каталоге /home/demo/sub1 введите:
mkdir -m 755 /home/demo/sub1/Test
Нажмите Enter.
Для создания каталога Test с режимом доступа по умолчанию в каталоге /home/demo/sub2 введите:
mkdir -p /home/demo/sub2/Test
Нажмите Enter.
Флаг -p означает, что при необходимости следует создать также каталоги /home, /home/demo и /home/demo/sub2.
Полный синтаксис приведен в описании команды mkdir в книге AIX 5L Version 5.1 Commands Reference.
Команда mvdir перемещает или изменяет имя каталога.
Например, для перемещения каталога введите:
mvdir book manual
Нажмите Enter.
Каталог book будет помещен в каталог manual, если каталог manual уже существует. Иначе каталог book будет переименован в manual.
>Для перемещения и одновременного переименования каталога введите:
mvdir book3 proj4/manual
Нажмите Enter.
Каталог book3 будет помещен в каталог proj4 и переименован в manual (если только каталог manual не существует).
Полный синтаксис приведен в описании команды mvdir в книге AIX 5L Version 5.1 Commands Reference.
Команда pwd записывает в стандартный вывод полное имя текущего каталога (начиная с / - корневого каталога). Все каталоги разделяются символом косая черта (/). Каталог / (корневой) представлен первой косой чертой (/); последним указан текущий каталог.
Для того чтобы узнать текущий каталог, введите:
pwd
Нажмите Enter.
Будет показано полное имя текущего каталога, например:
/home/thomas
Полный синтаксис приведен в описании команды pwd в книге AIX 5L Version 5.1 Commands Reference.
Команда cd изменяет текущий каталог. У вас должны быть права доступа на выполнение (поиск) к новому каталогу.
Если параметр Каталог не указан, команда cd переходит в домашний каталог ($HOME в оболочках ksh и bsh, $home в оболочке csh). Если указан полный путь, он становится текущим каталогом. Полный путь начинается с косой черты (/), обозначающей корневой каталог /, точки (".") , обозначающей текущий каталог, или двух точек (..) , обозначающих родительский каталог. Если указан не полный путь, команда cd ищет указанный подкаталог в каталогах, перечисленных в переменной оболочки $CDPATH (в оболочке csh - $cdpath). Синтаксис и семантика этой переменной аналогичен переменной оболочки $PATH ($path в оболочке csh).
Например, для перехода в свой домашний каталог введите:
cd
Нажмите Enter.
Для перехода в каталог /usr/include введите:
cd /usr/include
Нажмите Enter.
Текущим каталогом станет /usr/include.
Для перехода на один уровень ниже в дереве каталогов, к каталогу sys, введите:
cd sys
Нажмите Enter.
Если текущий каталог /usr/include содержал подкаталог sys, текущим каталогом станет /usr/include/sys.
Для перехода на один уровень вверх в дереве каталогов введите:
cd ..
Нажмите Enter.
Специальное имя, две точки (..)ссылается на каталог, находящийся непосредственно над текущим каталогом, то есть его родительский каталог.
Полный синтаксис приведен в описании команды cd в книге AIX 5L Version 5.1 Commands Reference.
Команда cp или copy создает копию содержимого файла или каталога, указанного в параметре Исходный_файл или Исходный_каталог, в файле или каталоге с именем Целевой_файл или Целевой_каталог. Если файл Целевой_файл существует, копия записывается поверх предыдущего содержимого файла. При копировании нескольких Исходных_файлов должен быть указан целевой каталог.
Для помещения копии файла Исходный_файл в определенный каталог укажите путь к этому каталогу в параметре Целевой_каталог. При копировании в другой каталог файлы сохраняют свои имена, если только в конце пути не было указано новое имя файла. Команда cp также копирует целые каталоги в другие каталоги. Для этого нужно указать флаг -r или -R.
Например, для копирования всех файлов каталога в новый каталог введите:
cp /home/janet/clients/* /home/nick/customers
Нажмите Enter.
Все файлы из каталога clients будут скопированы в каталог customers.
Для копирования каталога вместе со всеми его файлами и подкаталогами в другой каталог введите:
cp -R /home/nick/clients /home/nick/customers
Нажмите Enter.
Каталог clients со всеми его файлами, подкаталогами и файлами в этих подкаталогах будет скопирован в каталог customers.
Полный синтаксис приведен в описании команды cp в книге AIX 5L Version 5.1 Commands Reference.
Содержимое каталога можно просмотреть командой ls.
Команда ls записывает в стандартный вывод содержимое каждого из указанных Каталогов или имя каждого из указанных Файлов, с дополнительной информацией, определяемой флагами. Если Файл или Каталог не указан, команда ls показывает содержимое текущего каталога.
По умолчанию команда ls сортирует всю информацию по имени файла. Если команда выполняется администратором, то по умолчанию применяется флаг -A и выводятся все записи, за исключением точки (.) и двух точек (..). Для просмотра всех файлов, включая те, имена которых начинаются с . (точки), введите команду ls -a.
Есть три основных способа форматирования полученного вывода:
Число символов в строке вывода команда ls получает из переменной среды $COLUMNS. Если эта переменная не задана, команда читает файл terminfo. Если команда ls не может определить число символов в строке ни одним из этих способов, принимается значение по умолчанию, равное 80.
Информация, показанная с флагом -e или -l, означает следующее:
Если первый символ равен:
d | Запись является каталогом. |
b | Запись является специальным блочным файлом. |
c | Запись является специальным символьным файлом. |
l | Запись является символьной связью. |
p | Запись является специальным файлом конвейера (FIFO). |
s | Запись является локальным сокетом. |
- | Запись является обычным файлом. |
Следующие девять символов разделены на три набора по три символа в каждом. Первые три символа показывают права доступа владельца. Следующие три символа показывают права доступа прочих пользователей группы. Последние три символа показывают права доступа всех остальных пользователей. Символы каждого набора показывают права доступа на чтение, запись и выполнение файла. Права доступа на выполнение для каталога разрешают поиск файла в каталоге.
Права доступа обозначаются следующим образом:
r | Предоставлены права доступа для чтения |
t | Только владелец каталога или файла может удалять или переименовывать файлы в каталоге, даже если у других пользователей есть права доступа для записи в каталог. |
w | Предоставлены права доступа для записи (редактирования). |
x | Предоставлены права доступа для выполнения (поиска). |
- | Соответствующие права доступа не предоставлены. |
С флагом -e показывается та же информация, что и с флагом
-l, но добавляется 11-й символ, означающий следующее:
+ | Показывает, что для файла есть расширенная информация о защите. Например, для файла может существовать расширенный ACL, атрибуты режима TCB или TP. |
- | Показывает, что для файла нет расширенной информации о защите. |
Команда ls также показывает полное число блоков в файле, включая занятые файлом косвенно.
Например, для просмотра всех файлов в текущем каталоге введите:
ls -a
Нажмите Enter.
При этом будут показаны все файлы, включая
Для просмотра подробной информации введите:
ls -l chap1 .profile
Нажмите Enter.
Будет показан расширенный список с подробной информацией о файлах chap1 и .profile.
Для просмотра подробной информации о каталоге введите:
ls -d -l . manual manual/chap1
Нажмите Enter.
Будет показана подробная информация о содержимом каталогов . (точка) и manual, а также о файле manual/chap1. Без флага -d был бы показан список с подробной информацией о файлах в каталогах . и manual, а не подробная информация о самих каталогах.
Полный синтаксис приведен в описании команды ls в книге AIX 5L Version 5.1 Commands Reference.
Команда rmdir удаляет из системы указанный Каталог. Удаляемый каталог должен быть пуст (он может содержать только . и ..) , и у вас должны быть права на запись в его родительский каталог. Для проверки наличия файлов в каталоге введите команду ls -aКаталог.
Например, для очистки и удаления каталога введите:
rm mydir/* mydir/.* rmdir mydir
Нажмите Enter.
Сначала будет удалено содержимое каталога mydir, а затем и сам каталог. Команда rm выдаст сообщение об ошибке при попытке удалить каталог точка (.) и две точки (..). Эти каталоги будут удалены командой rmdir вместе с каталогом mydir.
Заметьте, что команда rmmydir/* mydir/.* отдельно удаляет файлы, имена которых начинаются с точки, и файлы, имена которых не начинаются с точки. Вы можете не знать, что в каталоге есть файлы, имена которых начинаются с точки, поскольку команда ls обычно не показывает их, если только не указан флаг -a.
Для удаления каталога /tmp/jones/demo/mydir и всех его подкаталогов введите:
cd /tmp rmdir -p jones/demo/mydir
Нажмите Enter.
Каталог jones/demo/mydir будет удален из каталога /tmp. Если удаляемый каталог не будет пуст, или если у вас нет прав на запись в него, команда будет завершена с соответствующим сообщением об ошибке.
Полный синтаксис приведен в описании команды rmdir в книге AIX 5L Version 5.1 Commands Reference.
Команда dircmp сравнивает два каталога, Каталог1 и Каталог2, записывая результат в стандартный вывод. Сначала команда dircmp сравнивает имена файлов в обоих каталогах. Если в них обоих обнаруживаются файлы с одинаковыми именами, команда dircmp сравнивает содержимое этих файлов.
Сначала команда dircmp показывает список файлов, уникальных для каждого из каталогов. Затем она перечисляет файлы с одинаковыми именами в обоих каталогах, но с разным содержимым. Если никакие флаги не указаны, команда также показывает файлы с одинаковым содержимым и именами в обоих каталогах.
Например, для создания отчета о различиях между файлами в каталогах proj.ver1 и proj.ver2 введите:
dircmp proj.ver1 proj.ver2
Нажмите Enter.
Будут показаны различия между каталогами proj.ver1 и proj.ver2. В полученном отчете отдельно будут перечислены файлы, найденные только в одном из каталогов, и файлы, существующие в обоих. Если файл найден в обоих каталогах, команда dircmp отмечает, совпадают ли его копии.
Для просмотра подробных различий между файлами в каталогах proj.ver1 и proj.ver2 введите:
dircmp -d -s proj.ver1 proj.ver2
Нажмите Enter.
Флаг -s отменяет вывод информации об одинаковых файлах. Флаг -d указывает на необходимость распечатки результатов сравнения файлов командой diff.
Полный синтаксис приведен в описании команды dircmp в книге AIX 5L Version 5.1 Commands Reference.
Глава 4, Перенаправление ввода и вывода
Глава 8, Резервное копирование и носители
Глава 9, Защита системы и файлов