Поиск по сайту:
Нас редко привязывает к женщине то, чем она нас привлекала (Д. Коллинз).

Как управлять буфером обмена из командной строки в Linux

06.08.2024
Как управлять буфером обмена из командной строки в Linux

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

 

Инструменты для управления буфером обмена

Двумя популярными инструментами для управления буфером обмена в Linux являются xclip и xsel. Оба инструмента позволяют просматривать, очищать содержимое буфера обмена и манипулировать им.

Установка инструментов управления буфером обмена

Установить xclip

Xclip и Xsel доступны в репозиториях по умолчанию многих дистрибутивов Linux. Поэтому вы можете установить их с помощью менеджера пакетов по умолчанию.

Например, вы можете установить xclip в системах Debian и Ubuntu, используя следующую команду:

sudo apt install xclip

 

Установить xsel

Для установки xsel используйте эту команду:

sudo apt install xsel

 

Управление буфером обмена из командной строки в Linux

1. Просмотр содержимого буфера обмена

Используя xclip:

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

xclip -selection clipboard -o

 

Эта команда выводит текущее содержимое буфера обмена на терминал.

Используя xsel:

Чтобы просмотреть содержимое буфера обмена с помощью xsel, запустите:

xsel --clipboard --output

 

Или просто:

xsel --clipboard

 

Эта команда отображает текущее содержимое буфера обмена.

 

2. Очистка буфера обмена

Используя xclip:

Чтобы очистить буфер обмена с помощью xclip, используйте:

xclip -selection clipboard /dev/null

 

Читать  Как заменить строку в файле в Bash

Эта команда очищает буфер обмена.

Используя xsel:

Чтобы очистить буфер обмена с помощью xsel, запустите:

xsel --clipboard --clear

 

Эта команда эффективно очищает содержимое буфера обмена.

 

3. Копирование данных в буфер обмена

Используя xclip:

Чтобы скопировать данные в буфер обмена с помощью xclip, вы можете отобразить данные и передать их в xclip. Например:

echo "Hello, OSTechNix Users!" | xclip -selection clipboard

 

Эта команда копирует «Привет, пользователи OSTechNix!» в буфер обмена.

Используя xsel:

Чтобы скопировать данные в буфер обмена с помощью xsel, вы можете использовать аналогичный подход:

echo "Hello, OSTechNix Users!" | xsel --clipboard

 

Эта команда также копирует «Привет, пользователи OSTechNix!» в буфер обмена.

 

4. Вставка данных из буфера обмена

Вставка данных аналогична просмотру. Я включил это для понимания.

Используя xclip:

Чтобы вставить содержимое буфера обмена с помощью xclip, вы можете запустить:

xclip -selection clipboard -o

 

Эта команда выводит содержимое буфера обмена, которое вы можете перенаправить или использовать в скрипте.

Используя xsel:

Чтобы вставить содержимое буфера обмена с помощью xsel, запустите:

xsel --clipboard --output

 

Эта команда отображает содержимое буфера обмена.

 

Буфер обмена в разных вариантах выбора

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

  • ОСНОВНОЙ (выделенный текст)
  • ВТОРИЧНЫЙ (редко используется)
  • БУФЕР ОБМЕНА (операции Ctrl + C, Ctrl + V)

По умолчанию, xclip и xsel используйте выделение CLIPBOARD. Вы можете указать различные варианты выбора по мере необходимости.

Используя xclip:

  • Основной выбор: xclip -selection primary
  • Вторичный выбор: xclip -selection secondary
  • Выбор буфера обмена: xclip -selection clipboard

 

Читать  Как эффективно выполнять поиск по страницам руководства по Linux

Используя xsel:

  • Основной выбор: xsel --primary
  • Вторичный выбор: xsel --secondary
  • Выбор буфера обмена: xsel --clipboard

 

Расширенное использование

1. Копирование содержимого файла в буфер обмена

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

Используя xclip:

xclip -selection clipboard < filename.txt

 

Используя xsel:

xsel --clipboard < filename.txt

 

2. Перенаправление содержимого буфера обмена в файл

Чтобы сохранить содержимое буфера обмена в файл, используйте:

Используя xclip:

xclip -selection clipboard -o > output.txt

 

Используя xsel:

xsel --clipboard --output > output.txt

 

3. Работа с несколькими буферами обмена

Копировать в Primary раздел:

echo "Primary Selection" | xclip -selection primary

 

Копировать во Secondary раздел:

echo "Secondary Selection" | xclip -selection secondary

 

4. Сохранение буфера обмена

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

echo "Persistent clipboard" | xclip -selection clipboard -loops 0

 

xclip будет работать до тех пор, пока вы не завершите его вручную.

 

5. Мониторинг буфера обмена

Для постоянного отслеживания изменений в буфере обмена:

watch -n 1 "xclip -selection clipboard -o"

 

Эта команда будет отображать содержимое буфера обмена каждую секунду.

 

Практические примеры

1. Создание корзины для быстрой вставки

alias pb="xclip -selection clipboard"
cat file.txt | pb

 

Теперь вы можете быстро скопировать содержимое файла в буфер обмена с помощью cat file.txt | pb.

 

2. Преобразование буфера обмена в файл с отметкой времени

xclip -selection clipboard -o > clipboard_$(date +%Y%m%d_%H%M%S).txt

 

Читать  Как составить список всех групп в Linux

Это сохраняет текущее содержимое буфера обмена в файл с текущей меткой времени.

 

3. История буфера обмена

Как вести простую историю буфера обмена:

echo "$(xclip -selection clipboard -o)" >> ~/.clipboard_history

 

Добавьте это в свой .bashrc или создайте задание cron для периодического сохранения содержимого буфера обмена.

 

Устранение неполадок

  1. Если команды xclip или xsel завершаются неудачно, убедитесь, что вы запускаете их в сеансе X11.
  2. Для безголовых серверов вам может потребоваться использовать виртуальный фреймбуфер, такой как Xvfb.
  3. Если содержимое буфера обмена неожиданно потеряно, проверьте, не вмешивается ли какой-либо менеджер буфера обмена.

 

Выводы

Управлять буфером обмена из командной строки в Linux просто с помощью таких инструментов, как xclip и xsel. Вы можете легко просматривать, очищать, копировать и вставлять содержимое буфера обмена. Кроме того, вы можете обрабатывать различные варианты выбора буфера обмена и работать с содержимым файла.

Освоение команд xclip и xsel поможет вам эффективно управлять буфером обмена и предотвращать случайные вставки. Кроме того, освоение управления буфером обмена в командной строке Linux повышает производительность и предоставляет мощные возможности написания сценариев.

Хотя xclip и xsel являются основными инструментами, многие среды рабочего стола также предлагают свои собственные менеджеры буфера обмена с дополнительными функциями.

Помните, что операции с буфером обмена в Linux обычно привязаны к сеансу X server. Для общесистемного или межсессионного управления буфером обмена рассмотрите возможность использования специальных приложений для управления буфером обмена.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Управление памятью в Java, или автоматическая очистка, звучит почти идеально.…

Спасибо!

Теперь редакторы в курсе.