Копирование файлов и копирование каталогов в Linux

Copying Files Copying Directories Linux



Linux - это место, которое может творить удивительные вещи при выполнении практически любой задачи. Чтобы пользоваться всеми возможностями Linux, всегда полезно знать некоторые базовые приемы и команды, не так ли? Сегодня давайте посмотрим на команду копирования файлов в Linux.

Прежде чем мы начнем руководство, пришло время сделать небольшое замечание о том, что понимает Linux, сообщая файл или папку. В Linux каждая папка называется каталогом. Каталог может содержать другие каталоги и файлы любого размера при условии, что размер файла достаточен для размещения на устройстве хранения.







Если вы хотите скопировать файл / папку, вы должны достаточно прояснить это для системы, чтобы она не испортила вещи. Также замечательно, что всякий раз, когда вы копируете / перемещаете файл с того или иного диска, вы все равно будете помещать их в папку!



Копирование трюков

Для копирования мы будем использовать команду cp. Это основная структура cp -



cp [параметр]исходный_файл_каталог целевой_файл_каталог

Если вы хотите скопировать файл в другой каталог, вам необходимо выполнить следующие команды. Обратите внимание, что я использую ~/Downloads/testDir/ с 3 тестовыми файлами в качестве демонстрации для этого руководства.

CD~/Загрузки/testDir

# Скопируйте все доступные файлы в ~/Desktop/testDir1 каталог

cp *~/Рабочий стол/testDir1

Здесь cp - это связанная команда для копирования файла из одного каталога в другой. Это всего лишь короткий срок копирования. Есть и другие доступные варианты, такие как -

  • - Интерактивный режим копирования. Если программа обнаружит конфликт (файл уже существует и т. Д.), Она попросит вас действовать в этой ситуации.
  • - Рекурсивный. Эта опция скопирует все включенные файлы и каталоги в место назначения. Это также сохранит древовидную структуру исходного каталога.
  • -v - Подробный режим. Это полезно, если вы хотите получить обратную связь о том, что задача копирования выполняется хорошо. На каждый вопрос доступно 2 ответа - y (да) и n (нет).
cp -v *~/Рабочий стол/testDir1/

Рекомендуется чаще всего использовать эти параметры для получения наилучшей обратной связи во время процесса копирования.

cp -irv~/Рабочий стол/testDir1/

Копирование всего каталога

Теперь давайте представим ситуацию, когда вам нужно скопировать все ваши файлы и каталоги (папки) в целевой каталог. Может быть, вы думаете использовать тот же трюк, что и выше, верно?

Вот тестовый запуск команды, в которой я пытаюсь скопировать все файлы и каталоги из ~ / Downloads / в созданный подкаталог sub /. После запуска этой команды -

cp *суб/

Результат такой -

Ужасно, правда? Все в порядке, и cp должен был скопировать все в этот каталог. В чем проблема?

Ответ мы уже обсуждали выше. Помните параметр cp -r? Он сообщает, что нужно выполнить задачу рекурсивно - скопировать все подкаталоги и файлы из источника в место назначения.

Давайте исправим прямо сейчас! Запустите фиксированную команду -

cp -vr *суб/

Теперь все выглядит нормально и работает.

Интересно отметить, что подкаталог назначения также будет скопирован внутри себя.

Как видите, все содержимое каталога Downloads, включая подкаталог, находится внутри подкаталога.

Точно так же, если вы хотите скопировать весь каталог в другой каталог, используйте параметр -r. Например, я скопирую ~ / Downloads / в / Desktop / testDir1 /.

cp -vr~/Загрузки/~/Рабочий стол/testDir1/

Надеюсь, ваш опыт копирования с Linux достаточно улучшился. Наслаждаться!