Želite li da kopirate i zalepite tekst u komandnoj liniji Bash-a? Pokazaćemo vam različite načine za to, bez obzira da li preferirate upotrebu tastature ili miša. Ove metode funkcionišu i na grafičkom okruženju i na tradicionalnom tekstualnom TTY-u.
Uobičajene prečice na tastaturi nisu primenjive
Kopiranje i lepljenje teksta su osnovne radnje pri korišćenju računara. Kada korisnici koji su navikli na Windows ili macOS prvi put koriste Linux, često se zbune kada pokušaju da kopiraju i zalepe tekst u prozoru terminala.
U Windows-u, za kopiranje označenog teksta koristi se Ctrl+C, a za lepljenje Ctrl+V. Na macOS-u, ista funkcija se obavlja pomoću Command+C i Command+V. U oba slučaja, ‘C’ je za kopiranje, a ‘V’ za lepljenje.
Iste prečice funkcionišu u većini grafičkih aplikacija na Linux-u, kao što su gedit ili LibreOffice paket. Ctrl+C kopira tekst, a Ctrl+V ga lepi na poziciju kursora. Novi korisnici Linux-a uglavnom ne razmišljaju o tome da su ove konvencije prenete u aplikacije. Oni jednostavno koriste prečice iz mišićne memorije i nastavljaju sa radom.
Međutim, kada taj isti korisnik otvori terminal i pokuša da kopira i nalepi tekst u Bash shell komandnoj liniji, stvari se menjaju. Ctrl+C i Ctrl+V imaju dodeljene funkcije davno pre nego što je kopiranje i lepljenje uopšte postalo tema. Zapravo, te kombinacije tastera su korišćene mnogo pre pojave grafičkih interfejsa, kada su teleprinteri (TTY) bili fizički uređaji.
Ctrl+C i Ctrl+V u TTY-ovima
Kada je TTY bio fizički uređaj, Ctrl+C je odabran kao kombinacija tastera za generisanje signala. Taj signal je SIGINT, koji naređuje trenutnom procesu da se zaustavi. Pošto je prozor terminala samo emulacija TTY-a, ta kombinacija tastera, kao i mnoge druge, je zadržana i preneta u emulaciju. Važno je napomenuti da je prozor terminala taj koji je emulacija, dok je Bash shell program koji radi unutar tog emuliranog TTY-a.
Funkcije dodeljene tasterima Ctrl+C i Ctrl+V se lako mogu videti. Recimo da ukucate sledeću komandu i pritisnete Enter:
ls -R /
Pošto koristimo opciju -R (rekurzivno), komanda ls počinje da nabraja svaku datoteku i direktorijum, počevši od osnovnog direktorijuma. Nakon nekog vremena, shvatate da to nije ono što ste hteli, pa prekidate proces pritiskom na Ctrl+C.
Ctrl+C
Proces ls je prekinut. Vidljiv dokaz za Ctrl+C je prikazan na snimku ekrana kao ^C.
Kombinacija tastera Ctrl+V poziva „doslovno umetanje“. To vam omogućava da prikažete simbol tastera koji ste pritisnuli, umesto da dobijete njegov efekat. Da biste to videli, isprobajte sledeće komande (ne kucajte zareze). (Na primer, da biste isprobali prvu, pritisnite Ctrl+V, a zatim pritisnite Enter.)
Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc
Možda ste primetili da Enter prikazuje kao ^M. Ranije smo videli da se Ctrl+C prikazuje kao ^C. Čini se da znak ^ predstavlja Ctrl. Dakle, Ctrl+M verovatno znači isto što i Enter. Da li to znači da možemo da unesemo Enter kucanjem Ctrl+M? Pokušajte to u terminalu. Videćete da je tako.
Dakle, jasno je da ne možemo očekivati da Ctrl+C i Ctrl+V obavljaju kopiranje i lepljenje teksta, s obzirom na to da već imaju dodeljene funkcije. Šta onda možemo da koristimo?
Ctrl+Shift+C i Ctrl+Shift+V
Lako se pamte jer su slične svojim parnjacima, Ctrl+Shift+C i Ctrl+Shift+V su direktne zamene za Ctrl+C i Ctrl+V.
Ako označite tekst u prozoru terminala pomoću miša i pritisnete Ctrl+Shift+C, kopiraćete taj tekst u memoriju.
Ctrl+Shift+C
Možete koristiti Ctrl+Shift+V da zalepite kopirani tekst u isti ili drugi prozor terminala.
Ctrl+Shift+V
Možete zalepiti i u grafičku aplikaciju kao što je gedit, ali imajte na umu da kada lepite u aplikaciju, a ne u prozor terminala, morate koristiti Ctrl+V.
I obrnuto, možete da označite tekst u gedit-u i pritisnete Ctrl+C, a zatim ga zalepite u prozor terminala koristeći Ctrl+Shift+V.
Kombinacija tastera Ctrl+Insert je ekvivalentna sa Ctrl+Shift+C, a Shift+Insert sa Ctrl+Shift+V. Međutim, upozorenje je da se one mogu koristiti samo unutar istog prozora terminala.
Korišćenje miša: Desni klik
Takođe možete koristiti miša za kopiranje i lepljenje u prozoru terminala. Morate koristiti miša da označite tekst koji želite da kopirate, pa zašto ne biste ga koristili i za operacije kopiranja i lepljenja?
Nakon što ste označili tekst, kliknite desnim tasterom miša i izaberite „Kopiraj“ iz kontekstnog menija.
Da biste zalepili kopirani tekst, još jednom kliknite desnim tasterom miša i izaberite „Zalepi“ iz kontekstnog menija.
Tekst će biti zalepljen na poziciju kursora u komandnoj liniji. U ovom primeru, relativna putanja je pogrešno uneta, pa Bash ne može da promeni direktorijum. Korisnik je propustio “~/“ sa početka putanje. Nakon što je otkucao “~/“, kopirao je ostatak putanje iz prethodnog pokušaja i zalepio ga u drugu komandnu liniju.
Kada pritisne Enter, premešta se u željeni direktorijum.
Ovaj primer je pokazao lepljenje u isti prozor terminala, ali možete koristiti ovu tehniku desnim klikom da zalepite i u različite prozore terminala, kao i u grafičke aplikacije.
Korišćenje miša: Srednje dugme
Postoji još brži način za kopiranje i lepljenje pomoću miša, sve dok vaš miš ima srednje dugme. Ako pritisnete točkić za pomeranje (nežno!) i on klikne, imate srednje dugme.
Označite neki tekst u prozoru terminala, a zatim pritisnite srednje dugme. Označeni tekst se odmah lepi na poziciju kursora u komandnoj liniji. Kopiranje i lepljenje se dešavaju istovremeno.
Dakle, označite neki tekst:
Zatim pritisnite srednje dugme:
Ovu metodu možete koristiti za lepljenje između različitih prozora terminala, kao i u grafičke aplikacije. Samo označite tekst, pređite na drugi prozor terminala ili aplikaciju i pritisnite srednje dugme.
Stara škola – bez miša
Šta raditi kada nemate miš? Ako ne možete da označite tekst, kako da ga kopirate i zalepite?
Linux serveri se često konfigurišu bez grafičkog okruženja, što znači da nemate pristup mišu. Čak i na Linux računaru koji koristi grafičko okruženje, poput GNOME-a, i gde imate miša, biće slučajeva kada nećete moći da ga koristite za označavanje teksta.
Na primer, možda ste se prebacili na jedan od dodatnih TTY-eva. U modernim distribucijama, oni se nalaze na Ctrl+Alt+F3 (TTY3) do Ctrl+Alt+F6 (TTY6). (Ctrl+Alt+F2 će vas vratiti u sesiju vašeg grafičkog okruženja, a Ctrl+Alt+F1 će vas odvesti na ekran za prijavu u grafičko okruženje.)
Možda čak koristite i originalni hardverski TTY uređaj za povezivanje sa Linux ili Unix računarom.
U svakom slučaju, ove tehnike će funkcionisati za vas. Važno je zapamtiti da ovde nije reč o klasičnom kopiranju i lepljenju, već o sečenju i lepljenju. Takođe, možete da sečete i kopirate samo iz trenutne komandne linije. Naravno, možete koristiti tastere sa strelicama da se krećete kroz istoriju komandi i pronađete liniju koju želite da isečete i zalepite.
Tasteri koje možete koristiti su:
Ctrl+W: Isecite reč ispred kursora i dodajte je u bafer međumemorije.
Ctrl+K: Isecite deo linije nakon kursora i dodajte ga u bafer međumemorije. Ako je kursor na početku linije, iseče i kopira celu liniju.
Ctrl+U: Isecite deo linije pre kursora i dodajte ga u bafer međumemorije. Ako je kursor na kraju linije, iseče i kopira celu liniju.
Ctrl+Y: Zalepite poslednji tekst koji je isečen i kopiran.
Pređimo na TTY3 (koristite Ctrl+Alt+F1 da biste se kasnije vratili na radnu površinu).
Ctrl+Alt+F3
tty
Imamo datoteku koju želimo da izbrišemo, pa proverimo da li je ovde.
ls -l file_to_delete.txt
Ako koristimo taster strelice nagore, poslednju komandu koju smo koristili pozvaćemo iz istorije komandi. Mogli bismo samo da uredimo tu liniju, ali cilj je da demonstriramo sečenje i lepljenje, pa ćemo zadatak brisanja datoteke obaviti malo zaobilaznim putem.
Postavićemo kursor na prvo slovo imena datoteke, a zatim pritisnuti Ctrl+K. To će ukloniti taj deo linije i kopirati tekst u bafer međumemorije.
Pritiskom na Backspace obrisaćemo liniju.
<img decoding=“async“ class=“alignnone size-full wp-image-440715″ src=“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoYAAACTAgMAAABuYDDrAAAACVBMVEUAAAABAQHMzMygyw1NAAADwElEQVR42u3aQW7jOBAFUF/CDczsezOn8CU+gar9NyDepwz4ALVgTjkLUjLtdhxlRm5xMOUFQTFB8kCJpY9KDofxP0cM/jn9J4gyz/nk65oGIiavxJuJAHiBAQlpBKJIR5SFOGnZnfjnVZ2izuvZ1Zmyq+tVXZ1MBvACZM9O2Y34c6JQKOdpEgovCRSSQqElA9hu9J5EQSUKH4jnemBGIGoR5nJPzCWXqX5LGYBIERI9UY0g6i7iMgyR5UYUEER7FhtRpj2Py5SMIuh20SmUeqLnopOuexadazL1VCjqOsFrEdK5zBgAh2O/G/3sHf30uRuLqL5uLZJOEDcmyuhEaUSpkWu3Y7GeSBmPSL2qU8CaCkckGicKBdbCwpBE6YlpvGfxByi5CBOG3cUfoBBDE/9oRGmpcMDj8hOcKMnYUuGQRL2qJ2NLhSOW7jFS4XricHsYYez/RPxuf9Fhv/WArewvNlQyIAFWr9NCbOttLb2L+Kq/uOzbTHkg4r3ENf1FWCtGBiQkq9fZ1QG9qsPU61V2SvaNiWv6i7BbZyI7rF7XVhQnCoxSrxIom+/imv4ijP2NvifKPVH4BuLX/UWYAsjlRszlRswFlktCXUv2BuLX/UUY/GEX0e0iYERCXXsj8VV/EQZZS3zHjV7RX+yPyy/PYndckr3luKzpL2qpRae2Q7W066XoaFGHqyeDU7B10Xn2jl6TvPPHbdwhRgyVGiOMBbFPgt/LhNsmyk+J9gnR1NVh3ZGy5ACsrqlvnig/I6