Использование Xclip для быстрого копирования и вставки в терминале Linux

Если вы являетесь пользователем Linux, особенно тем, кто любит работать в терминале, то один из инструментов, который может полностью изменить работу с текстом в терминале Linux – это xclip. Вместо того чтобы выделять текст мышью, щелкать правой кнопкой мыши, а затем вставлять его в другое место, вы можете направить текст прямо в xclip, и он мгновенно обновит ваш буфер обмена. Оттуда вы можете вставить его в документ, электронную почту или даже в другое окно терминала с помощью быстрой клавиши Ctrl + V + .

xclip достаточно универсален, чтобы работать со многими типами данных, а не только с обычным текстом. Копируете ли вы код, команды или файлы конфигурации, xclip обрабатывает все эти данные одинаково.

Примечание: xclip работает только с X11 и не запускается на Wayland. Если вы работаете на Wayland, используйте вместо него wl-clipboard (wl-copy и wl-paste).

Начало работы с Xclip

Чтобы начать работу с xclip, вам нужно установить его с помощью стандартного менеджера пакетов вашей системы. Например, если вы используете Ubuntu, как я, используйте:

sudo apt install xclip

Для дистрибутивов на базе Arch используйте:

sudo pacman -S xclip

Fedora или CentOS/RHEL, выполните следующее:

sudo dnf install xclip

После установки вы будете готовы к работе!

Копировать и вставить без мыши

Когда вы используете xclip, вы напрямую взаимодействуете с буфером обмена вашей системы. Копируете ли вы вывод команды или содержимое файла, xclip считывает данные со стандартного ввода (stdin) и записывает в X-выборку (буфер обмена). Проще говоря, все, что вы передаете в xclip, будет добавлено в ваш буфер обмена.

Например, если у вас есть файл с именем «notes.txt» и вы хотите скопировать все его содержимое, вы можете выполнить команду:

cat notes.txt | xclip -selection clipboard

Эта простая строка отправляет все из файла «notes.txt» прямо в буфер обмена, как если бы вы выделили его вручную и нажали Ctrl + C + .

Чтобы вставить содержимое в любой документ или терминал, просто воспользуйтесь обычной клавишей Ctrl + V + .

Хотите вставить содержимое буфера обмена обратно в терминал или использовать его в другой команде? Используйте опцию -o (вывод):

xclip -o -selection clipboard

Эта команда выводит все, что находится в буфере обмена. Вы даже можете перенаправить вывод в файл, как это сделано здесь:

xclip -o -selection clipboard > my_copied_list.txt

Но что если вы хотите скопировать только определенную часть текста из ваших файлов? В этом случае вы можете использовать другие инструменты Linux, такие как sed, grep, head, tail или awk, чтобы отфильтровать содержимое перед передачей его в xclip.

Например, чтобы скопировать только строки с 5 по 10 из файла «notes.txt», используйте:

sed -n '5,10p' notes.txt | xclip -selection clipboard

Здесь флаг -n ограничивает исходный вывод, а -p указывает sed на печать только указанных строк. Результат будет отправлен в ваш буфер обмена, готовый к вставке. Кроме того, если вы работаете со скриншотами или другими графическими файлами, xclip может работать и с ними.

Сделать процесс выбора еще проще

Одна вещь, которая меня очень раздражала – это необходимость набирать эти длинные команды выделения снова и снова. Чтобы исправить это, я создал псевдонимы в своем файле ~/.bashrc, чтобы сделать процесс выбора проще и быстрее. Просто откройте файл ~/.bashrc любым текстовым редактором:

nano ~/.bashrc

Затем добавьте эти две строки:

alias setclip="xclip -selection clipboard"
alias getclip="xclip -selection clipboard -o"

Перезарядите его:

source ~/.bashrc

Теперь вы можете просто использовать setclip для копирования и getclip для вставки. Например, чтобы скопировать все содержимое файла, выполните команду:

cat notes.txt | setclip

Чтобы вставить его в терминал, выполните:

getclip

Вот и все! Больше не нужно каждый раз набирать длинные команды.

Полезно ли использовать Xclip?

Простой ответ – да. Он гораздо полезнее, чем вы думаете. Если вы пишете сценарии, целыми днями работаете в терминале или управляете удаленными системами, этот инструмент может значительно сэкономить ваше время и силы.

Лично я люблю его за то, что он повышает мою эффективность при работе в терминале. Мне больше не нужно останавливаться, хватать мышь, прокручивать текст или рисковать пропустить что-то при копировании. Он также очень полезен для разработчиков и системных администраторов, которые часто копируют журналы, сообщения об ошибках или блоки конфигурации.

Однако если вам нужны дополнительные возможности, такие как ведение истории, запуск скриптов или работа с изображениями, попробуйте использовать менеджер буфера обмена, например CopyQ, cliphist, Autocutsel или Clipboard Project.

Заключение

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

Если вы еще не пробовали, попробуйте. Установите его, проведите несколько тестов и посмотрите, насколько более плавным станет ваше копирование и вставка. И помните, что xclip – не единственный инструмент. Существует множество других команд Linux, которые могут повысить вашу производительность. Вы даже можете заменить свои обычные инструменты командной строки новыми, более эффективными альтернативами.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.maketecheasier.com

Похожие статьи

Комментарии (0)