Программы
Как скопировать вывод команды из терминала в буфер обмена Linux и MacOS

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

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

Пока мы используем буфер обмена графического рабочего окружения (DE), всё довольно понятно. У нас всюду есть этот буфер: ctrl + c / ctrl + v – на Linux / Windows и тд, cmd + c / cmd + v – на MacOS. Но даже там – средняя кнопка мышки – отдельный буфер, есть различные виджеты / приложения для дополнительных буферов.

Потом мы попадаем в терминал. И там у каждого приложения свои буферы, например, в том же Vim. Остаётся ещё неудобный вариант – выделить всё необходимое и воспользоваться средствами Desktop Environment. Но это не так уж удобно.

Изображение Выучи 10 хороших привычек для работы в UNIX от IBM

Скопировать / вставить в терминал MacOS

Для этих целей в MacOS есть 2 замечательные команды: pbcopy и pbpaste:

$ tail /var/log/system.log | pbcopy

– кладём последние 10 строк system.log в буфер обмена DE.

Аналогично – можно забрать из буфера обмена данные в терминал на стандартный поток вывода:

$ pbpaste > ~/Documents/somefile.txt

Скопировать / вставить в терминал Linux

Аналогично есть команды и в Linux для вставки / копирования из терминала:

pwd | xclip -selection clipboard
xclip -selection clipboard -o | cat 

Если вы привыкли к наименованию команд из MacOS, можно очевидным образом сделать алиасы:

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