ЛР.2. Posix-программирование, копирование, перемещение, удаление файлов, создание ссылок.
Задание
Создать утилиту cml (упрощенный аналог утилит cp, mv, ln) для копирования/перемещения файлов и создания ссылок.
Общий вид:
cml [-h|-l|-m] исходный_файл результирующий_файл
Если исходный файл не существует - сообщить об этом и остановить программу.
Если исходный файл существует, но не является регулярным файлом или ссылкой - сообщить об этом и остановить программу.
Если результирующий файл существует, но не является регулярным файлом или ссылкой - сообщить об этом и остановить программу.
Если результирующий файл не существует, то утилита либо копирует исходный файл, либо перемещает/переименовывает исходный файл [-m],
либо создает жесткую ссылку (-h), либо создает символическую ссылку (-l)
Если результирующий файл существует и является регулярным файлом или ссылкой, следует запросить у пользователя разрешение на удаление.
При положительном ответе - удалить файл и далее работать по предыдущему варианту. При отрицательном - остановить программу
с соответствующим сообщением.