Як скопіювати текст командної консолі?


13

Я використовував команду wpa_passphrase і отримую щось подібне:

network = {ssid = "blahblah" # psk = "moreblahblah" psk = d5e532ecca53ea963e5b3b5521bb3682c53fcf5b6d55f15622027145c795b661}

Мені потрібно скопіювати цей "psk = [довгий рядок]" у мій файл wpa_supplicant.conf. Як я можу вибрати його, щоб скопіювати його? І тоді яку команду я використовую для її копіювання? Такий, що в улюбленому текстовому редакторі я можу натиснути команду вставити, щоб вставити його? (ps. у мене немає миші)

Відповіді:


21

якщо у вас є тачпад, виділіть текст і натисніть Ctrl+ Shift+, Cщоб скопіювати ...

наступні ресурси описують, як скопіювати / вставити лише за допомогою клавіатури - екран / byobu:

Як інтегрувати буфер копії Byobu із буфером обміну X?

http://www.samsarin.com/blog/2007/03/11/gnu-screen-working-with-the-scrollback-buffer/

Копіювання та вставка в режимі прокрутки (екран / byobu)

  • Увійти в режим прокрутки: Ctrl+ A+ [або в byobu такожF7
  • Перемістіть курсор на початок тексту, який потрібно скопіювати, натисніть spacebar
  • Перемістіть курсор до кінця тексту, який потрібно скопіювати, і натисніть enter
  • Щоб вставити текст, натисніть Ctrl+ A+ ]або Alt+Insert

10
Ця інформація не зовсім підходить для byobu. Копіювати в bybu - пробіл, потім Enter, згідно з посібником з byobu . Таким чином, трохи відрізняється від екрана. Я згадую це лише тому, що ця публікація займає дуже високу позицію в Google за "копіювати / вставляти в byobu".
філо

2

Спробуйте це:

wpa_passphrase | awk '/psk/ {print $4}' >> wpa.supplicant.conf

Команда повинна вийняти частину "psk = d5e532ecca53ea963e5b3b5521bb3682c53fcf5b6d55f15622027145c795b661" і скопіювати її в кінець файлу wpa.supplicant.conf. Спробуйте перейти $4на $3або, $2якщо ви не отримаєте потрібну частину команди wpa_passphrase.


1

Може бути не ідеальним, а обхідним шляхом. Можливо, ви зможете записати вихід у файл, а потім зайти у файл, видаліть непотрібний текст, і за допомогою цього catви зможете додати його до wpa_supplicant.conf

В основному ваш робочий процес буде таким:

command > rough

nano rough тут видаліть непотрібний текст і збережіть лише необхідні, тобто psk

sudo sh -c "cat rough >> wpa_supplicant.conf"

Або ви можете використовувати vim, щоб витягнути потрібний текст, вибравши його у візуальному режимі.

PS Хтось, хто добре знає sed, дасть вам простіше рішення, ніж це я думаю.


sudo sh ...команду можна записати в вигляді: cat rough | sudo tee -a wpa_supplicant.conf.
Лекенштейн

@Lekensteyn І cat rough |може бути замінений на < rough.
Мелебій

1

Звичайно, найпоширенішим способом цього буде використання миші або іншого вказівного пристрою (наприклад, тачпада). Хоча це дещо ексцентрично, можна копіювати текст без миші. (Звичайно, у вас може бути поважна причина не використовувати вказівний пристрій.) Перевірте xclip, як у цій відповіді . Таким чином, ви можете використовувати:

wpa_passphrase | xclip -sel clip

0

Наступна команда sed отримає ключ (який складається з символів з шістнадцяткового набору) з виводу wpa_passphraseта помістить його у тимчасовий файл pass.

wpa_passphrase | sed 's/.*psk=\([0-9a-f]*\).*/\1/' > pass

Оскільки у вас немає миші, ви не можете просто вибрати та скопіювати її. Ми будемо використовувати nanotexteditor для вставки цього пропуску:

nano wpa_suppliciant.conf

Перейдіть до потрібного місця за допомогою клавіш зі стрілками та натисніть Insert. Введіть ім'я файлу, який ви тільки що створили pass, а потім введіть Enter. Закрийте та збережіть результат, натиснувши клавішу Ctrl+ Xта підтвердьте її, ввівши, Yа потім - Enter.


0

Ви можете встановити палітурку клавіш у byobu, щоб мати змогу надсилати текст, вибраний у буфері byobu, у буфер обміну X.

Додайте до ~/.byobu/keybindings

# Add cool line to make copying to x clipboard possible.
# This binds C-a b to copy screen's copy buffer to the system clipboard.
bind b eval writebuf 'exec /bin/sh -c "xsel -i < $BYOBU_RUN_DIR/printscreen"'

Потім, використовуючи звичайний F7, перемістіть, пробіл для початку виберіть, перемістіть, введіть для збереження у буфер, тоді ви можете використовувати C-a b(Ctrl-a, потім b), щоб зберегти його у буфер обміну

(На основі https://dodoincfedora.wordpress.com/2012/06/23/integrating-bybuscreens-copy-buffer-with-xgnome-clipboard/ )

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.