Хочете скопіювати і вставити в командному рядку оболонки Bash? Ми покажемо вам кілька методів, чи волієте ви клавіатуру або мишу. Вони працюють, будь ви на графічному стільниці або на традиційному текстовому TTY.
Звичайні клавіатурні скорочення не працюватимуть
Копіювання і вставлення тексту є невід'ємною частиною використання комп'ютера. Коли люди вперше використовують комп'ютер з Linux, незалежно від того, прийшли вони зі світу Windows або macOS, вони часто плутаються, намагаючись скопіювати і вставити у вікно терміналу.
У Windows ви використовуєте Ctrl + C, щоб скопіювати виділений текст, і Ctrl + V, щоб вставити його. У macOS ви використовуєте Command + C, щоб скопіювати його, і Command + V, щоб вставити його. Вони дотримуються тієї ж угоди C для копіювання і V для вставки.
Ті ж самі натискання клавіш працюють у більшості графічних програм Linux, таких як редактор gedit або офісний пакет LibreOffice. Ctrl + C копіює виділений текст, а Ctrl + V вставляє його в курсор. Наш новачок в Linux, ймовірно, навіть не думає про те, що ці угоди були поширені на ці додатки. Вони використовують натискання клавіш з м'язової пам'яті і продовжують свою роботу.
Як тільки наш новачок відкриє вікно термінала і спробує скопіювати і вставити в командному рядку Bash, все зміниться. Ctrl + C і Ctrl + V були призначені функції задовго до того, як про них почали думати. Фактично, ці натискання клавіш набиралися задовго до того, як були винайдені графічні оболонки, ще тоді, коли телетайп (TTY) був фізичною річчю.
Ctrl + C и Ctrl + V в TTY
Коли TTY був фізичним пристроєм, Ctrl + C було обрано як зручну комбінацію клавіш для генерації сигналу. Цей сигнал - SIGINT, який визначає поточний процес. Оскільки вікно термінала - це емульований TTY, ця комбінація клавіш (і багато інших) були збережені і репліковані в емуляції. Зауважте, що емуляція - це вікно термінала. Оболонка Bash - це програма, що працює в емулюваному TTY.
Ми можемо легко побачити функції, які були призначені для Ctrl + C і Ctrl + V Припустимо, ви набрали наступну команду і натиснули «Enter».
ls -R /
Оскільки ми використовуємо параметр -R (рекурсивний), команда ls почне перераховувати всі файли і каталоги, починаючи з кореневого каталогу. Через пару миттєвостей ви розумієте, що це не те, що вам потрібно, тому ви завершуєте процес, натискаючи Ctrl + C
Ctrl + C,
Процес ls завершено. Видиме свідчення Ctrl + C виділено на скріншоті. Його буде показано як ^ C
Комбінація Ctrl + V викликає «дослівну вставку». Це дозволяє вам ввести перегляд ключа в те, що ви друкуєте, замість того, щоб отримати ефект клавіші. Щоб побачити це, спробуйте такі команди (не введіть коми). (Наприклад, щоб спробувати перший, натисніть Ctrl + V, а потім натисніть Enter.)
Ctrl + V, Enter
Ctrl + V, PgDn
Ctrl + V, стрілка праворуч
Ctrl + V, Esc
Коротко, ви можете помітити, що Enter представлений ^ M Раніше ми бачили, що Ctrl + C відображається як ^ C. Здавалося б, ^ представляє Ctrl. Так що Ctrl + M ймовірно, означає те ж саме, що і Enter. Чи означає це, що ми можемо ввести Enter, набравши Ctrl + M? Спробуйте це у вікні термінала. Ви побачите, що це так.
Отже, очевидно, ми не можемо очікувати, що Ctrl + C і Ctrl + V виконають копіювання і вставлення тексту, коли їм вже призначені перевірені часом функції. Так що ми можемо використовувати?
Ctrl + Shift + C и Ctrl + Shift + V
Легко запам'ятати, тому що вони дуже схожі на своїх колег, Ctrl + Shift + C і Ctrl + Shift + V є прямою заміною Ctrl + C і Ctrl + V
Якщо ви оберете текст у вікні термінала за допомогою миші і натиснете Ctrl + Shift + C, ви скопіюєте цей текст до буфера обміну інформацією.
Ctrl + Shift + C,
Ви можете використовувати Ctrl + Shift + V, щоб вставити скопійований текст у те саме вікно термінала або в інше вікно термінала.
Ctrl + Shift + V,
Ви також можете вставити в графічну програму, таку як gedit. Але зверніть увагу, коли ви вставляєте в програму, а не у вікно термінала, ви повинні використовувати Ctrl + V
І ви можете піти іншим шляхом. Ви можете вибрати текст у gedit і натиснути Ctrl + C, а потім вставити його у вікно термінала за допомогою Ctrl + Shift + V
Комбінація Ctrl + Insert така ж, як Ctrl + Shift + C, а комбінація Shift + Insert така ж, як Ctrl + Shift + V Застереження полягає в тому, що вони можуть використовуватися тільки в одному термінальному вікні.
Використання миші: клацання правою кнопкою миші
Ви можете використовувати мишу для копіювання і вставлення у вікні термінала. Ви повинні використовувати мишу, щоб вибрати текст, який ви збираєтеся скопіювати, так чому б не використовувати його для виконання операцій копіювання і вставки?
Після виділення тексту клацніть правою клавішею миші та виберіть пункт «Копіювати» в контекстному меню.
Щоб вставити скопійований текст, клацніть правою клавішею миші і виберіть пункт «Вставити» в контекстному меню.
Текст вставляється в розташування курсора в командному рядку. У цьому прикладі відносний шлях вказано неправильно, і Bash не може змінити каталог. Користувач пропустив «ауд/» з початку шляху. Вони набрали «ауд/», а потім скопіювали залишок шляху від попередньої спроби і вставили його в другий командний рядок.
Коли вони натискають Enter, вони пересуваються в каталог.
У цьому прикладі показано вставку в одне і те ж вікно термінала, але ви можете використовувати цю техніку правою кнопкою миші, щоб вставити в різні вікна термінала. Ви також можете вставити в графічні програми, використовуючи цей метод.
Використання миші: середня кнопка
Існує ще більш швидкий спосіб копіювання і вставки за допомогою миші, якщо ваша миша має середню кнопку. Якщо ви натиснете колесо прокрутки (обережно!), І воно клацне, у вас є середня кнопка.
Виділіть текст у вікні термінала і натисніть середню кнопку. Виділений текст вставляється в позицію курсора в командному рядку. Копіювання і вставлення відбуваються одночасно.
Отже, виділіть текст:
Потім натисніть середню кнопку:
Ви можете використовувати цей метод для вставлення між вікнами різних терміналів, а також у графічні програми. Просто виділіть текст, перейдіть в інше вікно термінала або програму і натисніть середню кнопку.
Стара школа - немає миші
А коли у тебе немає миші? Якщо ви не можете вибрати текст, як ви можете скопіювати і вставити його?
Сервери Linux часто налаштовуються без графічного середовища стільниці (GDE), а це означає, що у вас немає доступу до миші. Навіть на комп'ютері Linux, на якому запущено графічне середовище стільниці, таке як GNOME, і у вас є миша, будуть випадки, коли ви не можете використовувати мишу для виділення тексту.
Наприклад, ви могли помінятися місцями з одним з додаткових TTY. У сучасних дистрибутивах вони розташовані від Ctrl + Alt + F3 (TTY3) до Ctrl + Alt + F6 (TTY6). (Ctrl + Alt + F2 поверне вас у сеанс GDE, а Ctrl + Alt + F1 відкриє екран входу в GDE.)
Можливо, ви навіть використовуєте справжній апаратний пристрій TTY для підключення до комп'ютера з Linux або Unix.
У будь-якому випадку, ці методи будуть працювати для вас. Важливо пам'ятати, що це не копіювання і вставка, це вирізання, копіювання і вставка, і ви можете вирізати і копіювати тільки з поточного командного рядка. Звичайно, ви можете використовувати клавіші зі стрілками для прокрутки вашої історії, щоб знайти командний рядок, який ви хочете вирізати, копіювати і вставляти з.
Клавіші, які ви можете використовувати:
- Ctrl + W: вирізати слово перед курсором і додати його до буфера обміну даними.
- Ctrl + K: вирізати частину рядка після курсора і додати її до буфера обміну даними. Якщо курсор знаходиться на початку рядка, він обріже і скопіює весь рядок.
- Ctrl + U: вирізати частину рядка перед курсором і додати його до буфера обміну інформацією. Якщо курсор знаходиться в кінці рядка, він обріже і скопіює весь рядок.
- Ctrl + Y: вставляє останній текст, який було вирізано і скопійовано.
Давайте перейдемо до TTY3. (Скористайтеся Ctrl + Alt + F1, щоб потім повернутися на стільницю).
Ctrl + Alt + F3
TTY
У нас є файл, який ми хочемо видалити, давайте перевіримо його тут.
ls -l file_to_delete.txt
Якщо ми використовуємо клавішу «Стрілка вгору», ми викличемо останню команду, яку ми використовували з історії команд. Ми могли б просто редагувати цей рядок, але мета полягає в тому, щоб продемонструвати вирізання, копіювання і вставку, тому ми виконаємо наше завдання щодо видалення файлу трохи затяжним способом.
Ми перемістимо курсор на першу літеру назви файлу, а потім натисніть Ctrl + K Це вилучить цю частину рядка і скопіює текст до буфера обміну інформацією.
Ми будемо натискати клавішу Backspace, поки не очистимо лінію.
