Копирование и вставка — одно из наиболее часто используемых действий на компьютере. Хотя это легко сделать с помощью сочетаний клавиш Ctrl+ Cи Ctrl+ V, в Linux терминал, это не так просто. У вас есть несколько вариантов выполнения работы. Вот как вы можете копировать и вставлять текст, файлы и каталоги в терминале Linux.
Также читайте: Как удалить каталог в Linux
Копировать и вставить текст
Если вы просто хотите скопировать фрагмент текста в терминале, все, что вам нужно сделать, это выделить его мышкой, а затем нажать Ctrl+ Shift+ Cдля копирования.
Чтобы вставить его в место курсора, используйте с
Contents
- 1 Копировать и вставить текст
- 2 Копирование и вставка одного файла
- 3 Копирование и вставка папки и ее содержимого
- 4 Копирование и вставка нескольких файлов
- 5 Копировать и вставить все файлы одного типа
- 6 Сделайте копирование более интерактивным
- 7 Rsync против CP
- 8 Переместить файл или папку
- 9 Часто задаваемые вопросы
Копировать и вставить текст
d>Shift+ V.Кнопка «Вставить» также применяется, когда вы копируете фрагмент текста из документа Word (или любого другого приложения) и хотите вставить его в терминал. Например, вы можете скопировать команду с веб-страницы в браузере и использовать сочетание клавиш Ctrl+ Shift+ V, чтобы вставить ее в терминал.
Если по какой-то причине эти сочетания клавиш не работают, возможно, терминал не настроен для этого должным образом. Найдите параметры, позволяющие настраивать сочетания клавиш. Это инструкции для самых популярных терминалов:
- Терминал Gnome. Откройте меню-гамбургер и выберите «Настройки». Перейдите к «Ярлыки» и прокрутите до «Редактировать». Параметры «Копировать» и «Вставить» появятся там и будут готовы к настройке.
- Консоль : перейдите в «Настройки» и нажмите «Настроить сочетания клавиш». Найдите «Копировать», настройте его на использование упомянутых ранее комбинаций клавиш, затем сделайте то же самое для «Вставить».
Большинство других терминалов блокируют вас универсальной комбинацией по умолчанию для копирования/вставки в консоль без возможности их настройки.
Также читайте: Как использовать cURL для передачи данных из командной строки и многого другого
Копирование и вставка одного файла
Каждый раз, когда вы захотите скопировать файл или папку в командной строке Linux, указанное выше сочетание клавиш не будет работать. Вам нужно использовать команду cp
. cp — это сокращение от слова «копировать». Синтаксис тоже прост. Используйте cp
, затем укажите файл, который вы хотите скопировать, и место назначения, куда вы хотите его переместить.
cp your-file.txt ~/Documents/
Это, конечно, предполагает, что ваш файл находится в том же каталоге, в котором вы работаете. Вы можете указать и то, и другое.
cp ~/Downloads/your-file.txt ~/Documents/
У вас также есть возможность переименовать файл во время его копирования. Укажите новое имя в пункте назначения.
cp ~/Downloads/your-file.txt ~/Documents/new-name.txt
Читайте также: Как использовать команду dd в Linux
Копирование и вставка папки и ее содержимого
Чтобы скопировать папку и ее содержимое, вам нужно указать команде cp
рекурсивное копирование. Это достаточно просто с флагом -r
.
cp -r ~/Downloads/pictures-directory ~/Pictures/family-vacation-pics
Весь остальной синтаксис точно такой же. Флаг -r
сообщает cp
, что он работает с каталогом и должен скопировать его содержимое.
Если вы хотите, чтобы действие вставки перезаписывало существующие файлы, вы можете добавить флаг -f
:
cp -rf ~/Downloads/pictures-directory ~/Pictures/family-vacation-pics
Читайте также: Как использовать команду Rm в Linux
Копирование и вставка нескольких файлов
Вы также можете скопировать несколько файлов. Командная строка Linux позволяет указать сразу несколько элементов с помощью скобок {}
. Их можно использовать для перечисления имен каждого копируемого файла через запятую.
cp ~/Downloads/{file1.txt,file2.jpg,file3.odt} ~/Documents/
Все три файла разных типов будут скопированы в каталог «Документы».
Копировать и вставить все файлы одного типа
Если вам нужно скопировать множество файлов одного типа, вы можете использовать подстановочный знак *
. Звездочка/подстановочный знак указывает командной строке Linux принимать в этом месте абсолютно все. Итак, если вы скажете Linux скопировать *.jpg
, он скопирует все файлы JPG, независимо от имени или того, что идет перед частью.jpg.
cp ~/Downloads/*.jpg ~/Pictures/
Если вы хотите использовать файлы нескольких типов, например JPG и PNG, вы можете использовать скобки, использованные ранее.
cp ~/Downloads/*.{jpg,png} ~/Pictures/
Читайте также: Как копировать и вставлять на сайты, которые вам не позволяют
Сделайте копирование более интерактивным
Как вы, возможно, заметили, следуя этому руководству, использование cp
не дает вам никакого подтверждения или подсказки после завершения того, что он делает, если только не возникает ошибка. Это может вызвать некоторый дискомфорт, особенно если вы выполняете операции копирования очень больших файлов на медленном оборудовании, выполнение которых может занять много времени.
Прикрепляя к команде флаг -v
, вы даете команду cp
предоставить вам наиболее подробный отчет о том, что она делает. Флаг -i
отображает запросы на подтверждение, чтобы у вас была возможность отменить определенные операции, например перезаписать определенные файлы.
cp -rvi ~/Downloads/*.jpg ~/Pictures/
Как правило, флаги <
Копирование и вставка нескольких файлов
м количестве команд, общих для Linux.Rsync против CP
Если по какой-то причине вам нужно выполнить несколько операций копирования, которые перезаписывают файлы (например, создать резервную копию, которую вы будете время от времени обновлять), rsync
может просто вызвать у вас улыбку.п>
rsync
немного более продвинут, поскольку он анализирует детали каждого файла, выполняет полное сравнение данных в обоих файлах и внутри самого файла, перезаписывая только те данные, которые изменились.. Это особенно полезно, если папка назначения находится на твердотельном накопителе, так как это экономит циклы записи и не ухудшает работоспособность накопителя, перезаписывая целые файлы.
Узнайте, как использовать используйте rsync для копирКопировать и вставить все файлы одного типа
кже: Как сохранить вывод терминала в файл в Linux
Переместить файл или папку
Если вы пришли сюда, чтобы переместить файл из одного места в другое, не создавая дубликата, вы тоже можете легко это сделать, но для перемещения файла требуется команда mv
. Синтаксис очень похож на cp.
mv ~/Downloads/your-file.txt ~/Documents/
Аналогично вы также можете переименуйте файл .
mv ~/Downloads/your-file.txt ~/Documents/renamed.txt
Однако есть одно существенное отличие. Вам не нужен флаг -r
для перемещения всей папки.
mv ~/Downloads/downloaded-folder ~/Pictures/vacation-pics
Часто задаваемые вопросы
Rsync лучше, чем cp?
В целом ни один из них не лучше другого. rsync
выполнит полное сравнение файлов в исходной и целевой папках, занимая некоторые вычислительные ресурсы для экономии полосы пропускания или циклов записи. Это прекрасно, если вы постоянно обновляете резервную копию определенной папки, но не идеально, если вы просто выполняете одну операцию копирования.
cp
больше действует как швейцарский армейский нож, который просто хочет выполнить свою работу. Если вам нужно
Сделайте копирование более интерактивным
за вас. Благодаря своей интерактивности он также более удобен для новичков и дает вам немного больше контроля над процессом копирования.Почему я не могу просто использовать Ctrl+C для копирования элементов из терминала?
В терминальных приложениях Linux нажатие Ctrl+ Cна клавиатуре отправляет ядру сигнал SIGINT
(прерывание). Это простой способ заставить Linux остановить все, что работает на этом конкретном терминале.
Если вы настроите функцию «Копировать» в своем терминале так, чтобы она реагировала на эту комбинацию клавиш, вы столкнетесь с проблемами при копировании строки текста из исполняемой команды, пока она еще что-то делает.
див>раздел>
Изображение предоставлено: Neron Photos на Pexels