Разглядывание содержимого каталогов
Теперь вы знаете, как ходить-бродить по каталогам, но
вероятно возникает вопрос: "Ну и что с того?" Само по себе
хождение по каталогам бесполезно, давайте познакомимся с новой
командой ls. ls (LiSt) выдает на экран перечень файлов и
каталогов (по умолчанию из текущего каталога). Например,
/home/larry# ls
letters
papers
/home/larry#
Здесь мы видим, что у Larry три "единицы хранения" в его
текущем каталоге: Mail, letters и papers.
Но это мало, что
говорит: каталоги это или файлы? Можно использовать опцию
(прим. переводчика: часто в документации по UNIX используют в
этом контексте слово "флаг")
-F в команде ls, чтобы получить
больше информации.
/home/larry# ls -F
Mail/
letters/
papers/
/home/larry#
Приписанные справа к именам файлов / говорят о том, что это
(под)каталоги.
Использование ls -F (обратите внимание "-F" пишется без
пробела) может дать также ``*'' в конце некоторых имен файлов.
Это будет говорить о том, что это выполняемые файлы или
программы. Если, при вызове ls -F, ничего справа не приписано к
имени, то это "нормальный" файл, т.е. не каталог и не
выполняемый файл.
В общем, каждая команда UNIX может иметь несколько опций в
дополнение к другим аргументам. Эти опции обычно записываются со
знаком ``-'', как это было показано на примере ls -F.
Опция -F
сообщает команде ls, что необходимо выдать дополнительную
информацию о типе файлов.
Если вы напишете в команде ls имя каталога, то она выдаст
содержимое указанного каталога.
/home/larry# ls -F papers
english-lit
history-final
masters-thesis
notes/
/home/larry#
Или, чтобы было интереснее, давайте посмотрим, что имеется в
системном каталоге /etc/.
/home/larry# ls /etc
Images ftpusers lpc rc.new shells
adm getty magic rc0.d startcons
bcheckrc gettydefs motd rc1.d swapoff
brc group mount rc2.d swapon
brc~ inet mtab rc3.d syslog.conf
csh.cshrc init mtools rc4.d syslog.pid
csh.login init.d pac rc5.d syslogd.reload
default initrunlvl passwd rmt termcap
disktab inittab printcap rpc umount
fdprm inittab.old profile rpcinfo update
fstab issue psdatabase securetty utmp
ftpaccess lilo rc services wtmp
/home/larry#
(Для вышедших из MS-DOS пользователей полезно обратить
внимание, что имена файлов могут быть длиннее 8 символов и
содержать точку на любой позиции. Можно даже использовать
несколько точек в одном имени).
Давайте поднимемся вверх по дереву
(прим. переводчика: так
уж сложилось, что в UNIX начальной вершиной дерева является
"корень (root)")
, используя команду ``cd ..'', а затем спустимся
в другой каталог (/usr/bin ).
/home/larry# cd ..
/home# cd ..
/# cd usr
/usr# cd bin
/usr/bin#
Вы, разумеется, можете передвигаться по каталогам большими
шагами, например, сразу выполнить cd /usr/bin.
Постарайтесь погулять по каталогам, используя команды ls и
cd. В некоторых случаях вы можете напороться на раздражающее
сообщение ``Permission denied''(обращение запрещено). Это всего
лишь сработала система защиты UNIX, чтобы выполнять команды в тех
или иных каталогах вы должны иметь на это разрешение. Подробнее
об этом поговорим в Разделе 3.9.