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

VI script4

Теперь можно редактировать файл, оставив только нужные команды. Такой файл можно редактировать не только в этом редакторе, а, например, во встроенном редакторе файлового менеджера mc (вызывается клавишей <F4>).

3.5.2. Научимся удалять каталоги

Теперь познакомимся с командами удаления каталогов. Делать это, в общем случае, можно только с «пустыми» каталогами, не содержащими файлов (конечно, кроме двух файлов "." и "..", создаваемых вместе с самим каталогом). Дадим несколько команд для удаления созданной ранее структуры Ivanov. Сначала такую

rmdir Elena

не получается, последует сообщение

rmdir: `Elena` Directory not empty

нужно удалять каталоги последовательно

rmdir /home/asplinux/Ivanov/Elena/classic

rmdir /home/asplinux/Ivanov/Elena

cd /home/asplinux/Ivanov

Здесь использована команда rmdir. Ее основное назначение удаление пустых каталогов. Но есть команда rm, удаляющая как файлы, так и каталоги, в том числе и не «пустые». Сначала выполним команду rm с параметром –ir удаляющую как каталог Boris, так и все подчиненные ему

rm -ir Boris

Благодаря использованию параметра -i, перед удалением каждого файла или каталога будет задан вопрос, на которые следует ответить «у». Другая опция (r) обеспечивает удаление не пустых каталогов

Теперь опробуем команду, копирующую файл-сценарий script3 не в один, а сразу в несколько каталогов (в нашем случае - два)

1

Cp /home/asplinux/script3

2

/home/asplinux/Ivanov/Dmitry/book/

3

/home/asplinux/Ivanov/Dmitry/car/

Вторая команда не будет выполнена полностью. Если команде cp задано более двух параметров, то все, что записано до последнего аргумента, считаются результирующим каталогом. Все предшествующие ему аргументы (в нашем случае, их два /root/script3 и /root/Ivanov/Dmitry/book/) рассматриваются как файлы, которые надо копировать. То есть этой командой можно копировать даже несколько файлов, но только в один результирующий каталог.

Попробуем дать команду

rm -ir Ivanov

Не получается, так как мы находимся в каталоге, который удаляем. Нужно подняться на один уровень выше и только тогда удалять файлы и каталоги.

cd ..

Теперь выполните

ls –F

Ivanov/ script3*

А для удаления Ivanov/ исполните такую команду.

rm -r Ivanov

Она так же запрашивает, удалять ли всю цепочку вложенных каталогов.

Восстановим удаленную структуру. Имеем два файла (script3 и script4), содержащие все команды, необходимые для этого. Как уже отмечалось, эти файлы не могут быть запущены на выполнение, так как они не являются исполнимыми. Чтобы исправить это, нужно дать, например, такую команду:

chmod u+x script3

Теперь можно выполнить сценарий так.

./script3

Напомним так же, что первые два символа обязательны, так как в системах Linux файлы команд, вызываемые по короткому имени, должны находиться в одном из специально выделенных каталогов. Они перечислены в специальной переменной PATH. Текущий к ним не относится.

3.5.3. Научимся копировать и перемещать файлы и каталоги

Теперь научимся делать копии и переносить файлы в разные каталоги. Напомним, что мы создали структуру с вершиной Ivanov. Это каталог будем использовать для наших действий. Сначала сделаем активным такой каталог.

cd /home/asplinux

ls Ivanov

Для изучения команд копирования и перемещения создадим в /home/asplinux три файла с именами muz, wri и jaz. В первый их них запишем такую информацию:

W.A.Mozart 1756-1791

L.V.Beethoven 1770-1872

N.Paganini 1782-1840

во второй

A.C.Doyle 1859-1936

A.Christie 1891-1976

и в третий

L.Armstrong 1901-1971

D.Elington 1899-1974

Теперь будем копировать и перемещать файлы в различные каталоги (Ivanov и подчиненные ей директории). Сначала выполним такие команды

cp muz wri jaz /Ivanov

ls /home/asplinux/Ivanov

После их завершения выводится такой результат

Boris Dmitry Elena jaz muz wri

А после таких

cp [j-m]* /Ivanov/Boris

mv -i ??[s-z] Ivanov/Elena

будем иметь

ls Ivanov

Boris Dmitry Elena wri

ls ./Ivanov/Boris

classic jaz muz

ls Ivanov/Elena/

classic jaz muz

Отметим, что вторая команда копирования выделяет начинающиеся на любую из букв от j до m, а команда перемещения задана с шаблоном, действующим на файлы у которых на третьем месте стоит любой из символов от s до z.

Соседние файлы в папке Операционные системы