Командная строка Linux. Полное руководство - [12]
cp file1 file2 dir1 | Скопирует file1 и file2 в каталог dir1. Каталог dir1 должен существовать |
cp dir1/* dir2 | С использованием группового символа. Скопирует все файлы из каталога dir1 в каталог dir2. Каталог dir2 должен существовать |
cp -r dir1 dir2 | Скопирует каталог dir1 (и все его содержимое) в каталог dir2. Если каталог dir2 не существует, он будет создан и заполнен содержимым каталога dir1 |
mv — перемещение и переименование файлов
Команда mv выполняет операции перемещения и переименования файлов в зависимости от особенностей использования. В любом случае исходный файл исчезает после операции. Команда mv используется почти так же, как команда cp:
>mv item1 item2
перемещает или переименовывает файл или каталог item1 в item2.
>mv элемент... каталог
перемещает один или более элементов из одного каталога в другой.
Команда mv поддерживает множество тех же параметров, что и команда cp, как показано в табл. 4.6 и 4.7.
Таблица 4.6. Параметры команды mv
Параметр | Значение |
-i, --interactive | Запрашивать у пользователя подтверждение перед перезаписью существующего файла. Если этот параметр отсутствует, команда mv просто перезапишет существующие файлы |
-u, --update | При перемещении файлов из одного каталога в другой перемещать только файлы, отсутствующие в каталоге назначения или более новые |
-v, --verbose | Выводить информационные сообщения в процессе перемещения |
Таблица 4.7. Примеры использования команды mv
Команда | Результат |
mv file1 file2 | Переместит file1 в file2. Если file2 существует, он будет заменен на новый файл file1. Если file2 отсутствует, он будет создан. В любом случае появится новый файл file2 |
mv -i file1 file2 | То же, что и выше, но если файл file2 существует, у пользователя будет запрошено подтверждение перед перезаписью файла |
mv file1 file2 dir1 | Переместит file1 и file2 в каталог dir1. Каталог dir1 должен существовать |
mv dir1 dir2 | Переместит каталог dir1 (и все его содержимое) в каталог dir2. Если каталог dir2 не существует, он будет создан и заполнен содержимым каталога dir1. Каталог dir1 будет удален |
rm — удаление файлов и каталогов
Команда rm используется для удаления (remove) файлов и каталогов, например:
>rm элемент...
где элемент — это один или несколько файлов или каталогов.
В табл. 4.8 и 4.9 перечислены некоторые параметры, наиболее часто используемые с командой rm.
Таблица 4.8. Параметры команды rm
Параметр | Значение |
-i, --interactive | Запрашивать у пользователя подтверждение перед удалением существующего файла. Если этот параметр отсутствует, команда rm просто удалит существующие файлы |
-r, --recursive | Рекурсивно удалить каталоги. То есть вместе с каталогом будут удалены все его подкаталоги. Это обязательный параметр при удалении каталогов |
-f, --force | Игнорировать отсутствующие файлы и не запрашивать подтверждения. Этот параметр отменяет действие параметра --interactive |
-v, --verbose | Выводить информационные сообщения в процессе удаления |
Unix-подобные операционные системы, такие как Linux, не имеют команды, отменяющей удаление. Если вы что-то удалили командой rm, это исчезнет навсегда. Linux считает вас достаточно ответственным человеком, отдающим себе отчет в своих действиях.
Будьте особенно осторожны с групповыми символами. Рассмотрим следующий классический пример. Допустим, вы захотели удалить все файлы HTML в каталоге. Для этого вы вводите команду:
rm *.html
которая сделает именно то, что вам нужно, но если вы случайно вставите пробел между * и .html, как в следующей команде:
rm * .html
rm удалит все файлы в каталоге и затем сообщит, что не нашла файла .html.
Полезный совет: всякий раз, используя групповые символы с командой rm (помимо внимательной проверки ввода!), проверьте сначала аргумент с групповым символом с командой ls. Это позволит увидеть, какие файлы будут удалены. Затем нажмите клавишу со стрелкой вверх, чтобы восстановить команду из истории, и замените ls на rm.
Таблица 4.9. Примеры использования команды rm
Команда | Результат |
rm file1 | Просто удалит файл file1 |
rm -i file1 | Перед удалением file1 запросит подтверждение у пользователя |
rm -r file1 dir1 | Удалит файл file1 и каталог dir1 со всем его содержимым |
rm -rf file1 dir1 | То же, что и выше, но в отсутствие file1 и/или dir1 просто продолжит работу, не выводя никаких сообщений |
ln — создание ссылок
Команда ln применяется для создания жесткой или символической ссылки. Ее можно использовать одним из двух способов:
>ln файл ссылка
создает жесткую ссылку.
ln -s элемент ссылка
создает символическую ссылку, где элементом может быть файл или каталог.
Жесткие ссылки
Жесткие ссылки — это первоначальный способ создания ссылок в Unix; символические ссылки — более позднее изобретение. По умолчанию каждый файл имеет одну жесткую ссылку, определяющую его имя. Создавая жесткую ссылку, мы создаем дополнительную запись в каталоге для файла. Жесткие ссылки имеют два важных ограничения.
• Жесткая ссылка не может указывать на файл за пределами собственной файловой системы. Это означает, что ссылка не может указывать на файл, находящийся в другом разделе диска.
• Жесткая ссылка не может указывать на каталог.