Jak zkopírovat a vložit text na Linux’s Bash Shell

Chcete zkopírovat a vložit na příkazový řádek prostředí Bash? Ukážeme vám několik technik, ať už dáváte přednost klávesnici nebo myši. Ty fungují, ať už jste na grafické ploše nebo na tradičním textovém TTY.

Obvyklé klávesové zkratky nebudou fungovat

Kopírování a vkládání textu je základní součástí používání počítače. Když lidé poprvé používají počítač s Linuxem, ať už pocházejí ze světa Windows nebo macOS, jsou často zmateni, když se pokoušejí kopírovat a vkládat do okna terminálu.

Ve Windows pomocí Ctrl+C zkopírujete část zvýrazněného textu a Ctrl+V jej vložíte. V macOS jej zkopírujete pomocí Command+C a pro vložení použijete Command+V. Řídí se stejnou konvencí C pro kopírování a V pro vkládání.

Stejné stisky kláves fungují ve většině grafických aplikací Linuxu, jako je editor gedit nebo LibreOffice kancelářský balík. Ctrl+C zkopíruje zvýrazněný text a Ctrl+V jej vloží na kurzor. Náš nováček v Linuxu pravděpodobně ani nepřemýšlí o tom, že tyto konvence byly přeneseny do těchto aplikací. Používají úhozy ze svalové paměti a pokračují ve své práci.

Jakmile náš nováček otevře okno terminálu a pokusí se zkopírovat a vložit na Bash shell příkazového řádku, že se vše změní. Ctrl+C a Ctrl+V byly alokované funkce dávno předtím, než se vůbec myslelo na kopírování a vkládání. Ve skutečnosti byly tyto úhozy načteny dávno předtím, než byly vynalezeny grafické shelly, v době, kdy teletyp (TTY) byl fyzickou věcí.

Ctrl+C a Ctrl+V v TTY

Když byl TTY fyzickým zařízením, byla Ctrl+C zvolena jako šikovná kombinace kláves pro generování signálu. Ten signál je SIGINT, který říká, že aktuální proces má být ukončen. Protože okno terminálu je emulovaný TTY, byla tato kombinace kláves (a mnoho dalších) zachována a replikována v emulaci. Všimněte si, že je to okno terminálu, které je emulací. Bash shell je program běžící v tomto emulovaném TTY.

  Jak používat příkaz yes v systému Linux

Snadno vidíme funkce, které byly přiřazeny Ctrl+C a Ctrl+V. Předpokládejme, že zadáte následující příkaz a stisknete „Enter“.

ls -R /

Protože používáme volbu -R (rekurzivní), příkaz ls začne vypisovat všechny soubory a adresáře, počínaje kořenovým adresářem. Po několika okamžicích si uvědomíte, že to není to, co jste chtěli, a tak proces ukončíte stisknutím Ctrl+C.

Ctrl+C

Proces ls je ukončen. Viditelný důkaz Ctrl+C je zvýrazněn na snímku obrazovky. Zobrazuje se jako ^C.

Kombinace kláves Ctrl+V vyvolá „doslovné vložení“. To vám umožní zadat reprezentaci klávesy do toho, co píšete, místo toho, abyste získali efekt klávesy. Chcete-li to vidět, vyzkoušejte následující příkazy (nepište čárky). (Například pro vyzkoušení prvního stiskněte Ctrl+V a poté stiskněte Enter.)

Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc

Jako rychlou stranu si můžete všimnout, že Enter je reprezentován ^M . Dříve jsme viděli, že Ctrl+C se objevilo jako ^C. Zdá se, že ^ představuje Ctrl. Ctrl+M tedy pravděpodobně znamená totéž jako Enter. Znamená to, že můžeme zadat Enter zadáním Ctrl+M? Zkuste to v okně terminálu. Uvidíte, že ano.

Zjevně tedy nemůžeme očekávat, že Ctrl+C a Ctrl+V provedou kopírování a vkládání textu, když jim již byly přiděleny osvědčené funkce. Co tedy můžeme použít?

Ctrl+Shift+C a Ctrl+Shift+V

Snadno zapamatovatelné, protože jsou velmi podobné svým protějškům, Ctrl+Shift+C a Ctrl+Shift+V jsou přímou náhradou za Ctrl+C a Ctrl+V.

Pokud zvýrazníte text v okně terminálu myší a stisknete Ctrl+Shift+C, zkopírujete tento text do vyrovnávací paměti schránky.

Ctrl+Shift+C

Pomocí Ctrl+Shift+V můžete vložit zkopírovaný text do stejného okna terminálu nebo do jiného okna terminálu.

Ctrl+Shift+V

Můžete také vložit do grafické aplikace, jako je gedit. Ale pozor, když vkládáte do aplikace – a ne do okna terminálu – musíte použít Ctrl+V.

A můžete jít i jinou cestou. Můžete zvýraznit text v gedit a stisknout Ctrl+C a poté jej vložit do okna terminálu pomocí Ctrl+Shift+V.

Kombinace kláves Ctrl+Insert je stejná jako Ctrl+Shift+C a kombinace Shift+Insert je stejná jako Ctrl+Shift+V. Upozornění je, že je lze použít pouze ve stejném okně terminálu.

  Jak nastavit server DLNA v systému Linux

Použití myši: Klepněte pravým tlačítkem myši

Pomocí myši můžete kopírovat a vkládat do okna terminálu. Ke zvýraznění textu, který budete kopírovat, musíte použít myš, tak proč ji nepoužít k provedení akcí kopírování a vkládání?

Jakmile zvýrazníte nějaký text, klikněte pravým tlačítkem myši a z kontextové nabídky vyberte „Kopírovat“.

Chcete-li vložit zkopírovaný text, klikněte ještě jednou pravým tlačítkem myši a z kontextové nabídky vyberte „Vložit“.

Text se vloží na pozici kurzoru na příkazovém řádku. V tomto příkladu byla relativní cesta zadána nesprávně a Bash nemůže změnit adresář. Uživatel vynechal „~/“ od začátku cesty. Zadali „~/“ a poté zkopírovali zbytek cesty z předchozího pokusu a vložili jej do druhého příkazového řádku.

Když stisknou Enter, přesunou se do adresáře.

Tento příklad ukázal vkládání do stejného okna terminálu, ale tuto techniku ​​​​klepnutí pravým tlačítkem můžete použít k vložení do různých oken terminálu. Pomocí této metody můžete také vkládat do grafických aplikací.

Použití myši: Střední tlačítko

Existuje ještě rychlejší způsob kopírování a vkládání pomocí myši, pokud má vaše myš prostřední tlačítko. Pokud zatlačíte na rolovací kolečko (jemně!) a zacvakne, máte prostřední tlačítko.

Zvýrazněte nějaký text v okně terminálu a poté stiskněte prostřední tlačítko. Zvýrazněný text se vloží na pozici kurzoru na příkazovém řádku. Kopírování a vkládání probíhá současně.

Zvýrazněte tedy nějaký text:

Poté stiskněte prostřední tlačítko:

Tuto metodu můžete použít pro vkládání mezi okna různých terminálů a také do grafických aplikací. Stačí zvýraznit text, přejít do jiného okna terminálu nebo aplikace a stisknout prostřední tlačítko.

Stará škola – žádná myš

Co když nemáte myš? Pokud nemůžete zvýraznit žádný text, jak jej můžete zkopírovat a vložit?

Linuxové servery jsou často konfigurovány bez a grafické desktopové prostředí (GDE), což znamená, že nemáte přístup k myši. Dokonce i na počítači s Linuxem, na kterém běží grafické desktopové prostředí, jako je GNOME a vy máte myš, nastanou případy, kdy nebudete moci použít myš ke zvýraznění textu.

Například jste mohli přejít na jeden z dodatečných TTY. Na moderních distribucích jsou umístěny od Ctrl+Alt+F3 (TTY3) až po Ctrl+Alt+F6 (TTY6). (Ctrl+Alt+F2 vás vrátí do relace GDE a Ctrl+Alt+F1 vás přenese na přihlašovací obrazovku vašeho GDE.)

  4 nejlepší Twitter klienti pro Linux

Možná dokonce používáte originální hardwarové TTY zařízení pro připojení k počítači se systémem Linux nebo Unix.

Ať tak či onak, tyto techniky vám budou fungovat. Zde je důležité pamatovat na to, že se nejedná o kopírování a vkládání, ale o vyjímání, kopírování a vkládání a vyjmout a zkopírovat můžete pouze z aktuálního příkazového řádku. Samozřejmě můžete pomocí kláves se šipkami procházet svou historií a najít příkazový řádek, ze kterého chcete vyjmout, zkopírovat a vložit.

Stisky kláves, které můžete použít, jsou:

Ctrl+W: Vyjme slovo před kurzorem a přidá ho do vyrovnávací paměti schránky.
Ctrl+K: Odřízne část čáry za kurzorem a přidá ji do vyrovnávací paměti schránky. Pokud je kurzor na začátku řádku, ořízne a zkopíruje celý řádek.
Ctrl+U: Odřízne část čáry před kurzorem a přidá ji do vyrovnávací paměti schránky. Pokud je kurzor na konci řádku, ořízne a zkopíruje celý řádek.
Ctrl+Y: Vloží poslední vyjmutý a zkopírovaný text.

Pojďme na TTY3. (Pomocí Ctrl+Alt+F1 se poté vraťte na plochu.)

Ctrl+Alt+F3
tty

Máme soubor, který chceme smazat, zkontrolujte, zda je zde.

ls -l file_to_delete.txt

Pokud použijeme klávesu Šipka nahoru, zavoláme poslední příkaz, který jsme použili, z historie příkazů. Mohli bychom jen upravit tento řádek, ale cílem je předvést vyjmutí, kopírování a vkládání, takže náš úkol smazat soubor dokončíme mírně zdlouhavým způsobem.

Přesuneme kurzor na první písmeno názvu souboru a poté stiskneme Ctrl+K. Tím se odstraní tato část řádku a text se zkopíruje do vyrovnávací paměti schránky.

Stiskneme Backspace, dokud nevyčistíme čáru.

Zadáním rm soubor smažeme.

A nyní můžeme stisknout Ctrl+Y a vložit zbytek řádku.

Tím je náš příkaz dokončen a můžeme stisknutím klávesy Enter soubor odstranit.

Tento typ vyjmutí, kopírování a vložení nelze použít mezi dalšími TTY. Nemůžete vyjmout, kopírovat a vkládat například mezi TTY3 a TTY4.

Dodatečné TTY je nejlepší si představit jako řadu fyzických TTY sedících vedle sebe. Neexistuje způsob, jak vyjmout a vložit mezi různé fyzické terminály, a neexistuje způsob, jak to udělat v těchto emulacích.

Zkopírujte to, kontrola

Ať už se při používání počítače se systémem Linux ocitnete v jakékoli situaci, existuje způsob kopírování a vkládání. Máte možnosti. Některé z nich jsou zvláštní možnosti, ale alespoň existují možnosti.