15768 -rw-rw-rw- 1 you 29 Sep 27 13:16 junk
15274 drwxrwxrwx 4 you 64 Sep 27 09:34 recipes
$
Изменение копии файла или ее удаление не оказывает действия на оригинал. Обратите внимание на то, что, поскольку у файла copyofjunk
Есть еще одна команда общего назначения, управляющая файлами, — mv
cp
и ln
:$ mv junk sameoldjunk $ ls -li total 2
15274 drwxrwxrwx 4 you 64 Sep 27 09:34 recipes
15768 -rw-rw-rw- 1 you 29 Sep 27 13:16 sameoldjunk
$
sameoldjunk
junk
, вплоть до индекса файла, который связан с записью каталога с номером 15768; изменилось только его имя.Все описанные выше манипуляции с файлами происходили в одном каталоге, однако команды применяются и в других каталогах. Команда ln
mv
и cp
есть специальный синтаксис для такой ситуации:$ mv
cp
) file1 file2 ... directory
Здесь показана пересылка (или копирование) одного или нескольких файлов в каталог, который является последним аргументом. Связи или копии файлов получаются под теми же именами. Например, если вы хотите "набить руку" в работе с редактором, то можете начать с
$ cp /usr/src/cmd/ed.с .
получив свою копию исходного текста редактора для экспериментов. Осваивая интерпретатор shell
$ mkdir sh
$ cp /usr/src/cmd/sh/* sh
и команда cp
shell
в ваш вложенный каталог sh
(мы считаем, что в /usr/src/cmd/sh
нет вложенных каталогов, так как команда cp
не слишком "умна"). В некоторых случаях команду ln
допустимо применять с несколькими именами файлов в качестве аргументов, но имя каталога по-прежнему является последним аргументом. В ряде систем команды mv
, cp
и ln
сами служат связями, ссылающимися на один файл, который анализирует имя команды, чтобы узнать, какое задание выполнить.Почему команда ls -l
recipes
?$ ls -ld /usr/you
Чем эта информация полезна?
В чем состоит разница между
$ mv junk junk1
и
$ cp junk junk1
$ rm junk
junk
и затем используйте ее.Команда cp
cp
, чтобы работать с вложенными каталогами, ввести отдельную команду rcp
(рекурсивную cp
) для данного случая или просто предъявить к cp
требование копировать все файлы из каталога, если он встретится среди аргументов (см. гл. 7). Что получат другие программы, если они смогут перемещаться по дереву каталогов?2.6 Иерархия каталогов
В первой главе рассмотрение иерархии файловой системы, начиная с каталога /usr/you
Корневой каталог называется /
$ ls /
bin
boot
dev
etc
lib
tmp
unix
usr
$