Практикум 3
Задание 1. Получение справки
Команда rm
rm <option_s> <file_s> (может быть выбрано неколько директорий (при доп. опциях) / файлов для удаления)
rm удаляет конкретно указанный файл. По умолчанию не удаляет директории.
Если дана опция -I или --interactive=once (вывод запроса на удаление ровно один раз), и выбрано больше трех файлов или дана опция -r / -R / --recursive (рекурсивное удаление, то есть удаление папки и всего ее содержимого), команда запрашивает разрешение на выполнение операции. При отклонении операция не будет выполняться.
Если же а) файл нельзя редактировать (отсуствует право w) и не даны опции -f / --force (игнорирование несуществующих файлов, не выдавать запросы на удаление файлов), или б) дана опция -i / --interactive=always (вывод запроса на удаление каждый раз), команда запрашивает разрешение на удаление файла. При отрицательном ответе операция для этого файла будет пропущена.
-f, --force
Игнорировать несуществующие файлы, не выдавать запросы на подтверждение удаления.
-i
Выдавать запрос о подтверждении удаления каждого файла.
-I
Выдать запрос один раз перед удалением более трех файлов, или при рекурсивном удалении.
Команда cp
cp <option_s> <needed_file_s_or_directory_ies> <into_this_file_or_directory>
Копирование файлов и директорий. Обязательные аргументы для длинных опций (--command) так же обязательны и для коротких (-c).
-R, -r, --recursive
Копирует директории рекурсивно (папка и все ее содержимое).
-u, --update
Копировать только если исходный файл новее, чем файл назначения, или когда последний отсутствует.
-t, --target-directory=DIRECTORY
Копирует все исходные файлы в папку (здесь: DIRECTORY).
Команда mv
mv <option_s> <needed_file_s_or_directory_ies> <directory_or_new_name>
Переименовывает исходные файлы и директории в новые, или перемещает исходные файлы и директории в уже существующие директории. Обязательные аргументы для длинных опций (--command) так же обязательны и для коротких (-c).
-u, --update
Перемещать, только если исходный файл новее файла назначения (файл, в который мы переименовываем исходный), или если последний отсутствует.
-t, --target-directory=DIRECTORY
Переместить все исходные аргументы в указанную директорию (здесь: DIRECTORY).
-v, --verbose
Объяснить, что было сделано.
Задание 3. Поведение команд cp и mv
mv
mv arg1 arg2 |
arg1 файл |
arg1 папка |
arg1 не существует |
arg2 файл |
arg1 переименовался в arg2, сам arg2 стерся |
ошибка |
ошибка, не найден arg1 |
arg2 папка |
файл arg1 в папке arg2 |
папка arg1 в папке arg2 |
ошибка, не найден arg1 |
arg2 не существует |
arg1 под названием arg2 |
переименование папки arg1 в папку с названием arg2 |
ошибка |
cp
cp arg1 arg2 |
arg1 файл |
arg1 папка |
arg1 не существует |
arg2 файл |
файл arg2 имеет содержимое arg1, при этом сам arg1 не изменился |
ошибка |
ошибка, не найден arg1 |
arg2 папка |
файл arg1 скопировался в папку arg2 |
ошибка |
ошибка, не найден arg1 |
arg2 не существует |
содержимое файла arg1 скопировалось и поместилось в новый файл с именем arg2 (итого 2 файла с одним содержимым и разными именами) |
ошибка |
ошибка |