Скопировать текущее приглашение терминала в буфер обмена


27

Есть ли способ скопировать написанное в настоящее время содержимое приглашения bash? Скажи, что я написал:

ping www.google.com

так что строки в терминале выглядят так:

petr@sova:~$ ping www.google.com

и еще не нажал "вернуться". Я хочу скопировать этот текст в буфер обмена. Это возможно?

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

Ответы:


37

Чтобы вырезать, нажмите ctrl+ u. Чтобы вставить, используйте ctrl+ y. Это копирует всю строку в буфер обмена Bash. Если вы используете X и терминал Ubuntu по умолчанию, вы можете использовать мышь, чтобы пометить содержимое, и нажать ctrl+ shift+, cчтобы скопировать, и ctrl+ shift+, vчтобы вставить.


9
Я использую Xubuntu, и хотя ctrl + u и ctrl + y работают в терминале, мне нужно иметь возможность вырезать / копировать из терминала и вставлять в другое приложение, которое не работает. Возможно, Ctrl + U вырезает текст в собственный буфер обмена терминала, а не глобальный?
mreq

Вы должны использовать буфер обмена X. Попробуйте Ctrl + Shift + C и Ctrl + Shift + V. Если вы используете терминал (без графического интерфейса), вам не повезло. Если вы хотите добавить команды в файл сценария, вы можете использовать его echo ping www.google.com >> filename.txtдля обхода.
Олли

И подсказка: вы можете легко добавлять префиксы к командам, нажимая ctrl + u, записывая echo и затем нажимая ctrl + y, чтобы вставить исходную команду обратно.
Олли

@olli, проще было бы нажать ctrl + a, чтобы перейти к началу подсказки
ratskin

@ ratskin Я не знаю, какой терминал (эмулятор) вы используете, у меня это не работает.
Олли

4
  • Добавьте a #в начало команды (чтобы она стала комментарием)
  • Запустить его
  • Возьмите его из истории и направьте в утилиту буфера обмена, например, xclip: history | tail -n 1 | sed "s/[[:digit:]]* //" | sed "s/^#//" | xclip

1
Более простой альтернативой является добавление echo перед командой и pipe в xclip. $ echo <command> | xclip -selection clipboard
Самер

1

Если вы не возражаете против использования мыши, просто трижды щелкните строку, которую хотите скопировать, затем нажмите Ctrl+ Shift+ C. Затем вы можете вставить его с Ctrl+ V.


2
должен быть Ctrl + Shift + C для копирования, не так ли?
Info5ek

0

В xfce4-terminal, вам нужно выделить с помощью мыши текст, который вы хотите скопировать, right-clickа затем выберите Copyпункт в контекстном меню.

Это работает?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.