Разглядывание содержимого каталогов


Теперь вы знаете, как ходить-бродить по каталогам, но вероятно возникает вопрос: "Ну и что с того?" Само по себе хождение по каталогам бесполезно, давайте познакомимся с новой командой ls. ls (LiSt) выдает на экран перечень файлов и каталогов (по умолчанию из текущего каталога). Например,

/home/larry# ls Mail 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.



Содержание раздела