Поиск по сайту:

Скопируйте содержимое файла в буфер обмена, не отображая его

В этом руководстве объясняется, что такое буфер обмена и как скопировать содержимое файла в буфер обмена без отображения содержимого файла с помощью каких-либо приложений для просмотра текста в Linux.

Что такое буфер обмена?

Вы обязательно будете вырезать или копировать и вставлять тексты в свою систему несколько раз в день. Возможно, вы не помните, сколько раз вы что-то копировали, или даже не задумывались о том, где на самом деле хранятся скопированные тексты. Но ведь надо было столько раз копировать/вырезать тексты. Для тех, кому интересно: в операционной системе есть временное место под названием "Буфер обмена". Буфер обмена — это место, где временно хранятся скопированные/вырезанные данные.

Буфер обмена — это буфер, используемый для кратковременного хранения данных. В основном он используется для передачи данных внутри приложений и между ними с помощью операций вырезания, копирования и вставки. Буфер обмена обычно представляет собой временное и безымянное место, которое находится в ОЗУ вашего компьютера.

Буфер обмена называется "Выборы", и в оконной системе X11 Linux доступно три типа буфера обмена. Они есть:

  • PRIMARY — обычно используется при копировании/вставке данных с помощью средней кнопки мыши.
  • SECONDARY — используется нечасто, но существует.
  • БУФЕР ОБМЕНА – используется для явных команд копирования/вставки с помощью клавиатуры с использованием клавиш ctrl+c и ctrl+v, а также через пункты меню.

Существует множество инструментов для управления содержимым буфера обмена. Они известны как менеджеры и мониторы буфера обмена. В этом руководстве мы обсудим два инструмента командной строки, а именно Xclip и Xsel, которые используются для доступа к содержимому буфера обмена.

Теперь вернемся к нашей основной теме. Как скопировать содержимое файла без фактического отображения содержимого файла с помощью каких-либо внешних приложений, таких как редакторы nano, vi, или команд, таких как cat? Прежде чем я освою этот метод, я обычно открываю файл или отображаю его содержимое в стандартном выводе, а затем копирую его содержимое с помощью мыши или клавиш Ctrl+c на клавиатуре. Но вы можете сделать это, не отображая содержимое. Читайте дальше, чтобы узнать, как это сделать.

Обратите внимание, что xclip и xclip — это утилиты X11. Они будут работать только в системах, в которых установлена система X Window.

Скопируйте содержимое файла в буфер обмена, не отображая его содержимое, с помощью программ Xclip и Xsel в Linux.

Убедитесь, что в вашей системе Linux установлены программы Xclip и Xsel. Оба они доступны в репозиториях по умолчанию большинства дистрибутивов Linux.

Чтобы установить xclip и xsel в Arch Linux и его производных, запустите:

sudo pacman xclip xsel

В Федоре:

sudo dnf xclip xsel

В Debian, Ubuntu, Linux Mint:

sudo apt install xclip xsel

Теперь давайте посмотрим, как скопировать содержимое файла с помощью программ Xclip и Xsel. Для целей данного руководства я использую текстовый файл с именем ostechnix.txt, содержимое этого файла приведено ниже:

cat ostechnix.txt 
Linux is not an operating system.
It is a kernel.
GNU/Linux is the operating system.

Чтобы скопировать содержимое файла ostechnix.txt в буфер обмена, не отображая его содержимое, выполните:

xclip -selection clipboard < ostechnix.txt

Или вкратце используйте это:

xclip -sel c < ostechnix.txt

Скопируйте содержимое файла в буфер обмена, не отображая его с помощью Xclip в Linux.

Xclip теперь скопировал содержимое файла ostechnix.txt в буфер обмена. Вы можете вставить скопированные данные в любое место, используя клавиши Ctrl+p или выбрав параметр вставить из пунктов меню или контекстного меню, вызываемого правой кнопкой мыши.

Вы также можете скопировать содержимое файла в буфер обмена с помощью команды Xsel, как показано ниже:

xsel --clipboard < ostechnix.txt

Или, вкратце, используйте это:

xsel -b < ostechnix.txt

Скопируйте содержимое файла в буфер обмена, не отображая его с помощью Xsel в Linux.

Чтобы сэкономить несколько штрихов, вы можете создать скрипт с именем «send2clip» со следующими строками:

#! /bin/bash
xclip -selection clipboard -i $@

Используйте для этого сценария любое имя по вашему выбору. Затем сделайте скрипт исполняемым:

chmod +x send2clip 

Теперь передайте любой файл в качестве аргумента, чтобы скопировать его содержимое в буфер обмена. Например, следующая команда скопирует содержимое файла ostechnix.txt:

./send2clip ostechnix.txt

Копирование вывода команд Linux и Unix в буфер обмена

Вы также можете отправлять в буфер обмена не только вывод файлов, но и вывод любых команд Linux и Unix с помощью программ Xclip и Xsel.

Чтобы скопировать вывод команды Linux в буфер обмена с помощью Xclip и Xsel, запустите:

command_name | xclip -sel c
command_name | xsel -b

Пример:

Скопируйте вывод команд Linux и Unix в буфер обмена.

Приведенные выше команды скопируют данные ядра вашей системы Linux в буфер обмена.

Чтобы узнать больше о командах Xclip и Xsel, обратитесь к справочным страницам.

man xclip
man xsel

Надеюсь это поможет.

Связанное чтение:

  • Доступ к содержимому буфера обмена с помощью Xclip и Xsel в Linux
  • Как использовать команды Pbcopy и Pbpaste в Linux

Статьи по данной тематике