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

Как использовать команды Pbcopy и Pbpaste в Linux

Узнайте, как пользователи Linux могут копировать команды pbcopy и pbpaste с помощью программ Xclip и Xsel.

Поскольку Linux и Mac OS X являются системами на базе Unix, многие команды будут работать на обеих платформах. Однако некоторые команды уникальны и могут быть недоступны на обеих платформах, например команды pbcopy и pbpaste. Эти команды доступны исключительно на платформе macOS.

Те, кто перешел с macOS на Linux, могут почувствовать отсутствие этой пары команд и, вероятно, предпочтут продолжать использовать их в системе Linux. Не волнуйтесь! Если вы перешли с macOS на Linux и вам не хватает pbcopy и pbpaste, у меня есть решение, позволяющее реализовать аналогичные функции в Linux.

В этом кратком руководстве я объясню, как воспроизвести функции pbcopy и pbpaste и использовать команды Pbcopy и Pbpaste в системе Linux.

Что такое команды pbcopy и pbpaste?

Pbcopy и Pbpaste — это две утилиты командной строки в macOS, которые позволяют копировать текст в буфер обмена и из него. Они похожи на знакомые сочетания клавиш ⌘+C и ⌘+V, но их можно использовать из внутри терминала.

Команда pbcopy скопирует стандартный ввод в буфер обмена. Затем вы можете вставить содержимое буфера обмена с помощью команды pbpaste в любое место.

Вот несколько примеров использования pbcopy и pbpaste:

Скопируйте текст «Привет, мир!» в буфер обмена:

pbcopy echo "Welcome to OSTechNix blog!"

Вставьте содержимое буфера обмена в новый файл:

pbpaste > mynewfile.txt

Скопируйте вывод команды ls в буфер обмена:

ls | pbcopy

Хотя pbcopy и pbpaste доступны специально для систем macOS, существует ряд альтернатив pbcopy и pbpaste для Linux, таких как xclip и xsel.

Внимание! Символ , также известный как квадрат с петлей, является символом командной клавиши на клавиатурах Apple.

Что такое команды xclip и xsel?

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

Xsel — это также инструмент выбора X11 из командной строки и управления буфером обмена. Он используется для доступа к буферу обмена X и буферам выбора в Linux и Unix-подобных операционных системах.

Более подробную информацию об использовании xclip и xsel в Linux можно найти в следующем руководстве.

Как получить доступ к содержимому буфера обмена с помощью Xclip и Xsel в Linux

Используя программы xclip или xsel, мы можем легко имитировать функциональность команд pbcopy и pbpaste в Linux.

Установите xclip и xsel в Linux

Пакеты xclip и xsel доступны в репозиториях по умолчанию большинства дистрибутивов Linux. Обратите внимание, что вам не обязательно устанавливать обе утилиты. Просто установите любую из вышеперечисленных утилит.

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

sudo pacman -S xclip xsel

В Федоре:

sudo dnf install xclip xsel

В Debian, Ubuntu, Linux Mint:

sudo apt install xclip xsel

После установки вам необходимо создать псевдонимы для команд pbcopy и pbpaste.

Создайте псевдонимы для pbcopy и pbpaste.

Мы можем воспроизвести функциональность команд pbcopy и pbpaste, используя команды xclip и/или xsel через псевдонимы оболочки. Давайте посмотрим, как это сделать!

1. Отредактируйте файл ~/.bashrc:

vi ~/.bashrc

2. Если вы хотите использовать xclip, вставьте следующие строки:

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'

3. Если вы хотите использовать xsel, вставьте следующие строки в свой файл ~/.bashrc.

alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

4. После добавления указанных выше строк нажмите ESC и :wq, чтобы сохранить и закрыть файл.

5. Затем выполните следующую команду, чтобы обновить изменения в файле ~/.bashrc.

source ~/.bashrc

6. Пользователи ZSH вставляют приведенные выше строки в файл ~/.zshrc и обновляют изменения с помощью команды:

source ~/.zshrc

Используйте команды Pbcopy и Pbpaste в Linux

Как уже упоминалось. команда pbcopy скопирует текст из стандартного ввода в буфер обмена. Например, взгляните на следующий пример.

echo "Welcome To OSTechNix!" | pbcopy

Приведенная выше команда скопирует текст «Добро пожаловать в OSTechNix» в буфер обмена. Вы можете получить доступ к этому содержимому позже и вставить его куда угодно, используя команду pbpaste, как показано ниже.

echo `pbpaste`
Welcome To OSTechNix!

Команды pbcopy и pbpaste в действии

Вот еще несколько вариантов использования.

У меня есть файл с именем file.txt со следующим содержимым.

$ cat file.txt 
Welcome To OSTechNix!

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

pbcopy < file.txt

Теперь содержимое файла доступно в буфере обмена, если вы обновили его содержимым другого файла.

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

$ pbpaste 
Welcome To OSTechNix!

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

ps aux | pbcopy

Теперь введите команду «pbpaste» в любой момент, чтобы отобразить вывод команды «ps aux» из буфера обмена.

pbpaste

Команда pbpaste в действии

С помощью команд Pbcopy и Pbpaste вы можете сделать гораздо больше. Надеюсь, теперь вы получили общее представление об этих командах.

Часто задаваемые вопросы

Часто задаваемые вопросы: Использование Xclip и Xsel в Linux в качестве альтернативы pbcopy и pbpaste.

Вопрос: Что такое pbcopy и pbpaste и почему они недоступны в Linux?

О: pbcopy и pbpaste — это команды в macOS для копирования и вставки текста через командную строку. Они недоступны в Linux. Эти команды специфичны для macOS.

Вопрос: Что такое Xclip и Xsel?

О: Xclip и Xsel — это инструменты командной строки Linux, которые повторяют функциональность pbcopy и pbpaste. Они позволяют эффективно копировать и вставлять текст между командной строкой и буфером обмена.

Вопрос: Как мне установить Xclip и Xsel в моей системе Linux?

О: Вы можете установить Xclip и Xsel с помощью менеджера пакетов. Например, в системах на базе Debian, таких как Ubuntu, вы можете использовать sudo apt-get install xclip xsel.

Вопрос: Как скопировать текст в буфер обмена с помощью Xclip?

О: Чтобы скопировать текст из файла в буфер обмена, используйте: cat file.txt | xclip — буфер обмена выделения.

Вопрос: Как вставить текст из буфера обмена с помощью Xclip?

О: Чтобы вставить текст из буфера обмена в терминал, используйте: xclip -selection clipboard -o.

Вопрос: Могу ли я использовать Xclip и Xsel в macOS?

О: Да, можете, но чаще всего они используются в системах Linux. macOS уже предоставляет встроенные команды pbcopy и pbpaste.

Вопрос: Являются ли команды для Xclip и Xsel такими же, как для pbcopy и pbpaste?

О: Нет, команды разные, но они служат схожим целям. Xclip и Xsel имеют собственный синтаксис для копирования и вставки текста.

Вопрос: Могу ли я использовать Xclip и Xsel для задач, выходящих за рамки простого копирования и вставки?

О: Да, вы можете использовать их в сценариях и автоматизации для более сложных задач, связанных с содержимым буфера обмена.

Вопрос: Есть ли другие альтернативы Xclip и Xsel для Linux?

О: Хотя Xclip и Xsel являются популярным выбором, вы также можете рассмотреть другие инструменты, такие как wl-clipboard и clipman. Они разработаны исключительно для систем Wayland.

Вопрос: Работают ли Xclip и Xsel в разных дистрибутивах Linux?

О: Да, Xclip и Xsel широко поддерживаются и работают в различных дистрибутивах Linux.

Заключение

Подводя итог, можно сказать, что хотя команды pbcopy и pbpaste удобны для управления буфером обмена на компьютерах Mac, пользователи Linux могут выполнять аналогичные задачи с помощью таких инструментов, как Xclip и Xsel. Эти инструменты позволяют плавно обрабатывать содержимое буфера обмена в Linux, упрощая работу с текстом. Таким образом, хотя названия команд могут меняться, основная идея улучшения работы с текстом остается неизменной независимо от того, используете ли вы macOS или Linux.

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

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

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