Linux копирование файлов в консоли: Как копировать (и вставлять) файлы и каталоги из командной строки в Linux

Как копировать (и вставлять) файлы и каталоги из командной строки в Linux

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

Скопируйте один файл

Каждый раз, когда вы хотите скопировать файл или папку в командной строке Linux, вы будете использовать команду cp. cp Это сокращение от копирования. Синтаксис также прост. Используйте cp, затем укажите файл, который вы хотите скопировать, и место назначения, в которое вы хотите его переместить.

cp your-file.txt ~/Documents/

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

cp ~/Downloads/your-file.txt ~/Documents/

У вас также есть возможность переименовать файл при его копировании. Укажите новое имя в месте назначения.

cp ~/Downloads/your-file.txt ~/Documents/new-name.txt

Скопируйте папку и ее содержимое

Чтобы скопировать папку и ее содержимое, вам нужно будет сообщить команде cp повторное копирование. Это достаточно просто с тегом -r.

cp -r ~/Downloads/pictures-directory ~/Pictures/family-vacation-pics

Весь остальной синтаксис точно такой же. тег работает -r сказать cp Он работает с каталогом и должен копировать его содержимое.

Копировать несколько файлов

Вы также можете скопировать несколько файлов. Командная строка Linux позволяет настроить таргетинг на несколько элементов одновременно, используя круглые скобки. {}. Вы можете использовать его для перечисления имен каждого копируемого файла, чтобы файлы были разделены запятыми.

cp ~/Downloads/{file1.txt,file2.jpg,file3.odt} ~/Documents/

Все три файла с разными типами файлов будут скопированы в каталог Documents.

Скопируйте все файлы одного типа

Если у вас есть много файлов одного типа для копирования, вы можете использовать подстановочный знак *. «Звездочка / подстановочный знак» указывает командной строке Linux принимать что-либо в этом месте. Итак, если вы попросите Linux скопировать *.jpg , он скопирует все файлы JPG, независимо от имени или того, что стоит перед частью .jpg.

cp ~/Downloads/*.jpg ~/Pictures/

Если вы хотите использовать несколько типов файлов, например JPG и PNG, вы можете использовать круглые скобки, как и раньше.

cp ~/Downloads/*.{jpg,png} ~/Pictures/

Переместить файл или папку

Если вы пришли сюда, чтобы переместить файл из одного места в другое без дублирования, вы тоже можете сделать это легко, но для перемещения файла требуется mv. Синтаксис очень похож на cp.

mv ~/Downloads/your-file.txt ~/Documents/

Точно так же можно и переименовать.

mv ~/Downloads/your-file.txt ~/Documents/renamed.txt

Однако есть одна большая разница. Вам не нужна бирка -r Чтобы переместить всю папку.

mv ~/Downloads/downloaded-folder ~/Pictures/vacation-pics

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

Источник

Как копировать файлы и каталоги в Linux

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

Обычной практикой является использование команды cp для копирования файлов и rsync для копирования каталогов.

Чтобы иметь возможность копировать файлы и каталоги, у вас должны быть как минимум права на чтение исходного файла и права записи в целевой каталог.

Содержание

Копирование файлов с помощью команды

cp

В операционных системах Linux и Unix команда cp используется для копирования файлов и каталогов.

Самый простой вариант использования — скопировать файл в текущий рабочий каталог. Например, чтобы скопировать файл с именем file.txt в файл с именем file_backup.txt в текущем каталоге , вы должны выполнить следующую команду:

cp file.txt file_backup.txt

Если целевой файл существует, он будет перезаписан. Чтобы получить запрос на подтверждение перед перезаписью файлов, используйте параметр -i .

cp -i file.txt file_backup.txt

По умолчанию при использовании команды cp для копирования файла новый файл будет принадлежать пользователю, выполняющему команду. Используйте параметр -p чтобы сохранить режим файла, владельца и временные метки :

cp -p file.txt file_backup.txt

Другой вариант, который может быть полезен, — это -v . При использовании этой опции команда печатает, что делается:

cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'

Скопируйте файл в каталог

Чтобы скопировать файл в каталог, укажите абсолютный или относительный путь к каталогу. Если целевой каталог не указан, файл копируется в текущий каталог.

В следующем примере мы file.txt файл file.txt в file.txt /backup :

cp file.txt /backup

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

Если вы хотите скопировать файл под другим именем, вам необходимо указать желаемое имя файла:

cp file. txt /backup/new_file.txt

Приведенная выше команда скопирует файл в указанный каталог как new_file.txt .

Копировать несколько файлов

Чтобы скопировать сразу несколько файлов и каталогов, укажите имена исходных файлов и каталогов, за которыми следует каталог назначения в качестве последнего аргумента:

cp file.txt dir file1.txt file2.txt dir1

При копировании нескольких файлов местом назначения должен быть каталог.

Команда cp также позволяет использовать сопоставление с образцом. Например, чтобы скопировать все файлы .png из текущего каталога в каталог /backup , вы должны использовать:

cp *.png /backup

Копирование каталогов с помощью команды

cp

Чтобы скопировать каталог, включая все его файлы и подкаталоги, используйте параметр -R или -r . В следующем примере мы копируем каталог Pictures в Pictures_backup :

cp -R Pictures Pictures_backup

Приведенная выше команда создаст каталог назначения и рекурсивно скопирует все файлы и подкаталоги из источника в каталог назначения.

Если целевой каталог уже существует, сам исходный каталог и его содержимое копируются в целевой каталог. Чтобы скопировать только файлы и подкаталоги, но не целевой каталог, используйте параметр -T :

cp -RT Pictures Pictures_backup

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

Копирование файлов и каталогов с помощью команды

rsync

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

rsync включает множество параметров, которые контролируют каждый аспект его поведения.

Наиболее полезная опция -a которая рекурсивно копирует каталоги, передает специальные и блочные устройства и сохраняет символические ссылки, время модификации, группу, владение и разрешения.

Чтобы скопировать один файл из одного места в другое, вы должны выполнить следующую команду:

rsync -a file.txt file_backup.txt

Если целевой файл существует, rsync перезапишет его.

Эту же команду можно использовать для копирования каталога:

rsync -a /var/www/public_html/ /var/www/public_html_backup/

rsync по-разному rsync исходным каталогам, заканчивающимся косой чертой / . Если вы добавите завершающую косую черту в исходный каталог, команда скопирует только содержимое исходного каталога в целевой каталог. Если косая черта в конце опущена,

rsync скопирует исходный каталог в целевой каталог. Самый безопасный вариант — всегда включать косую черту / как в месте назначения, так и в источнике.

Чтобы узнать больше о rsync прочтите следующие статьи:

  • Как использовать Rsync для локальной и удаленной передачи и синхронизации данных
  • Как исключить файлы и каталоги с помощью Rsync

Выводы

Мы показали вам, как копировать файлы и каталоги в системах на базе Linux и Unix, используя утилиты cp и rsync .

Если у вас есть вопросы, оставьте комментарий ниже.

Копировать файлы в терминал Linux

Изображение:

CC BY-SA Сет Кенлон

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

Чтобы скопировать файл в терминал, вы используете cp , которая работает точно так же, как команда

mv , за исключением того, что она дублирует содержимое файла, а не перемещает его из одного места в другое.

 $ cp example.txt ~/Documents 

Как и в случае с командой mv , вы можете переименовывать файл во время его копирования.

 $ cp example.txt ~/Documents/file. txt 

Будьте осторожны при использовании cp , потому что он делает именно то, что вы ему говорите. По умолчанию это а не спросит вас, хотите ли вы скопировать один файл поверх другого файла с тем же именем. Чтобы защитить себя от этого, используйте cp —interactive (или -i для краткости), которая запускает cp в интерактивном режиме , что означает, что она спросит вас, уверены ли вы, что хотите перезаписать существующий файл. Вы можете либо подтвердить, либо отменить и повторно выполнить

cp и переименовать файл во что-то другое, чтобы он не конфликтовал с существующими файлами.

Скопируйте папку

Команда cp ищет файлы, а не папки, потому что папок на самом деле не существует (то есть они на самом деле не являются данными, они просто маркеры для нас, людей, чтобы логически разделить наши данные на разные воображаемые контейнеры.) Чтобы скопировать папку, используйте cp —recursive (или -r для краткости), которая берет файлы из папки , а воссоздает их воображаемый контейнер.

 

$ cp -r Документы MyStuff
$ ls
Документы
Загрузки
Музыка
MyStuff
Шаблоны
Картинки
Видео

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

Однако иногда приятно получить обратную связь от вашей ОС. Обычно -v переключатель добавляет «многословие» к команде:

 

$ cp -r --verbose Documents Stuff
'Documents/' -> 'Stuff'
'Documents/example.txt' -> 'Stuff/example. txt'
'Документы/file.txt' -> 'Материалы/file.txt'
'Документы/example.png' -> 'Материалы/example.png'
'Документы/picture.png' -> 'Материалы/картинки .png'

Эта работа находится под лицензией Creative Commons Attribution-Share Alike 4.

0 International License.

Команда Linux cp: Руководство

Команда Linux cp копирует файл или папку на компьютер. Вы можете перемещать один или несколько файлов и папок одновременно. Синтаксис для cp — это имя копируемого файла, за которым следует место, где должна находиться копия.

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

Найди свой учебный лагерь

  • Career Karma подберет для тебя лучшие технологические учебные курсы
  • Доступ к эксклюзивным стипендиям и подготовительным курсам

Выберите интересующий вас вопрос
Разработка программного обеспеченияДизайнОбработка и анализ данныхАналитика данныхПродажиUX-дизайнКибербезопасностьИмя

Фамилия

Электронная почта

Номер телефона

Продолжая, вы соглашаетесь с нашими Условиями обслуживания и Политикой конфиденциальности, а также соглашаетесь получать предложения и возможности от Career Karma по телефону, текстовым сообщениям и электронной почте.

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

Команда cp в Linux: копирование файла

Команда cp в Linux используется для копирования файлов и каталогов в другое место. Чтобы скопировать файл, укажите «cp», а затем имя файла для копирования. Затем укажите место, где должен появиться новый файл. Новый файл не обязательно должен иметь то же имя, что и тот, который вы копируете.

Давайте посмотрим на синтаксис команды cp в Linux:

 cp [источник] [назначение] 

«Источник» относится к файлу или папке, которые вы хотите переместить. «Назначение» — это целевой каталог, в который вы хотите переместить этот файл или папку.

Если «исходный» и «целевой» являются файлами, исходный файл будет скопирован в целевой файл. Если вы укажете несколько файлов или каталогов в качестве «источника», «назначением» должна быть папка, в которую можно переместить эти файлы и каталоги.

cp Linux Examples

Давайте рассмотрим несколько примеров, чтобы проиллюстрировать, как работает эта команда.

Команда cp в Linux: копирование файла в текущий каталог

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

 README.md
app.sh
конфиг/
мусорное ведро /
app/ 

Предположим, мы хотим создать копию файла «app.sh» в файле с именем «__init__.sh». Мы могли бы сделать это с помощью этой команды:

 cp app.sh __init__.sh 

Когда мы запускаем эту команду, содержимое «app.sh» копируется в файл «__init__.sh». Поскольку файл «__init__.sh» не существует, он создается.

Если мы запустим ls , мы увидим, что наш обычный файл был создан на основе нашего предыдущего файла:

 README.
md app.sh __инит__.ш config/

Мы указали новое имя для нашего скопированного файла. Нам не нужно было копировать наш файл, а затем переименовывать его с помощью команды Linux mv.

Если указать то же имя, что и у уже существующего файла, существующий файл будет перезаписан. Действительно, команда cp может перезаписать существующий файл.

Команда cp в Linux: копирование файла в другой каталог

Мы также можем использовать команду cp Linux для копирования файла в другой каталог. Предположим, мы хотим создать копию нашего файла «__init__.sh» и сохранить его в каталоге «config». Мы могли бы сделать это с помощью этой команды:

 cp __init__.sh config/ 

Мы можем использовать ls для просмотра содержимого нашей папки «config»:

 ls config/ 

Эта команда возвращает:

 __init__.py 

Создана копия файла «__init__.sh» в каталоге «config». Этот файл называется нашим «целевым файлом», как мы упоминали в примере с синтаксисом ранее.

Вы можете указать новое имя файла для копии создаваемого файла. Если вы хотите создать копию «README.md» в каталоге «config» и назвать ее «readme.txt», вы можете сделать это с помощью этой команды:

 cp README.md config/readme.txt 

Это похоже на то, как мы скопировали наш файл в последнем примере. Мы указали новое имя для нашего нового файла.

Как скопировать папку с помощью команды Linux cp

По умолчанию команда Linux cp не копирует каталог. Но вы все равно можете использовать cp для копирования папки. Для этого вам необходимо передать флаг -R .

При этом папка и все ее содержимое будут скопированы в другую папку. Синтаксис этой команды:

 cp -R [источник] [назначение] 

Предположим, мы хотим скопировать папку «bin» в «bin_backup». Мы можем сделать это с помощью этой команды:

 cp -R bin bin_backup 

Если указанный вами каталог назначения существует, содержимое исходного каталога будет скопировано в каталог назначения. В противном случае будет создана новая папка со значением, которое вы указали для «назначения».

Копировать несколько файлов и папок

Команда Linux cp позволяет копировать несколько файлов и папок. Синтаксис для этого следующий:

 cp [файл1] [файл2] … [назначение] 

Предположим, мы хотим скопировать «app.sh» и «__init__.sh» в каталог с именем «bin». Мы могли бы сделать это с помощью этой команды:

 cp app.sh __init__.sh bin/ 

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

«Карьерная карма вошла в мою жизнь, когда я больше всего в ней нуждалась, и быстро помогла мне попасть на буткемп. Через два месяца после выпуска я нашла работу своей мечты, которая соответствовала моим ценностям и целям в жизни!»

Венера, инженер-программист Rockbot

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

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *