Szöveg másolása és beillesztése a Linux Bash Shellben

Szeretne másolni és beilleszteni a Bash shell parancssorába? Számos technikát mutatunk be, akár a billentyűzetet, akár az egeret részesíti előnyben. Ezek működnek akár grafikus asztalon, akár hagyományos szöveges TTY-n.

A szokásos billentyűparancsok nem működnek

A szöveg másolása és beillesztése a számítógép használatának alapvető része. Amikor az emberek először használnak Linuxos számítógépet, függetlenül attól, hogy a Windows vagy a MacOS világából jöttek, gyakran összezavarodnak, amikor egy terminálablakon belül próbálnak másolni és beilleszteni.

Windows rendszerben a Ctrl+C billentyűkombinációval másolhatja a kiemelt szöveg egy részét, a Ctrl+V billentyűkombinációt pedig a beillesztéséhez. A macOS rendszerben a Command+C billentyűkombinációval másolhatja, a Command+V billentyűkombinációval pedig beillesztheti. Ugyanazt a konvenciót követik, hogy C másol és V beszúr.

Ugyanezek a billentyűleütések működnek a legtöbb Linux grafikus alkalmazásban, például a szerkesztőben gedit vagy a LibreOffice irodai programcsomag. A Ctrl+C a kiemelt szöveget másolja, a Ctrl+V pedig a kurzorhoz illeszti. Újoncunk a Linuxban valószínűleg nem is gondol arra, hogy ezeket a konvenciókat átvitték ezekre az alkalmazásokra. Használják a billentyűleütéseket az izommemóriából, és folytatják a munkájukat.

Miután újoncunk megnyit egy terminálablakot, és megpróbál másolni és beilleszteni a Bash shell parancssor, hogy minden megváltozik. A Ctrl+C és a Ctrl+V funkciókat már jóval azelőtt kiosztották, hogy a másolás és beillesztés valaha is felmerült volna. Valójában ezeket a billentyűleütéseket jóval a grafikus héjak feltalálása előtt toborozták, még akkor, amikor a teletípus (TTY) fizikai dolog volt.

Ctrl+C és Ctrl+V a TTY-kben

Amikor a TTY fizikai eszköz volt, a Ctrl+C billentyűkombinációt választották praktikus billentyűkombinációnak a jel generálására. Ez a jel SIGINT, amely az aktuális folyamat befejezését utasítja. Mivel a terminálablak egy emulált TTY, ez a billentyűkombináció (és sok más) megmaradt és replikálódott az emulációban. Vegye figyelembe, hogy a terminálablak az emuláció. A Bash shell egy olyan program, amely az emulált TTY-ben fut.

Könnyen láthatjuk a Ctrl+C és Ctrl+V billentyűkombinációhoz hozzárendelt funkciókat. Tegyük fel, hogy beírja a következő parancsot, és megnyomja az „Enter” gombot.

ls -R /

Mivel a -R (rekurzív) opciót használjuk, az ls parancs minden fájlt és könyvtárat listázni kezd, a gyökérkönyvtártól kezdve. Néhány pillanat múlva rájössz, hogy nem ezt akartad, ezért a folyamatot a Ctrl+C megnyomásával fejezed be.

Ctrl+C

Az ls folyamat leáll. A Ctrl+C látható bizonyítéka kiemelve van a képernyőképen. ^C-ként jelenik meg.

  A 8 legjobb online technikai támogatási forrás Linux-felhasználók számára

A Ctrl+V billentyűkombináció a „szó szerinti beszúrást” hívja meg. Ez lehetővé teszi, hogy beírja a beírt szövegbe egy kulcs ábrázolását, ahelyett, hogy a billentyű hatását érné el. Ennek megtekintéséhez próbálja ki a következő parancsokat (ne írja be a vesszőt). (Például az első kipróbálásához nyomja le a Ctrl+V, majd az Enter billentyűt.)

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

Gyorsan félretéve észreveheti, hogy az Entert ^M jelöli. Korábban láttuk, hogy a Ctrl+C ^C-ként jelent meg. Úgy tűnik, hogy a ^ a Ctrl billentyűt jelenti. Tehát a Ctrl+M valószínűleg ugyanazt jelenti, mint az Enter. Ez azt jelenti, hogy beírhatjuk az Entert a Ctrl+M lenyomásával? Próbáld ki terminál ablakban. Meglátod, hogy sikerül.

Tehát nyilvánvalóan nem várhatjuk el, hogy a Ctrl+C és a Ctrl+V végrehajtsa a szöveg másolását és beillesztését, ha már régmúlt funkciókat rendeltek hozzájuk. Tehát mit használhatunk?

Ctrl+Shift+C és Ctrl+Shift+V

Könnyen megjegyezhető, mert nagyon hasonlítanak társaikra, a Ctrl+Shift+C és a Ctrl+Shift+V a Ctrl+C és a Ctrl+V közvetlen helyettesítője.

Ha az egérrel kiemeli a szöveget a terminálablakban, és lenyomja a Ctrl+Shift+C billentyűkombinációt, a szöveget a vágólappufferbe másolja.

Ctrl+Shift+C

A Ctrl+Shift+V billentyűkombinációval beillesztheti a másolt szöveget ugyanabba a terminálablakba vagy egy másik terminálablakba.

Ctrl+Shift+V

Grafikus alkalmazásba, például a geditbe is beillesztheti. De ne feledje, ha egy alkalmazásba – és nem terminálablakba – illeszt be, a Ctrl+V billentyűkombinációt kell használnia.

És mehetsz a másik irányba is. Kijelölhet szöveget a geditben, és megnyomhatja a Ctrl+C billentyűkombinációt, majd a Ctrl+Shift+V billentyűkombinációval beillesztheti egy terminálablakba.

A Ctrl+Insert billentyűkombináció megegyezik a Ctrl+Shift+C billentyűkombinációval, a Shift+Insert kombináció pedig a Ctrl+Shift+V billentyűkombinációval. A figyelmeztetés az, hogy ezek csak ugyanazon a terminálablakon belül használhatók.

Az egér használata: Kattintson a jobb gombbal

Az egérrel másolhat és beilleszthet egy terminálablakba. Használnia kell az egeret a másolni kívánt szöveg kijelöléséhez, tehát miért ne használja a másolási és beillesztési műveletek végrehajtásához?

  Zenei CD-k mentése Linux PC-re Sound Juicer segítségével

Miután kijelölt néhány szöveget, kattintson a jobb gombbal az egérrel, és válassza a „Másolás” lehetőséget a helyi menüből.

A másolt szöveg beillesztéséhez kattintson még egyszer a jobb egérgombbal, és válassza a „Beillesztés” lehetőséget a helyi menüből.

A szöveg a kurzor helyére kerül beillesztésre a parancssorban. Ebben a példában a relatív elérési út helytelenül lett megadva, és a Bash nem tudja megváltoztatni a könyvtárat. A felhasználó elmulasztotta a „~/” jelet az útvonal elejétől. Beírták a „~/” jelet, majd kimásolták az előző próbálkozásuk elérési útjának fennmaradó részét, és beillesztették a második parancssorukba.

Amikor megnyomják az Enter billentyűt, átkerülnek a könyvtárba.

Ez a példa ugyanabba a terminálablakba való beillesztést mutatta be, de ezzel a jobb kattintási technikával különböző terminálablakokba is beilleszthet. Ezzel a módszerrel grafikus alkalmazásokba is beilleszthet.

Az egér használata: Középső gomb

Létezik egy még gyorsabb módja az egérrel történő másolásnak és beillesztésnek, ha az egéren van egy középső gomb. Ha lenyomod a görgőt (finoman!), és az kattan, akkor van egy középső gomb.

Jelöljön ki néhány szöveget egy terminálablakban, majd nyomja meg a középső gombot. A kiemelt szöveg beillesztésre kerül a kurzor pozíciójába a parancssorban. A másolás és beillesztés egyszerre történik.

Tehát emelj ki néhány szöveget:

Ezután nyomja meg a középső gombot:

Ezzel a módszerrel beilleszthet különböző terminálok ablakai közé, és grafikus alkalmazásokba is. Csak jelölje ki a szöveget, lépjen a másik terminálablakra vagy alkalmazásra, és nyomja meg a középső gombot.

Old School – Nincs egér

Mi van, ha nincs egered? Ha nem tud kiemelni egyetlen szöveget sem, hogyan tudja azt másolni és beilleszteni?

A Linux szerverek gyakran úgy vannak beállítva, hogy a grafikus asztali környezet (GDE), ami azt jelenti, hogy nem fér hozzá az egérhez. Még egy olyan Linux számítógépen is, amely grafikus asztali környezetet, például GNOME-ot futtat, és van egér, előfordulhat, hogy nem tudja az egeret használni a szöveg kiemelésére.

Például előfordulhat, hogy átváltott valamelyik további TTY-re. A modern disztribúciókon ezek a Ctrl+Alt+F3 (TTY3) és a Ctrl+Alt+F6 (TTY6) billentyűkombinációk között találhatók. (A Ctrl+Alt+F2 visszaviszi a GDE munkamenetbe, a Ctrl+Alt+F1 pedig a GDE bejelentkezési képernyőjére.)

  Linux Xonotic játékszerver hosztolása

Talán még valódi hardveres TTY-eszközt is használ a Linux vagy Unix számítógéphez való csatlakozáshoz.

Akárhogy is, ezek a technikák működni fognak az Ön számára. Itt érdemes megjegyezni, hogy ez nem másolás és beillesztés, hanem kivágás, másolás és beillesztés, és csak az aktuális parancssorból lehet kivágni és másolni. Természetesen a nyílbillentyűkkel görgetheti az előzményeket, hogy megtalálja a kivágni, másolni és beilleszteni kívánt parancssort.

A használható billentyűleütések a következők:

Ctrl+W: Vágja ki a szót a kurzor előtt, és adja hozzá a vágólap pufferéhez.
Ctrl+K: Vágja ki a sornak a kurzor utáni részét, és adja hozzá a vágólap pufferéhez. Ha a kurzor a sor elején van, akkor a teljes sort kivágja és másolja.
Ctrl+U: Vágja ki a sor kurzor előtti részét, és adja hozzá a vágólap pufferéhez. Ha a kurzor a sor végén van, akkor a teljes sort kivágja és másolja.
Ctrl+Y: Illessze be az utoljára kivágott és másolt szöveget.

Térjünk át a TTY3-ra. (Használja a Ctrl+Alt+F1 billentyűkombinációt, hogy később visszatérjen az asztalra.)

Ctrl+Alt+F3
tty

Van egy fájl, amit törölni szeretnénk, nézzük meg, hogy itt van-e.

ls -l file_to_delete.txt

Ha a Fel-Nyíl billentyűt használjuk, akkor az utoljára használt parancsot hívjuk ki a parancstörténetből. Csak szerkeszthetnénk ezt a sort, de a cél a kivágás, másolás és beillesztés bemutatása, így a feladatunkat, a fájl törlését kissé elnyújtva teljesítjük.

Vigyük a kurzort a fájlnév első betűjére, majd nyomjuk meg a Ctrl+K billentyűkombinációt. Ezzel eltávolítja a sor adott részét, és a szöveget a vágólappufferbe másolja.

Addig nyomjuk a Backspace billentyűt, amíg ki nem ürítjük a sort.

A fájl törléséhez beírjuk az rm-et.

Most pedig lenyomhatjuk a Ctrl+Y billentyűkombinációt, és beilleszthetjük a sor többi részébe.

Ezzel befejeztük a parancsot, és az Enter billentyűt lenyomva törölhetjük a fájlt.

Ez a típusú kivágás, másolás és beillesztés nem használható a további TTY-k között. Nem lehet kivágni, másolni és beilleszteni például a TTY3 és a TTY4 közé.

A további TTY-ket leginkább egymás mellett elhelyezkedő fizikai TTY-k soraként lehet elképzelni. Nincs mód a különböző fizikai terminálok közötti kivágásra és beillesztésre, és ezekben az emulációkban sem.

Másolja azt, vezérlés

Bármilyen helyzetbe is kerül Linuxos számítógép használatakor, lesz mód a másolásra és beillesztésre. Vannak lehetőségek. Némelyikük furcsa lehetőség, de legalább vannak lehetőségek.