Буфер обмена – это область временного хранения данных, которые вы копируете и вставляете. Когда вы копируете текст или другие данные, они попадают в буфер обмена. Затем вы можете вставить эти данные куда-нибудь еще. В буфере обмена хранится только самый последний элемент, который вы скопировали. Эффективное управление буфером обмена поможет вам избежать ошибок и упорядочить вашу работу. В этом подробном руководстве объясняется, как управлять буфером обмена из командной строки в Linux.
Двумя популярными инструментами для управления буфером обмена в Linux являются xclip
и xsel
. Оба инструмента позволяют просматривать, очищать содержимое буфера обмена и манипулировать им.
xclip
Xclip и Xsel доступны в репозиториях по умолчанию многих дистрибутивов Linux. Поэтому вы можете установить их с помощью менеджера пакетов по умолчанию.
Например, вы можете установить xclip
в системах Debian и Ubuntu, используя следующую команду:
sudo apt install xclip
xsel
Для установки xsel
используйте эту команду:
sudo apt install xsel
Используя xclip
:
Чтобы просмотреть содержимое буфера обмена с помощью xclip
, используйте:
xclip -selection clipboard -o
Эта команда выводит текущее содержимое буфера обмена на терминал.
Используя xsel
:
Чтобы просмотреть содержимое буфера обмена с помощью xsel
, запустите:
xsel --clipboard --output
Или просто:
xsel --clipboard
Эта команда отображает текущее содержимое буфера обмена.
Используя xclip
:
Чтобы очистить буфер обмена с помощью xclip
, используйте:
xclip -selection clipboard /dev/null
Эта команда очищает буфер обмена.
Используя xsel
:
Чтобы очистить буфер обмена с помощью xsel
, запустите:
xsel --clipboard --clear
Эта команда эффективно очищает содержимое буфера обмена.
Используя xclip
:
Чтобы скопировать данные в буфер обмена с помощью xclip
, вы можете отобразить данные и передать их в xclip
. Например:
echo "Hello, OSTechNix Users!" | xclip -selection clipboard
Эта команда копирует “Привет, пользователи OSTechNix!” в буфер обмена.
Используя xsel
:
Чтобы скопировать данные в буфер обмена с помощью xsel
, вы можете использовать аналогичный подход:
echo "Hello, OSTechNix Users!" | xsel --clipboard
Эта команда также копирует “Привет, пользователи OSTechNix!” в буфер обмена.
Вставка данных аналогична просмотру. Я включил это для понимания.
Используя xclip
:
Чтобы вставить содержимое буфера обмена с помощью xclip
, вы можете запустить:
xclip -selection clipboard -o
Эта команда выводит содержимое буфера обмена, которое вы можете перенаправить или использовать в скрипте.
Используя xsel
:
Чтобы вставить содержимое буфера обмена с помощью xsel
, запустите:
xsel --clipboard --output
Эта команда отображает содержимое буфера обмена.
В отличие от Windows, которая обычно имеет один буфер обмена, Linux поддерживает несколько вариантов выбора буфера обмена. Это:
По умолчанию, xclip
и xsel
используйте выделение CLIPBOARD
. Вы можете указать различные варианты выбора по мере необходимости.
Используя xclip
:
xclip -selection primary
xclip -selection secondary
xclip -selection clipboard
Используя xsel
:
xsel --primary
xsel --secondary
xsel --clipboard
Чтобы скопировать содержимое файла в буфер обмена, вы можете использовать:
Используя xclip
:
xclip -selection clipboard < filename.txt
Используя xsel
:
xsel --clipboard < filename.txt
Чтобы сохранить содержимое буфера обмена в файл, используйте:
Используя xclip
:
xclip -selection clipboard -o > output.txt
Используя xsel
:
xsel --clipboard --output > output.txt
Копировать в Primary раздел:
echo "Primary Selection" | xclip -selection primary
Копировать во Secondary раздел:
echo "Secondary Selection" | xclip -selection secondary
По умолчанию xclip завершает работу немедленно, что может привести к потере содержимого буфера обмена. Чтобы сохранить его запущенным.:
echo "Persistent clipboard" | xclip -selection clipboard -loops 0
xclip будет работать до тех пор, пока вы не завершите его вручную.
Для постоянного отслеживания изменений в буфере обмена:
watch -n 1 "xclip -selection clipboard -o"
Эта команда будет отображать содержимое буфера обмена каждую секунду.
alias pb="xclip -selection clipboard" cat file.txt | pb
Теперь вы можете быстро скопировать содержимое файла в буфер обмена с помощью cat file.txt | pb
.
xclip -selection clipboard -o > clipboard_$(date +%Y%m%d_%H%M%S).txt
Это сохраняет текущее содержимое буфера обмена в файл с текущей меткой времени.
Как вести простую историю буфера обмена:
echo "$(xclip -selection clipboard -o)" >> ~/.clipboard_history
Добавьте это в свой .bashrc
или создайте задание cron для периодического сохранения содержимого буфера обмена.
Управлять буфером обмена из командной строки в Linux просто с помощью таких инструментов, как xclip
и xsel
. Вы можете легко просматривать, очищать, копировать и вставлять содержимое буфера обмена. Кроме того, вы можете обрабатывать различные варианты выбора буфера обмена и работать с содержимым файла.
Освоение команд xclip
и xsel
поможет вам эффективно управлять буфером обмена и предотвращать случайные вставки. Кроме того, освоение управления буфером обмена в командной строке Linux повышает производительность и предоставляет мощные возможности написания сценариев.
Хотя xclip и xsel являются основными инструментами, многие среды рабочего стола также предлагают свои собственные менеджеры буфера обмена с дополнительными функциями.
Помните, что операции с буфером обмена в Linux обычно привязаны к сеансу X server. Для общесистемного или межсессионного управления буфером обмена рассмотрите возможность использования специальных приложений для управления буфером обмена.