Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник по ОС.doc
Скачиваний:
0
Добавлен:
27.12.2019
Размер:
2.74 Mб
Скачать

Уничтожение файлов и каталогов

Для уничтожения файлов используется команда rm (remove).

/home/larry/foo# rm bells shells

/home/larry/foo# ls -F

shells

/home/larry/foo\#

По умолчанию команда rm не выдает предупреждения перед уничтожением файла!

Для уничтожения каталогов используется команда rmdir (remove directory). Эта команда уничтожает каталог только в том случае, если каталог пуст.

Просмотр содержимого файлов

Для просмотра содержимого файлов используются команды more и cat. Команда more выводит содержимое файла на экран по одному экрану за один раз, в то время как команда cat выводит весь файл сразу.

Для того, чтобы увидеть содержание файла shells, введем команду

/home/larry/foo# more

В файле shells содержится список командных оболочек, доступных пользователю в данной системе. В большинстве систем в этот список входят /bin/sh, /bin/bash, /bin/csh.

При использовании программы more для вывода на экран следующей порции текста надо нажимать клавишу Space, а для того, чтобы вывести предыдущую порцию – клавишу b. Чтобы закончить работу команды more, нужно нажать клавишу q.

Команда cat (concatenate) используется для того, чтобы приписывать содержимое одного файла к окончанию другого файла и помещать результат в третий файл.

Экранная документация

Почти все системы семейства UNIX, включая систему LINUX, имеют экранную документацию (man pages). Ее тексты содержат документацию по системным командам, ресурсам, конфигурационным файлам и т. д. и могут быть выведены на экран в процессе работы.

Для доступа к экранной документации используется команда man (manual). Если необходимо узнать, какие есть опции у команды ls, можно ввести команду

/home/larry# man ls

и на экран будет выведена экранная документация для команды ls.

Большинство текстов экранной документации содержит исключительно технические детали команды без особых пояснений.

cd, pwd, cp, mv, rm, mkdir, rmdir

С данной группой команд все очевидно. Следует лишь заметить, что mv может переименовывать не только файлы, но и директории, а cp и rm также прекрасно справляются с директориями, если им указать ключ "-r" (Recursive).

Замечание 1: "cd" без параметров переходит в home-директорию.

Замечание 2: для копирования файла с сохранением пометки о времени следует указывать команде "cp" ключ "-p".

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

Команда вызывается так:

chmod <режим доступа> имя-файла

Пример: режим доступа – восьмиричное число, по цифре на режим доступа для владельца, группы и остальных (1 - 'x', 2 - 'w', 4 - 'r', цифры складываются):

bobby:~% ls -l file

-rw-r--r-- 1 ivanov lab5 756 Feb 14 20:17 file

bobby:~% chmod 775 file

bobby:~% ls -l file

-rwxrwxr-x 1 ivanov lab5 756 Feb 14 20:17 file

Здесь устанавливается разрешение на чтение, запись и выполнение (4+2+1=7) для владельца и группы и только чтение и исполнение (4+1=5) - для всех остальных.

Можно также указывать режим доступа в символьном виде, например, u=rw,g=r,o=. Подробнее про символьное указание режима доступа можно почитать на man-странице команды chmod.

Символьные линки: ln -s

Символьный линк – это специальный вид файла, который не является собственно файлом, а есть ссылка на другой файл. Неким подобием символьных линков являются «ярлыки» (файлы .lnk) в Windows95/NT.

В момент обращения к линку ядро как бы "заменяет" линк файлом, на который он указывает. Для большинства программ (кроме "особо любопытных") то, что какой-то файл является не файлом, а символьным линком, совершенно прозрачно, и они не заметят разницы.

Символьные линки могут указывать как на файлы, так и на директории и даже на другие символьные линки (возможна цепочка типа symlink1µ->µsymlink2µ->µsymlink3µ->µreal_file).

Символьные линки могут ссылаться на файлы в других директориях, причем ссылки могут быть как абсолютными (symlinkµ->µ/etc/termcap), так и относительными (symlinkµ->µ../../etc/termcap), в этом случае файл, на который ссылается линк, ищется не относительно текущей директории, а относительно директории, в которой расположен линк.

Права доступа символьного линка не играют роли – вместо них всегда используются права доступа файла, на который линк указывает.

Символьный линк может ссылаться как на существующий файл, так и на несуществующий, в этом случае он является "висячим линком". Можно даже сделать символьный линк, ссылающийся "сам на себя" (linkµ->µlink).

Для создания символьного линка используется команда "ln" с ключом "-s", при этом указывается что слинковать и куда – порядок параметров такой же, что в командах cp и mv. При просмотре листинга директории в "детальном" формате кроме имени самого линка показывается также, куда он указывает, а самым первым символом (тип файла) ставится "l".

bobby:/tmp/ex1% ls -l

total 1

-rw-r--r-- 1 ivanov lab5 756 Feb 14 20:43 file.txt

bobby:/tmp/ex1% ln -s file.txt locallink

bobby:/tmp/ex1% ln -s /etc/fstab abslink

bobby:/tmp/ex1% ln -s ../../etc/termcap rellink

bobby:/tmp/ex1% ls -l

total 1

lrwxrwxrwx 1 ivanov lab5 10 Feb 14 20:45 abslink -> /etc/fstab

-rw-r--r-- 1 ivanov lab5 756 Feb 14 20:43 file.txt

lrwxrwxrwx 1 ivanov lab5 8 Feb 14 20:44 locallink -> file.txt

lrwxrwxrwx 1 ivanov lab5 17 Feb 14 20:45 rellink -> ../../etc/termcap

Возможности, упрощающие работу с командной строкой

Поскольку работа с Unix – это в значительной степени взаимодействие с командной строкой, для облегчения этого процесса существует несколько весьма приятных удобств.

<Tab> может "дописать" имя файла или команды.

Если набрать часть имени файла или команды и нажать <Tab>, то остальная часть имени "допишется" автоматически, если начало однозначно определяет имя.

Быстрое копирование текста. Отметив фрагмент текста в консоли или в окне X, можно вставить его, набрав с клавиатуры или нажав среднюю кнопку мыши (если мышь двухкнопочная – две одновременно в X, или правую кнопку в консоли).

Текст, "уехавший" за верх экрана, еще не исчезает.

Нажав <Shift>+<PgUp>, можно проскроллировать консоль или окно xterm в X .

Оболочки LINUX

Оболочка (командный интерпретатор) является посредником между пользователем и ОС. Она преобразует команды в форму, понятную для ОС. Кроме того оболочка обеспечивает работу многих средств.

  1. BASH – оболочка, используемая по умолчанию (добавлено редактирование командной строки).

  2. CSH (С) – широко известная оболочка, но в ней отсутствует редактирование командной строки.

  3. SH – исходный вариант оболочки Борна, совместимая с BASH.

  4. PDKSH – общедоступная оболочка Корна, сочетающая в себе лучшие черты оболочек Борна и С (редактирование командной строки и история команд).

  5. TCSH – улучшенная версия оболочки С с поддержкой редактирования командной строки;

  6. ASH – усеченная оболочка, используемая при дефиците памяти.

Чтобы знать, какая оболочка используется, необходимо выполнить команду

echo $SHELL.