20 авг. 2000 г.

Азы linux (для детей) урок 6

копирование

Для копирования файлов в bash используется команда cp (от "copy"– копировать), которая имеет два обязательных аргумента: имя (адрес) исходного файла и имя (адрес) создаваемой копии или адрес каталога, куда помещается копия.
копирование в командной стоке Linux
Адрес может быть как абсолютным, так и относительным. Если операции с файлами выполняются в текущем каталоге, то адрес нет смысла указывать, а пишется только имя исходного файла и имя копии. При этом следует помнить, что файлов с одинаковыми именами и адресами не может быть, поэтому имя копии должно отличаться от имени исходного файла.
Рассмотрим несколько примеров.
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/

вопросы

  1. Для чего предназначены команды cp, mv, rm, mkdir, rmdir?
  2. Как скопировать каталог?
  3. Можно ли удалить не пустой каталог?
  4. В каком из приведенных ниже примерах происходит перемещение файла? его переименование? одновременно оба действия?
    а) mv ./work/tech/comp.png ./work/tech/my_car.png
  5. б) mv ./work/tech/comp.png ./Desktop
    в) mv ./work/tech/comp.png ./work/tech/computer.png

практическая работа

  1. В домашней директории создайте каталог folder и переместитесь в него.
  2. Создайте в нем три файла любыми известными вам способами, а также вложенный каталог inside.
  3. Скопируйте один файл из каталога folder в каталог inside, а два оставшихся — переместите в inside. Файл, оставшийся в каталоге folder, переименуйте.
  4. Создайте копию каталога inside на рабочем столе (Desktop).
  5. Удалите каталог folder.