Копирование и вставка - одно из наиболее часто используемых действий на компьютере. Хотя это легко сделать с помощью сочетаний клавиш Ctrl + C и Ctrl + V, в Linux терминал это не так просто. У вас есть несколько вариантов выполнения работы. Вот как вы можете копировать и вставлять текст, файлы и каталоги в терминале Linux.
Копировать и вставить текст
Если вы просто хотите скопировать фрагмент текста в терминал, все, что вам нужно сделать, это выделить его мышью, а затем нажать Ctrl + Shift + C скопировать.
Чтобы вставить его туда, где находится курсор, используйте сочетание клавиш Ctrl + Shift + V.
Ярлык "Вставить" также применяется, когда вы копируете фрагмент текста из документа Word (или любого другого приложения) и хотите вставить его в терминал. Например, вы можете скопировать команду с веб-страницы в своем браузере и использовать сочетание клавиш Ctrl + Shift + V, чтобы вставить ее в Терминал.
Скопируйте и вставьте один файл
Каждый раз, когда вы хотите скопировать файл или папку в командной строке Linux, указанное выше сочетание клавиш не будет работать. Вы должны использовать команду cp
. cp - это сокращение от copy. Синтаксис тоже прост. Используйте 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, что он работает с каталогом и должен скопировать его содержимое.
Если вы хотите, чтобы действие вставки перезаписывало существующие файлы, вы можете добавить флаг -f
:
cp -rf ~ / Downloads / pictures-directory ~ / Pictures / family-vacation-pics
Копировать и вставлять несколько файлов
Вы также можете скопировать несколько файлов. Командная строка 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? Вот как проверить историю sudo или узнать, что команда chmod 777 делает с вашими правами доступа к файлу.
Изображение предоставлено: Copy - Paste by DepositPhotos
Я использую debian 10.4, и ни одна из команд copy=paste не будет работать с моим терминалом.
Я часто использую эти команды в Termux, и они работают!