Как копировать в терминале linux
Для копирования файлов используйте команду cp («copy»). Она принимает два аргумента: исходный файл, который существует и должен быть скопирован, и целевой файл, который определяет имя файла-копии. cp создает идентичную копию файла, присваивая ей указанное имя целевого файла. Если файл с таким именем уже существует, cp перезаписывает его. Она не изменяет исходный файл.
Чтобы скопировать файл `my-copy’ в файл `neighbor-copy’, наберите:
$ cp my-copy neighbor-copy [Enter]
Эта команда создает новый файл с именем `neighbor-copy’, который является идентичным файлу `my-copy’ во всех отношениях, кроме имени файла, имени владельца, группы и времени модификации — новый файл имеет время модификации, указывающее момент его копирования. Файл `my-copy’ не изменяется.
Чтобы сохранить все атрибуты оригинального файла, включая его время модификации, имя владельца, группу и права доступа, используйте ключ `-p’ («preserve»)(сохранить).
Чтобы скопировать файл `my-copy’ в файл `neighbor-copy’, сохранив все атрибуты исходного файла в копии, наберите:
$ cp -p my-copy neighbor-copy [Enter]
Эта команда копирует файл `my-copy’ в новый файл `neighbor-copy’, полностью идентичный исходному по всем аспектам, кроме имени файла.
Чтобы скопировать каталог вместе со всеми подкаталогами и файлами, которые он содержит, используйте опцию -R — она создает рекурсивную копию указанного каталога и его содержимого.
Чтобы скопировать каталог `public_html’ вместе со всеми его файлами и подкаталогами, в новый каталог `private_html’, введите:
$ cp -R public_html private_html [Enter]
Опция `-R’ не копирует файлы, являющиеся символической ссылкой, и не сохраняет оригинальные права доступа к файлам. Чтобы скопировать каталог рекурсивно, включая все ссылки и учитывая все права доступа, используйте опцию `-a’ («archive»). Это полезно для резервного копирования больших по объему деревьев каталогов.
Чтобы сделать резервную копию дерева каталогов `public_html’ в каталог `private_html’, введите:
$ cp -a public_html private_html [Enter]
Alex Otwagin 2002-12-16
Как скопировать файл в Linux через терминал
При работе с Linux через терминал не редко приходится создавать копии файлов или копировать файлы из одной папки в другую. Например, это могут быть файлы конфигураций, которые используются для настройки программ, или просто документы пользователя. В данной инструкции мы расскажем, как скопировать файл в Linux через терминал и какие команды для этого потребуются. Статья будет актуальной для любого дистрибутива Linux, например, Ubuntu Linux или Debian
Команда для копирования «cp»
Для копирования файлов в Linux через терминал используется команда « cp » (от англ. «copy»). Команда « cp » представляет собой утилиту командной строки для копирования файлов и каталогов. Она поддерживает перемещение одного или нескольких файлов или папок с параметрами для создания резервных копий и сохранения атрибутов.
В общем случае, для того чтобы скопировать файл в Linux через терминал достаточно ввести команду « cp » и передать ей имя исходного и нового файла. Например, для того чтобы скопировать « file.txt » в новый « newfile.txt » нужно выполнить следующую команду:
cp file.txt newfile.txt
Обратите внимание , по умолчанию команда « cp » всегда будет перезаписывать уже имеющиеся файлы копируемыми, но это поведение можно изменить с помощью опций, которые мы рассмотрим во второй части статьи.

Таким же образом выполняется копирование файла в другую папку. Вводим команду « cp », указываем путь к файлу и затем каталог, в который его нужно скопировать. Например, для того чтобы скопировать « file.txt » в каталог « folder » нужно выполнить вот такую команду:
cp file.txt folder/

Естественно, если это необходимо, вы можете вводить полные пути к файлам и папкам, которые копируете командой « cp ». Например, копирование может выглядеть так:
cp ~/temp/newfile.txt ~/temp/folder/

Еще один пример копирования с указанием полного пути:

При необходимости можно скопировать сразу несколько файлов. В этом случае сначала нужно перечислить файлы, а потом указать папку, в которую их нужно скопировать. Например, для того чтобы скопировать « file.txt » и « newfile.txt » в каталог « folder » нужно выполнить следующее:
cp file.txt newfile.txt folder/

Аналогичное действие можно выполнить и с помощью маски. Например, для того чтобы скопировать все txt -документы в определенную директорию можно выполнить вот такую команду:
cp *.txt folder/

При копировании каталогов нужно добавлять параметр « -R », так как без этого « cp » будет выдавать ошибку. Поэтому, для копирования каталогов нужно ввести команду « cp -R » и указать исходный и новый каталог. Например, для того чтобы скопировать каталог « folder » в « newfolder » вам нужно выполнить вот такую команду:
cp -R folder/ newfolder/

Как и в случае с файлами, папки можно копировать сразу по несколько штук. Для этого нужно ввести «cp», перечислить копируемые папки и указать каталог назначения. Например, для того чтобы скопировать папки « folder » и « folder2 » в « newbigfolder » нужно выполнить следующее:
cp -R folder/ folder2/ newbigfolder/

Синтаксис и опции команды «cp»
Команда « cp » имеет множество опций, с помощью которых можно контролировать буквально все аспекты копирования файлов. Синтаксис команды выглядит следующим образом:
cp [опции] источник приемник
Самых опций у команды « cp » очень много, поэтому мы рассмотрим только самые простые и часто используемые. С остальными опциями вы сможете ознакомиться отдельно, выполнив в терминале Linux команду « man cp ».
-R , -r , --recursive Рекурсивное копирование каталогов. -b Создание резервной копии для всех файлов, которые могли быть перезаписаны или удалены при копировании. -d Копирование символических ссылок, а не файлов, на которые они ссылаются. -L Копировать файлы, а не символические ссылки. -l , --link Создание жестких ссылок, а не их копирование. -P, --no-dereference Не переходить по символическим ссылкам. -f, --force Если существующий файл назначения не может быть открыт, удалите его и повторите попытку. -i, --interactive Запрос перед перезаписью файлов. -n, --no-clobber Не перезаписывать файлы. -s, --symbolic-link Создавать символические ссылки вместо копирования файлов. -t, --target-directory=directory Обрабатывать место назначения как директорию. -T, --no-target-directory Обрабатывать место назначения как директорию. -u , --update Копировать только если исходный файл новее. -v , --verbose Вывод подробной информации.
Как уже было сказано, для выполнения команды копирования в терминале Linux сначала нужно ввести « cp », потом используемые опции, потом источник, и в конце место назначения. При этом опции из одной буквы можно соединять, например, вместо « -r -v » можно написать просто « -rv ».

Ниже мы рассмотрим несколько примеров копирования с опциями.
- cp -r folder/ newfolder/
Рекурсивное копирование каталогов. - cp -rv folder/ newfolder/
Рекурсивное копирование с выводом подробной информации. - cp -ri folder/ newfolder/
Рекурсивное копирование в интерактивном режиме с запросом на перезапись. - cp -rn folder/ newfolder/
Рекурсивное копирование без перезаписи. - cp -ru folder/ newfolder/
Рекурсивное копирование только новых файлов.
- Как удалить папку в Linux через терминал (консоль)
- Как открыть файл в терминале Linux
- Как создать файл в Linux через терминал
- Как удалить файл в Linux через терминал
- Как подключиться по SSH из Windows 10
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Остались вопросы?
Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.
Как скопировать и вставить в терминал Linux и Ubuntu

Когда вы переключаетесь на Linux с Microsoft Windows, особенно если вы программист, есть вероятность, что у вас могут возникнуть проблемы с копированием и вставкой команд или строк в окне терминала Linux.
Даже когда vsмы портировали на Ubuntu из Windows десять лет назад, мы изо всех сил пытались скопировать и вставить строки в терминале Linux. В то время мы думали, что мы единственные пользователи, которому трудно скопировать и вставить. Однако, поискав в Интернете, мы поняли, что это глобальная проблема.
Причина в том, что сочетание клавиш и клавиши мыши для копирования и вставки строк в окнах терминала Linux не такие, как те, которые мы используем в Windows.
Привязки клавиш для операций копирования и вставки зависят от конкретного эмулятора терминала, который вы используете. В Linux по умолчанию привязка клавиш CTRL + C используется для отправки сигнала прерывания команде, выполняющейся на переднем плане. Следовательно, терминалы Linux не используют стандартные CTRL + C и CTRL + V для операций копирования и вставки.
Использование сочетания клавиш
В Ubuntu и других дистрибутивах Linux вы должны использовать комбинацию клавиш CTRL + SHIFT + C для копирования текста из терминала или текстового редактора.
Чтобы скопировать текст или строку кода из браузера, вы можете использовать общую комбинацию CTRL + C или CTRL + SHIFT + C. Затем, чтобы вставить эту строку кода в терминал, вам нужно использовать клавиши CTRL + SHIFT + V.
Вы должны использовать эти комбинации клавиш в Ubuntu для выполнения операций копирования и вставки, особенно в терминале Linux.
Использование контекстного меню, вызываемого правой кнопкой мыши
Другой способ скопировать и вставить в терминал Linux — использовать контекстное меню правой клавиши мыши.
Чтобы скопировать текст или строку в терминале, выберите текст, затем щелкните правой кнопкой мыши и выберите copy. Теперь, чтобы вставить выделенный текст, щелкните правой кнопкой мыши и выберите paste в контекстном меню.
Использование средней клавиши мыши
Этот метод не так популярен среди пользователей Linux, но все же эффективен в некоторых дистрибутивах Linux. В этом методе вам нужно выделить текст, который вы хотите скопировать и вставить. Затем нажмите кнопку колеса прокрутки, которая является средней кнопкой мыши, чтобы вставить выделенный текст.
Вот как вы можете копировать и вставлять текст в терминал Linux. Это просто, но сбивает с толку новых пользователей Linux, особенно тех, кто переходит на Linux с Windows или Mac. Упомянутые методы могут работать или не работать в различных дистрибутивах Linux по причине, упомянутой ранее в этой статье.
Заключение
Команды копирования и вставки в терминалах Linux и Ubuntu отличаются от Microsoft Windows и Mac. Есть три метода копирования и вставки в терминале Linux и Ubuntu. Эти методы включают использование определенных сочетаний клавиш, использование контекстного меню мыши и использование средней клавиши мыши. Когда вы реализуете предоставленные методы, вы можете успешно скопировать и вставить терминалы Linux и Ubuntu. Надеюсь, эта статья помогла вам эффективно использовать команду копирования и вставки.
Как копировать в терминале linux
В данной статье разберем утилиту xclip, которая позволяет скопировать вывод любой команды или текст любого файла в буфер обмена в терминале Linux.
Этот абзац для тех, кто нашел эту статью в поисковой системе, чтобы узнать как просто копировать и вставлять текст в терминале Linux (в Ubuntu в частности), так как обычные сочетания клавиш CTRL — C и CTRL -V не работают. Для этих действий используются CTRL — SHIFT — C и CTR — SHIFT — V, соответсвтенно.
xclip — утилита для работы с буфером обмена из консоли.
Давайте её установим в Ubuntu:
sudo apt install xclip
Данной утилитой можно скопировать любой вывод команды или текст какого-либо файла, чтобы скопировать туда, куда нам нужно. Также сама утилита позволяет вставлять из буфера обмена в консоль.
Примеры использования xclip.
Давайте рассмотрим работу xclip на примерах.
Допустим, есть у нас публичный ключ ssh, который мы хотим скопировать и вставить в систему для доступа к ней без ввода пароля:
Не совсем удобно копировать данный текст в терминале, можно ошибиться в пробелах и тд. Поэтому, давайте воспользуемся xclip.
Чтобы скопировать в буфер обмена, перенаправляем вывод любой команды в xlip:
cat id_rsa.pub | xclip -selection clipboard
или короткая версия:
cat id_rsa.pub | xclip -sel clip
Если вы не знаете, что такое |, то это означает, что мы вывод первой команды перенаправляем на вход второй после |.
Для тех, кто хочет узнать про перенаправление потоков вывода, советую прочитать мою статью: Терминал Linux. Как сохранить в файл вывод терминала..
Теперь мы можем вставить скопированный текст куда захотим, к примеру, на сайте github:
Но мы можем просто скопировать в буфер обмена весь текстовый файл, для этого указываем команду xclip с ключом -in (-i):
xclip -selection clipboard -in id_rsa.pub
или короткая версия:
xclip -sel clip -i id_rsa.pub
С помощью данной утилиты мы можем и вставить текст в терминал из буфера обмена. Для этого нужно указать команду xclip вместе с ключом -out (-o):
xclip -selection clipboard -out
или короткая версия:
xclip -sel clip -o
Но, согласитесь, что не удобно постоянно набирать параметр -sel clip, который указывать на буфер обмена.
Давайте создадим постоянные алиасы для команды копирования и вставки:
gedit ~/.bash_aliases
Вставляем туда строки:
alias pbcopy='xclip -sel clip' alias pbpaste='xclip -sel clip -o'
Если вы не знаете, что такое алиасы, то советую прочитать следующую статью: Терминал Linux. Создание alias (псевдонима) в Ubuntu..
Сохраняем файлик, и если переоткрыть терминал (открыть новую сессию терминала), то теперь можно использовать наши новые команды. Теперь, чтобы скопировать публичный ключ ssh, нам достаточно ввести следующую команду:
cat id_rsa.pub | pbcopy
pbcopy -i cat id_rsa.pub
Псевдонимы pbcopy и pbpaste я использую, потому что я часто пользуюсь системой macosx и там есть команды с такими названиями. Вы можете назвать алиасы по вашему желанию.
Ну и вставить текст в терминале:
pbpaste
Ну и напоследок, хотелось продемонстрировать как еще можно пользоваться данной утилитой. К примеру, есть у нас файл лога, и мы хотим просмотреть его последние 10 строк:
tail -n 10 /var/log/syslog
И мы хотим скопировать его, чтобы кому-то отправить его, просто укажем нашу утилиту:
tail -n 10 /var/log/syslog | xclip -sel clip
либо используя наш алиас:
tail -n 10 /var/log/syslog | pbcopy