Как копировать в терминале linux
Перейти к содержимому

Как копировать в терминале linux

  • автор:

Как копировать в терминале 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 и 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

Не совсем удобно копировать данный текст в терминале, можно ошибиться в пробелах и тд. Поэтому, давайте воспользуемся xclip.

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

cat id_rsa.pub | xclip -selection clipboard

или короткая версия:

cat id_rsa.pub | xclip -sel clip

Если вы не знаете, что такое |, то это означает, что мы вывод первой команды перенаправляем на вход второй после |.

Для тех, кто хочет узнать про перенаправление потоков вывода, советую прочитать мою статью: Терминал Linux. Как сохранить в файл вывод терминала..

Теперь мы можем вставить скопированный текст куда захотим, к примеру, на сайте github:

Примеры использования xclip

Но мы можем просто скопировать в буфер обмена весь текстовый файл, для этого указываем команду 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

Примеры использования xclip

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

Давайте создадим постоянные алиасы для команды копирования и вставки:

gedit ~/.bash_aliases

Вставляем туда строки:

alias pbcopy='xclip -sel clip' alias pbpaste='xclip -sel clip -o'

Примеры использования xclip

Если вы не знаете, что такое алиасы, то советую прочитать следующую статью: Терминал Linux. Создание alias (псевдонима) в Ubuntu..

Сохраняем файлик, и если переоткрыть терминал (открыть новую сессию терминала), то теперь можно использовать наши новые команды. Теперь, чтобы скопировать публичный ключ ssh, нам достаточно ввести следующую команду:

cat id_rsa.pub | pbcopy
pbcopy -i cat id_rsa.pub

Псевдонимы pbcopy и pbpaste я использую, потому что я часто пользуюсь системой macosx и там есть команды с такими названиями. Вы можете назвать алиасы по вашему желанию.

Ну и вставить текст в терминале:

pbpaste

Примеры использования xclip

Ну и напоследок, хотелось продемонстрировать как еще можно пользоваться данной утилитой. К примеру, есть у нас файл лога, и мы хотим просмотреть его последние 10 строк:

tail -n 10 /var/log/syslog

И мы хотим скопировать его, чтобы кому-то отправить его, просто укажем нашу утилиту:

tail -n 10 /var/log/syslog | xclip -sel clip

либо используя наш алиас:

tail -n 10 /var/log/syslog | pbcopy

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

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