Предисловие
Этот абзац для тех, кто нашел эту статью в поисковой системе, чтобы узнать как просто копировать и вставлять текст в терминале Linux (в Ubuntu в частности), так как обычные сочетания клавиш CTRL - C и CTRL -V не работают. Для этих действий используются CTRL - SHIFT - C и CTR - SHIFT - V, соответсвтенно.
Утилита xclip
xclip - утилита для работы с буфером обмена из консоли.
Давайте её установим в Ubuntu:
Данной утилитой можно скопировать любой вывод команды или текст какого-либо файла, чтобы скопировать туда, куда нам нужно. Также сама утилита позволяет вставлять из буфера обмена в консоль.
Примеры использования xclip.
Давайте рассмотрим работу xclip на примерах.
Допустим, есть у нас публичный ключ ssh, который мы хотим скопировать и вставить в систему для доступа к ней без ввода пароля:
Не совсем удобно копировать данный текст в терминале, можно ошибиться в пробелах и тд. Поэтому, давайте воспользуемся xclip.
Чтобы скопировать в буфер обмена, перенаправляем вывод любой команды в xlip:
или короткая версия:
Если вы не знаете, что такое |, то это означает, что мы вывод первой команды перенаправляем на вход второй после |.
Для тех, кто хочет узнать про перенаправление потоков вывода, советую прочитать мою статью: Терминал Linux. Как сохранить в файл вывод терминала..
Теперь мы можем вставить скопированный текст куда захотим, к примеру, на сайте github:
Но мы можем просто скопировать в буфер обмена весь текстовый файл, для этого указываем команду xclip с ключом -in (-i):
или короткая версия:
С помощью данной утилиты мы можем и вставить текст в терминал из буфера обмена. Для этого нужно указать команду xclip вместе с ключом -out (-o):
или короткая версия:
Но, согласитесь, что не удобно постоянно набирать параметр -sel clip, который указывать на буфер обмена.
Давайте создадим постоянные алиасы для команды копирования и вставки:
Вставляем туда строки:
Если вы не знаете, что такое алиасы, то советую прочитать следующую статью: Терминал Linux. Создание alias (псевдонима) в Ubuntu..
Сохраняем файлик, и если переоткрыть терминал (открыть новую сессию терминала), то теперь можно использовать наши новые команды. Теперь, чтобы скопировать публичный ключ ssh, нам достаточно ввести следующую команду:
Или:
Псевдонимы pbcopy и pbpaste я использую, потому что я часто пользуюсь системой macosx и там есть команды с такими названиями. Вы можете назвать алиасы по вашему желанию.
Ну и вставить текст в терминале:
Ну и напоследок, хотелось продемонстрировать как еще можно пользоваться данной утилитой. К примеру, есть у нас файл лога, и мы хотим просмотреть его последние 10 строк:
И мы хотим скопировать его, чтобы кому-то отправить его, просто укажем нашу утилиту:
либо используя наш алиас:
Вот и всё.