Разделы:

Главная

О проекте

Загрузки

Документация:

Linux

BSD

Другие Unix

Программинг

HTML, XML...

Сервера

"Окна Закрой!"

MANы

 



4. КАТАЛОГИ И ФАЙЛЫ
При регистрации пользователя ему назначается администра- тором собственный каталог пользователя (Home directory).

4.1. Печать рабочего каталога

Узнать его имя можно так:
$ pwd (print working directory)
/users/mary
Выводится полное имя рабочего (текущего) каталога /users/mary, где users - имя охватывающего каталога в иерар- хии каталогов ФС. Еще один охватывающий каталог root подра- зумевается по умолчанию (корневой главный каталог): root/users/mary = /users/mary.
Изменение текущего каталога можно сделать командой cd, рассматриваемой позже.


4.2. Печать содержимого каталога
   $ ls                - печать текущего каталога;
   $ ls -al            -a(all) - все файлы и подкаталоги;
                       -l(long) - полную информацию;
   $ ls /              - печать каталога root;
   $ ls -l /           - печать каталога root полная.

4.3. Структура корневого каталога

Как правило, корневой каталог имеет следующую структуру, но администратор системы может изменять эту структуру.
                          ---------
                          Ё   /   Ё
                          ---------
                              Ё
   ---------+--------+--------+--------+--------+---------
   Ё        Ё        Ё        Ё        Ё        Ё        Ё
   Ё        Ё        Ё        Ё        Ё        Ё        Ё
-------  -------  -------  -------  -------  -------  -------
Ё dev Ё  Ё lib Ё  Ё bin Ё  Ё usr Ё  Ё etc Ё  Ё tmp Ё  ЁusersЁ
-------  -------  -------  -------  -------  -------  -------
 специ-  библио-   часто      Ё     команды   вре-   каталоги
 альные  теки      исполь-    Ё     админи-   менные пользова-
 файлы   (под-     зуемые     Ё     стратора  файлы   телей
         прогр.)   команды    Ё                         Ё
                     ---------+---------           -----+----
                     Ё        Ё        Ё           Ё
                  -------  -------  -------     -------
                  Ё lib Ё  ЁgamesЁ  Ё bin Ё     ЁpeterЁ------
                  -------  -------  -------     -------
                  библио-    игры    редко
                  теки            используемые
                                    команды

   


Каталоги можно посмотреть командой ls:
$ ls -l /bin - часто используемые команды
; $ ls -l /bin/bin - редко используемые команды;
$ ls /dev - драйверы устройств;
$ ls /users - каталоги пользователей.

4.4. Изменение рабочего каталога

Изменение рабочего каталога производится командой (cd - change directory).

$ cd /etc
$ ls -l - печать команд администратора
$ cd /usr
$ ls -l bin - редко используемые команды
$ cd - без параметров - возврат к собственному
(home) каталогу.


4.5. Соглашения по наименованию каталогов и файлов

Малые и большие буквы считаются различными. Символы . и _ разрешены только внутри имени. Тип файла указывается оконча- нием имени точкой с символом (основные):
.c - программа на C (например, program.c);
.h - текст на C, включаемый в программу на C (header);
.f - программа на языке ФОРТРАН;
.p - программа на языке ПАСКАЛЬ;
.o - объектный код, полученный транслятором с любого языка;
.a - библиотечный (архивный) файл.


4.6. Печать содержимого файла

Команда cat (от concatenate) - сцепить несколько (или один) файлов и направить результат на стандартный вывод (Standart Output), обычно на экран дисплея.
Пример:
$ cat /etc/motd - посмотреть файл (message of today)
The system will down at 17:00.
Этот файл, создаваемый администратором для текущих объяв- лений, обычно печатается автоматически при входе в систему (login). Если Вы забыли его содержание, можно напечатать еще раз как в примере.


4.7. Просмотр конца файла

Команда tail печатает конец файла. По умолчанию - 10 пос- ледних строк:

$ tail /usr/pub/greek
.
.
.
.

Явно можно задать количество (со знаком -) или номер строки, от которой печатать до конца (со знаком +):
$ tail -3 /usr/greek - три последние строки;
$ tail +6 /usr/greek - последние строки, начиная с 6-й.

4.8. Определение типа файла

Применяется команда file:
$ file /bin/ls /usr/bin etc/passwd usr/include/stdio.h
/bin/ls: pure executable - исполняемый;
/usr/bin: directory - каталог;
/etc/passwd: ascii text - текст в коде ASCII;
/usr/include/stdio.h:C program text - текст C-программы.

4.9. Создание каталога пользователем

Ваш рабочий каталог, являющийся корнем вашей ветви ФС, создается администратором. Вы можете создать нижележащие ка- талоги командой mkdir (make directory).
Типичная структура каталогов пользователей (с учетом групп):



                      ----------
                      Ё  users Ё
                      ----------
                           Ё
    ---------------------+-+-------------------------------
    Ё                    Ё
----------           ----------
Ё group 1Ё           Ё group 2Ё   . . .   каталоги групп
----------           ----------
    Ё                     Ё
    Ё                     ------------------
    Ё                              . . .

    Ё                              - 12 -
    --+--------------------+-------------------------------
      Ё                    Ё
  ----------           ----------        корневые катало-
  Ё  mary  Ё           Ё  peter Ё        ги пользователей
  ----------           ----------        группы group1
      Ё
      -+------------------------+------------
       Ё                        Ё
  ----------                ----------  внутренние каталоги
  Ё  progs Ё                Ё  texts Ё  пользователе, соз-
  ----------                ----------  даваемые по mkdir
       Ё                        Ё
       Ё                        ----------
      -+----------+----------------      Ё
      Ё           Ё               Ё      Ё
   ---------- ----------      ---------- Ё
   Ё    c   Ё Ё   p    Ё      Ё    f   Ё Ё
   ---------- ----------      ---------- Ё              Ё- ф
       Ё          Ё               Ё      Ё  ----------  Ё- а
     --+--      --+--           --+--    ---Ёletters Ё--+- й
     /////      /////           /////       ----------  Ё- л
     файлы      файлы           файлы                   Ё- ы


Для создания такой структуры следует выполнить команды:
$ cd - вернуться "домой" (home);
$ mkdir progs texts - создать каталоги в home;
$ cd progs - перейти в каталог progs;
$ mkdir c p f - создать каталоги в progs и так далее.

4.10. Копирование файлов командой cp

Это простейший способ создать файл:
$ cp /etc/motd message.
Полагая, что текущий каталог progs/c, мы создали файл progs/c/message.
Можно копировать файл в текущий или другой каталог, не меняя его имени: cp /etc/motd progs/c.
Будет создан файл progs/c/motd.
Если текущий каталог progs/c, того же эффекта достигает команда:
$ cp /ets/motd . (с точкой в качестве параметра).
Если второй аргумент каталог, то в качестве первого
можно указывать несколько файлов:
$ cp /etc/motd /usr/include/stdio.h progs/c
Режим доступа файла - копии совпадает с режимом доступа исходного файла (см. раздел 4.16).


4.11. Перенос и переименование файлов командой mv

Эта команда переносит файл или каталог из одного места файловой системы в другое. Побочный эффект - переименование (если исходный и конечный каталоги совпадают). Отличие от копирования: исходный файл пропадает.
Пример: $ mv message mesg
$ ls
mesg ....

Если файл назначения защищен от записи, то система печа- тает режим доступа и спрашивает подтверждение переноса. Пример:
$ cp message mesg
$ chmod 444 message - только чтение
$ mv mesg message
message: mode 444? y
Второй аргумент может быть каталогом, тогда файл перено- сится под тем же именем:
$ mv message progs/c
$ cd progs.c
$ ls
message ....
Как и в случае cp может быть перенесено несколько файлов, если "второй" аргумент - каталог.

4.12. Удаление файлов командой rm

rm удаляет файл из каталога и уничтожает его:
$ cd progs/c
$ rm motd
$ ls
message (нет motd)
Можно удалить одной командой rm несколько файлов. Есть интерак- тивный вариант, требующий подтверждения на каждый файл (ключ -i):

$ rm -i file1 file2
file1 : n (no - нет)
file2 : y (yes - да)
Можно форсировать уничтожение ключом -f (даже если файл защищен по записи): -f и -i взаимно исключают друг друга. $ rm -f stdio.h.
Однако этими средствами нельзя уничтожить каталог, пока не уничтожены все файлы. Это можно сделать рекурсивно: ключ -r (уничтожить все поддиректории) $ rm -r progs.
Вариант: $ rm -r * - уничтожить все поддерево.

4.13. Уничтожение пустого каталога: rmdir

Пустой каталог удаляется (remove directory):
$ rmdir progs
[rmdir:progs not empty] - сообщение, если каталог не пуст.

4.14. Использование метасимволов *, ?, []

Метасимволы служат для подстановки любых строк и симво- лов. В именах файлов в командах языка заданий Shell:
* - представляет произвольную строку (возможно, пустую);
? - любой одиночный знак;
[C1 - C2] - любая литера из диапазона C1 - C2 (в стандар- те ASCII).

Примеры:
   1) $ ls c?
      c1 c2 c3 cs cz
   2) $ ls c*
      c1 c12 c2 c23 c3 cs cs1 cxy cz
   3) $ ls ?1*
      c1 c12
   4) $ ls *1*
      c1 c12 cs1
   5) $ ls c [12 x y z]
      c1 c2 cz
   6) ls c [12 x y z *]
      c1 c2 c12 c25 cz cxy


4.15. Непечатные символы в именах файлов

Символы со знаком control: ^A, ^[ (escape) и т.п., полу- ченные одновременным нажатием клавиши Ctrl и указанной после символа ^ клавиши, не видны на печати. Команда ls может по- казать файл, а rm и другие команды могут не принять имя это- го файла (т.к. часть символов не видна). Выход - в использо- вании * в именах (или использование режима rm -i):
   $ ls
   arron circle square triangle
   $ rm square
   rm: square non-existent (если вместо q в имени ^q)
   $ ls s*
   square
   $ rm s*
   $
   Теперь файл удален.


4.16. Владелец файла и защита файла

Каждый файл и каталог имеют владельца - обычно это поль- зователь, создавший их в первый раз. Владелец может затем назначить защиту файла со стороны трех классов пользовате- лей:
- владелец (сам);
- группа - пользователи этой же группы, где владелец;
- остальные - все, имеющие доступ к системе.
Каждый файл имеет 3 вида разрешения на доступ:
- чтение (r) read - можно читать (смотреть) содержимое файла или каталога (читать с ключом -l в ls);

- запись (w) write - можно менять содержимое файла или каталога (создавать или удалять файлы в каталоге);
- выполнять (x) execute - использовать файл как команду UNIX и искать (search) в ката- логе.
Все комбинации трех видов разрешения доступа для трех классов пользователей (9 комбинаций) записываются в формате (если все права есть)
     rwx               rwx                 rwx     или 777
      Ё                 Ё                   Ё
   Владелец             Ё                   Ё
                      Группа                Ё
                                          Остальные
   Отсутствие права доступа указывается минусом:
   r--r--r-      или 444
   Пример:
   $ ls -l /bin
   -r-xr-xr-x     1bin  1986  Nov.26    12:00 ar
   ...
   Эта команда показывает режимы доступа.


4.17. Установка и изменение режима доступа к файлу: chmod

Формат команды chmod(change mode) для установки режима: chmod <режим> <файлы>
Пример:
$ chmod 644 f1 f2 f3
где 644 соответствует rw-r--r--
Формат команды chmod для изменения режима:
chmod <изменения> <файлы> В изменениях используются обозначения:
   u - user             r - read
   g - group            w - write
   o - other            x - execute
   a - all
   = - назначить
   + - добавить
   - - отнять
   Пример:
   $ ls -l
   -r-------- ... f1
   -r-------- ... f2
   -r-------- ... f3
      $ chmod  a = r, u + w    f1 f2 f3
      или (эквивалентный вариант изменения прав доступа)
      $ chmod  u = rw, go = r  f1 f2 f3
   $ ls -l

   -rw-r--r-- ... f1
   -rw-r--r-- ... f2
   -rw-r--r-- ... f3
   $ chmod o-r f1 f2 f3
   $ ls -l
   -rw-r----- ... f1
   -rw-r----- ... f2
   -rw-r----- ... f3,
   Другие пользователи, не входящие в группу, потеряли право
читать файлы.


далее     содержание


Партнёры и спонсоры проекта:

Все материалы сайта распространяются по лицензии GNU/GPL
© ProUNIX 2003-2009, UnixLib 2005-2009, SoftLib 2006-2009.