| Каталог | Индекс раздела |
| Назад | Оглавление | Вперед |
При регистрации пользователя ему назначается администратором собственный каталог пользователя (Home directory).
Узнать его имя можно так:
Выводится полное имя рабочего (текущего) каталога /users/mary, где users - имя охватывающего каталога в иерархии каталогов ФС. Еще один охватывающий каталог root подразумевается по умолчанию (корневой главный каталог):
Изменение текущего каталога можно сделать командой cd, рассматриваемой позже.
Как правило, корневой каталог имеет следующую структуру, но администратор системы может изменять эту структуру.
Каталоги можно посмотреть командой ls:
Изменение рабочего каталога производится командой (cd - change directory).
Малые и большие буквы считаются различными. Символы . и _ разрешены только внутри имени. Тип файла указывается окончанием имени точкой с символом (основные):
Команда cat (от concatenate) - сцепить несколько (или один) файлов и направить результат на стандартный вывод (Standart Output), обычно на экран дисплея.
Пример:
Этот файл, создаваемый администратором для текущих объявлений, обычно печатается автоматически при входе в систему (login). Если Вы забыли его содержание, можно напечатать еще раз как в примере.
Команда tail печатает конец файла. По умолчанию - 10 последних строк:
Явно можно задать количество (со знаком -) или номер строки, от которой печатать до конца (со знаком +):
Применяется команда file:
Ваш рабочий каталог, являющийся корнем вашей ветви ФС, создается администратором. Вы можете создать нижележащие каталоги командой mkdir (make directory).
Типичная структура каталогов пользователей (с учетом групп):
Для создания такой структуры следует выполнить команды:
и так далее.
Это простейший способ создать файл:
Полагая, что текущий каталог progs/c, мы создали файл progs/c/message.
Можно копировать файл в текущий или другой каталог, не меняя его имени:
Будет создан файл progs/c/motd.
Если текущий каталог progs/c, того же эффекта достигает команда:
Если второй аргумент каталог, то в качестве первого можно указывать несколько файлов:
Режим доступа файла - копии совпадает с режимом доступа исходного файла (см. раздел 4.16).
Эта команда переносит файл или каталог из одного места файловой системы в другое. Побочный эффект - переименование (если исходный и конечный каталоги совпадают).
Отличие от копирования: исходный файл пропадает.
Пример:
Если файл назначения защищен от записи, то система печатает режим доступа и спрашивает подтверждение переноса.
Пример:
Второй аргумент может быть каталогом, тогда файл переносится под тем же именем:
Как и в случае cp может быть перенесено несколько файлов, если "второй" аргумент - каталог.
Можно удалить одной командой rm несколько файлов. Есть интерактивный вариант, требующий подтверждения на каждый файл (ключ -i):
Можно форсировать уничтожение ключом -f (даже если файл защищен по записи): -f и -i взаимно исключают друг друга.
Однако этими средствами нельзя уничтожить каталог, пока не уничтожены все файлы. Это можно сделать рекурсивно: ключ -r (уничтожить все поддиректории)
Вариант:
Пустой каталог удаляется (remove directory):
Метасимволы служат для подстановки любых строк и символов. В именах файлов в командах языка заданий Shell:
Примеры:
Символы со знаком Ctrl: ^A, ^[ (escape) и т.п., полученные одновременным нажатием клавиши Ctrl и указанной после символа ^ клавиши, не видны на печати. Команда ls может показать файл, а rm и другие команды могут не принять имя этого файла (т.к. часть символов не видна). Выход - в использовании * в именах (или использование режима rm -i):
4.1. Печать рабочего каталога
$ pwd (print working directory)
/users/mary
root/users/mary = /users/mary.
4.2. Печать содержимого каталога
$ ls - печать текущего каталога;
$ ls -al -a(all) - все файлы и подкаталоги;
-l(long) - полную информацию;
$ ls / - печать каталога root;
$ ls -l / - печать каталога root полная.
4.3. Структура корневого каталога
$ ls -l /bin - часто используемые команды;
$ ls -l /bin/bin - редко используемые команды;
$ ls /dev - драйверы устройств;
$ ls /users - каталоги пользователей.
4.4. Изменение рабочего каталога
$ 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 /etc/motd - посмотреть файл (message of today)
The system will down at 17:00.
4.7. Просмотр конца файла
$ tail /usr/pub/greek
.
.
.
.
$ tail -3 /usr/greek - три последние строки;
$ tail +6 /usr/greek - последние строки, начиная с 6-й.
4.8. Определение типа файла
$ 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. Создание каталога пользователем
$ cd - вернуться "домой" (home);
$ mkdir progs texts - создать каталоги в home;
$ cd progs - перейти в каталог progs;
$ mkdir c p f - создать каталоги в progs
4.10. Копирование файлов командой cp
$ cp /etc/motd message.
$ cp /etc/motd progs/c.
$ cp /ets/motd . (с точкой в качестве параметра).
$ cp /etc/motd /usr/include/stdio.h progs/c
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 ....
4.12. Удаление файлов командой rm
rm удаляет файл из каталога и уничтожает его:
$ cd progs/c
$ rm motd
$ ls
message (нет motd)
$ rm -i file1 file2
file1 : n (no - нет)
file2 : y (yes - да)
$ rm -f stdio.h.
$ rm -r progs.
$ rm -r * - уничтожить все поддерево.
4.13. Уничтожение пустого каталога: rmdir
$ rmdir progs
[rmdir:progs not empty] - сообщение, если каталог не пуст.
4.14. Использование метасимволов *, ?, []
* - представляет произвольную строку (возможно, пустую);
? - любой одиночный знак;
[C1 - C2] - любая литера из диапазона C1 - C2 (в стандарте ASCII).
$ ls c?
c1 c2 c3 cs cz
$ ls c*
c1 c12 c2 c23 c3 cs cs1 cxy cz
$ ls ?1*
c1 c12
$ ls *1*
c1 c12 cs1
$ ls c [12 x y z]
c1 c2 cz
ls c [12 x y z *]
c1 c2 c12 c25 cz cxy
4.15. Непечатные символы в именах файлов
$ ls
arron circle square triangle
$ rm square
rm: square non-existent (если вместо q в имени ^q)
$ ls s*
square
$ rm s*
$
| Назад | Оглавление | Вперед |
| Каталог | Индекс раздела |