Знакомство с Linux

         

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


Теперь вы знаете, как ходить-бродить по каталогам, но вероятно возникает вопрос: "Ну и что с того?" Само по себе хождение по каталогам бесполезно, давайте познакомимся с новой командой 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.

3.3.3


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