Прежде чем мы начнем руководство, пришло время сделать небольшое замечание о том, что понимает Linux, сообщая файл или папку. В Linux каждая папка называется каталогом. Каталог может содержать другие каталоги и файлы любого размера при условии, что размер файла достаточен для размещения на устройстве хранения.
Если вы хотите скопировать файл / папку, вы должны достаточно прояснить это для системы, чтобы она не испортила вещи. Также замечательно, что всякий раз, когда вы копируете / перемещаете файл с того или иного диска, вы все равно будете помещать их в папку!
Копирование трюков
Для копирования мы будем использовать команду cp. Это основная структура cp -
cp [параметр]исходный_файл_каталог целевой_файл_каталог
Если вы хотите скопировать файл в другой каталог, вам необходимо выполнить следующие команды. Обратите внимание, что я использую ~/Downloads/testDir/
с 3 тестовыми файлами в качестве демонстрации для этого руководства.
# Скопируйте все доступные файлы в ~/Desktop/testDir1
каталог
Здесь cp - это связанная команда для копирования файла из одного каталога в другой. Это всего лишь короткий срок копирования. Есть и другие доступные варианты, такие как -
- -я - Интерактивный режим копирования. Если программа обнаружит конфликт (файл уже существует и т. Д.), Она попросит вас действовать в этой ситуации.
- -р - Рекурсивный. Эта опция скопирует все включенные файлы и каталоги в место назначения. Это также сохранит древовидную структуру исходного каталога.
- -v - Подробный режим. Это полезно, если вы хотите получить обратную связь о том, что задача копирования выполняется хорошо. На каждый вопрос доступно 2 ответа - y (да) и n (нет).
Рекомендуется чаще всего использовать эти параметры для получения наилучшей обратной связи во время процесса копирования.
cp -irv~/Рабочий стол/testDir1/
Копирование всего каталога
Теперь давайте представим ситуацию, когда вам нужно скопировать все ваши файлы и каталоги (папки) в целевой каталог. Может быть, вы думаете использовать тот же трюк, что и выше, верно?
Вот тестовый запуск команды, в которой я пытаюсь скопировать все файлы и каталоги из ~ / Downloads / в созданный подкаталог sub /. После запуска этой команды -
cp *суб/Результат такой -
Ужасно, правда? Все в порядке, и cp должен был скопировать все в этот каталог. В чем проблема?
Ответ мы уже обсуждали выше. Помните параметр cp -r? Он сообщает, что нужно выполнить задачу рекурсивно - скопировать все подкаталоги и файлы из источника в место назначения.
Давайте исправим прямо сейчас! Запустите фиксированную команду -
cp -vr *суб/
Теперь все выглядит нормально и работает.
Интересно отметить, что подкаталог назначения также будет скопирован внутри себя.
Как видите, все содержимое каталога Downloads, включая подкаталог, находится внутри подкаталога.
Точно так же, если вы хотите скопировать весь каталог в другой каталог, используйте параметр -r. Например, я скопирую ~ / Downloads / в / Desktop / testDir1 /.
cp -vr~/Загрузки/~/Рабочий стол/testDir1/
Надеюсь, ваш опыт копирования с Linux достаточно улучшился. Наслаждаться!