Добавлен: 30.10.2018
Просмотров: 436
Скачиваний: 7
Лабораторная работа №6
Интерфейс командной строки ОС Unix
ЦЕЛЬ РАБОТЫ Изучение команд Unix - подобных операционных систем для работы с файлами и папками.
Создайте текстовый файл, и все исследования по работе заносите в него.
При работе с командами в данной ЛР можно воспользоваться источником: http://younglinux.info
Работая в любой графической оболочке (например, KDE или Gnome) мы часто выполняем такие операции как копирование, перемещение, переименование объектов (файлов и папок), также создаем файлы и каталоги. Все это изменяет файловую структуру (по крайней мере, ее "пользовательскую" часть). Очевидно что подобные операции (копирование, перемещение и др.) должны быть предусмотрены и в командной оболочке Linux.
копирование
Для копирования файлов в bash используется команда cp (от "copy"– копировать), которая имеет два обязательных аргумента: имя (адрес) исходного файла и имя (адрес) создаваемой копии или адрес каталога, куда помещается копия.
Адрес может быть как абсолютным, так и относительным. Если операции с файлами выполняются в текущем каталоге, то адрес нет смысла указывать, а пишется только имя исходного файла и имя копии. При этом следует помнить, что файлов с одинаковыми именами и адресами не может быть, поэтому имя копии должно отличаться от имени исходного файла.
Рассмотрим несколько примеров.
cp readme readme2
В данном случае создается копия файла readme, которая остается в той же директории под именем readme2.
cp readme Desktop/
Создается копия на рабочем столе. Непосредственное имя копии в данном случае можно оставить прежним, т.к. полные имена (адрес + имя) файлов различны. Используется относительная адресация (каталог Desktop является дочерним по отношению к домашнему каталогу).
cp /home/irina/tux.png /mnt/D/pingvin.png
Здесь копируется файл из домашнего каталога пользователя irina в каталог D, используются абсолютные адреса, имя копии изменяется.
Чтобы скопировать каталог необходимо после команды cp прописать ключ r:
cp -r ./letters ./oldletters
перемещение и переименование
Для перемещения и переименования в bash-оболочки Linux используется одна команда – mv (от "move" – перемещать). Также как и с командой копирования обязательно наличие двух аргументов, а выбор того или иного действия (перемещения или переименования) зависит от того, что это за аргументы. При перемещении файл меняет свой адрес, следовательно, если в первом и втором аргументах указаны различные адреса, то произойдет перемещение, если одинаковые (а различны только имена) – переименование.
В случае перемещения во втором аргументе может быть указан только каталог (перемещение без переименования), куда требуется переместить файл.
mv document.txt Work
mv document.txt Work/doc23.txt
Здесь в первом случае файл document.txt перемещается в каталог Work, а во-втором случае одновременно происходит перемещение файла и его переименование: файл document.txt перемещается в директорию Work и получает новое имя doc23.txt.
При использовании команды mv для переименования в качестве второго аргумента указывается новое имя:
mv order.txt orderNew.txt
mv Work/list.odt Work/names.odt
создание файлов и каталогов
Новые директории создаются командой mkdir. Например, чтобы создать каталог Work в текущей директории необходимо выполнить следующую команду:
mkdir Work
или
mkdir ./Work
Существует множество способов создания файлов. Один из них – это создание пустого файла с помощью команды touch. В качестве аргумента ей передается имя файла. Еще один способ – это перенаправление вывода какой-либо команды в файл. Пример:
cal > ./Work/January
Здесь команда cal выводит календарь на текущий месяц, а поскольку стоит знак ">" (в данном случае обозначающий "направить результат выполнения команды в ..."), то вывод команды будет записан в файл January, находящийся в папке Work.
удаление файлов и каталогов
Для удаления каталогов используется команда rmdir. Удалять можно только пустые каталоги, т. е. не содержащие файлов и поддиректорий (вложенных папок).
Для удаления файлов используется команда rm. Например:
rm ghost.png
Чтобы удалить не пустой каталог можно использовать команду rm с ключом -r. При этом при удаление каждого вложенного объекта будет требоваться подтверждения.
Однако если добавить еще ключ -f, то вопросов на подтвержение уже возникать не будет:
rm -rf /mnt/save/alldocuments/
Вопросы:
-
Для чего предназначены команды cp, mv, rm, mkdir, rmdir?
-
Как скопировать каталог?
-
Можно ли удалить не пустой каталог?
-
В каком из приведенных ниже примерах происходит перемещение файла? его переименование? одновременно оба действия?
а) mv ./work/tech/comp.png ./work/tech/my_car.png
б) mv ./work/tech/comp.png ./Desktop
в) mv ./work/tech/comp.png ./work/tech/computer.png
Задание:
-
В домашней директории создайте каталог folder и переместитесь в него.
-
Создайте в нем три файла любыми известными вам способами, а также вложенный каталог inside.
-
Скопируйте один файл из каталога folder в каталог inside, а два оставшихся — переместите в inside. Файл, оставшийся в каталоге folder, переименуйте.
-
Создайте копию каталога inside на рабочем столе (Desktop).
-
Удалите каталог folder.