Перемещение и копирование каталогов Система Linux позволяет копировать и перемещать целые каталоги. В качестве
первого аргумента команды ср и mv могут использовать имя каталога, позволяя
копировать и перемещать подкаталоги из одного каталога в другой. Первый аргумент -
имя перемещаемого или копируемого каталога, а второй - имя каталога, в который он
будет помещен. При перемещении и копировании каталогов действует та же структура
путевых имен, что и при соответствующих операциях с файлами.
Подкаталоги можно так же легко, как и файлы, копировать из одного каталога в
другой. Для копирования каталога команду ср необходимо использовать с опцией -г
(сокращение от recursive, т.е. "рекурсивный"). Эта опция дает команде ср указание
копировать каталог вместе со всеми его подкаталогами. Другими словами, копируется все
поддерево каталогов, начиная с указанного. В следующем примере каталог thankyou
копируется в каталог oldletters. После завершения этой операции начинают равноправно
сосуществовать два подкаталога thankyou: один в каталоге letters, другой в oldletters.
$ ср -r letters/thankyou oldletters
$ ls -F letters
thankyou/
$ ls -F oldletters
thankyou/
Предположим, вы хотите скопировать не каталог, делая его тем самым
подкаталогом другого каталога, а только все его файлы. Для копирования всех файлов
из одного каталога в другой нужно указать имена этих файлов. Специальный символ *
обозначает имена всех файлов и каталогов в данном каталоге. Для того чтобы
скопировать все файлы из каталога letters в каталог oldletters, нужно в качестве первого
аргумента поставить звездочку, и программа создаст список всех имен файлов,
имеющихся в каталоге letters. Если нужно указать путевое имя первого аргумента,
сделайте это, а звездочку поставьте в конце. В следующем примере все файлы из каталога
letters копируются в каталог oldletters. Для letters указано путевое имя, а звездочка в конце
этого имени обозначает все файлы в данном каталоге.
$ ср letters/* oldletters
Если вы хотите, чтобы операция копирования осуществлялась и над
подкаталогами, нужно указать опцию -r.
$ ср -r letters/* oldletters