Îți dorești să transferi informații prin comenzi de tip copy-paste în interfața Bash? Ei bine, îți voi prezenta câteva metode, indiferent dacă preferi tastatura sau mouse-ul. Aceste metode sunt aplicabile atât în mediul desktop grafic, cât și într-un terminal text TTY.
Comenzile rapide uzuale de tastatură nu sunt funcționale aici
Capacitatea de a copia și lipi text este esențială în utilizarea unui computer. Persoanele care utilizează Linux pentru prima dată, fie că vin din universul Windows sau macOS, se confruntă adesea cu dificultăți când încearcă să facă copy-paste într-o fereastră de terminal.
În Windows, combinația de taste Ctrl+C este utilizată pentru a copia textul selectat, iar Ctrl+V pentru a-l lipi. În macOS, se folosesc Command+C pentru copiere și Command+V pentru lipire. Ambele sisteme respectă convenția ‘C’ pentru copiere și ‘V’ pentru lipire.
Aceleași comenzi rapide funcționează în majoritatea aplicațiilor grafice din Linux, cum ar fi editorul gedit sau suita LibreOffice. Ctrl+C copiază selecția, iar Ctrl+V o inserează la poziția cursorului. Pentru utilizatorii noi de Linux, aceste comenzi sunt aplicate intuitiv în aceste aplicații, nefiind nevoie de o atenție specială.
Însă, odată ce un nou utilizator deschide o fereastră de terminal și încearcă să copieze și să lipească în promptul de comandă al Bash shell, situația se schimbă. Ctrl+C și Ctrl+V au fost alocate altor funcții cu mult înainte ca funcția de copy-paste să fie concepută. De fapt, aceste combinații de taste erau deja folosite pe vremea când teletipurile (TTY) erau dispozitive fizice.
Ctrl+C și Ctrl+V în TTY-uri
Pe vremea când un TTY era un dispozitiv fizic, Ctrl+C a fost aleasă ca o combinație rapidă de taste pentru a genera un semnal. Acest semnal este SIGINT, care solicită încheierea procesului activ. Deoarece o fereastră de terminal este o emulare a unui TTY, această combinație de taste (și multe altele) a fost păstrată și replicată. Trebuie reținut că fereastra terminalului este o emulație. Bash shell este un program care rulează în acel TTY emulat.
Putem observa ușor ce funcții au fost atribuite Ctrl+C și Ctrl+V. Să presupunem că introduci următoarea comandă și apeși „Enter”.
ls -R /
Deoarece folosim opțiunea -R (recursivă), comanda ls va începe să listeze fiecare fișier și director, pornind de la directorul rădăcină. După un timp, realizezi că nu asta îți doreai și oprești procesul apăsând Ctrl+C.
Ctrl+C
Procesul ls se oprește. Dovada vizuală a acțiunii Ctrl+C este marcată în captura de ecran. Este afișată ca ^C.
Combinația de taste Ctrl+V invocă „inserarea verbatim”. Aceasta permite introducerea unei reprezentări a unei taste în ceea ce scrii, în loc de efectul direct al tastei. Pentru a observa acest lucru, încearcă următoarele comenzi (nu introduce virgulele). (De exemplu, pentru prima comandă, apasă Ctrl+V, apoi tasta Enter.)
Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc
O scurtă paranteză: poți observa că Enter este reprezentat prin ^M. Am văzut anterior că Ctrl+C apărea ca ^C. Se pare că ^ reprezintă tasta Ctrl. Deci Ctrl+M ar însemna același lucru ca Enter. Așadar, putem introduce Enter tastând Ctrl+M? Încearcă într-o fereastră de terminal și vei vedea că funcționează.
Prin urmare, este evident că nu ne putem aștepta ca Ctrl+C și Ctrl+V să efectueze copierea și lipirea de text, având deja funcții bine stabilite. Deci, ce putem folosi?
Ctrl+Shift+C și Ctrl+Shift+V
Ușor de reținut deoarece sunt foarte similare cu omologii lor, Ctrl+Shift+C și Ctrl+Shift+V sunt înlocuitori direcți pentru Ctrl+C și Ctrl+V.
Dacă evidențiezi text în fereastra terminalului cu mouse-ul și apeși Ctrl+Shift+C, acel text va fi copiat într-un clipboard.
Ctrl+Shift+C
Poți utiliza Ctrl+Shift+V pentru a lipi textul copiat în aceeași fereastră terminal sau în alta.
Ctrl+Shift+V
De asemenea, poți lipi într-o aplicație grafică, cum ar fi gedit. Dar reține, când lipești într-o aplicație – și nu într-o fereastră de terminal – trebuie să folosești Ctrl+V.
Și poți face și invers. Poți evidenția text în gedit, apăsa Ctrl+C și apoi să îl inserezi într-o fereastră terminal folosind Ctrl+Shift+V.
Combinația de taste Ctrl+Insert echivalează cu Ctrl+Shift+C, iar combinația Shift+Insert echivalează cu Ctrl+Shift+V. Avertismentul aici este că acestea pot fi folosite doar în aceeași fereastră terminal.
Folosirea mouse-ului: clic dreapta
Poți folosi mouse-ul pentru a copia și lipi într-o fereastră terminal. Trebuie să utilizezi mouse-ul pentru a evidenția textul pe care dorești să-l copiezi, așa că de ce să nu-l folosești și pentru a efectua acțiunile de copiere și lipire?
După ce ai evidențiat textul, dă clic dreapta cu mouse-ul și selectează „Copiere” din meniul contextual.
Pentru a lipi textul copiat, dă clic dreapta cu mouse-ul încă o dată și selectează „Lipire” din meniul contextual.
Textul este lipit la poziția cursorului pe linia de comandă. În acest exemplu, calea relativă a fost introdusă incorect și Bash nu poate schimba directorul. Utilizatorul a omis „~/” de la începutul căii. A tastat „~/”, apoi a copiat restul căii din încercarea anterioară și a lipit-o pe a doua linie de comandă.
Când apasă Enter, este mutat în director.
Acest exemplu a ilustrat lipirea în aceeași fereastră terminal, dar poți folosi această tehnică de clic dreapta pentru a lipi și în ferestre terminal diferite. Poți, de asemenea, să lipești în aplicații grafice folosind această metodă.
Utilizarea mouse-ului: butonul din mijloc
Există o metodă și mai rapidă de a copia și lipi cu mouse-ul, atâta timp cât mouse-ul are un buton din mijloc. Dacă apeși rotița de derulare (ușor!) și dai clic, atunci ai un buton din mijloc.
Evidențiază un text într-o fereastră terminal și apoi apasă butonul din mijloc. Textul evidențiat este lipit la poziția cursorului pe linia de comandă. Copierea și lipirea au loc simultan.
Deci, evidențiază un text:
Apoi apasă butonul din mijloc:
Poți folosi această metodă pentru a lipi între diferite ferestre de terminal și, de asemenea, în aplicații grafice. Doar evidențiază textul, treci la cealaltă fereastră de terminal sau aplicație și apasă butonul din mijloc.
Old School – Fără mouse
Dar ce faci când nu ai un mouse? Dacă nu poți evidenția text, cum îl poți copia și lipi?
Serverele Linux sunt deseori configurate fără un mediu desktop grafic (GDE), ceea ce înseamnă că nu ai acces la un mouse. Chiar și pe un calculator Linux cu un mediu desktop grafic, precum GNOME, și care are un mouse, vor exista cazuri când nu vei putea folosi mouse-ul pentru a evidenția text.
De exemplu, este posibil să fi trecut la unul dintre TTY-urile suplimentare. În distribuțiile moderne, acestea sunt localizate de la Ctrl+Alt+F3 (TTY3) până la Ctrl+Alt+F6 (TTY6). (Ctrl+Alt+F2 te va întoarce la sesiunea GDE și Ctrl+Alt+F1 te va duce la ecranul de conectare al GDE.)
Poate că folosești chiar un dispozitiv hardware TTY autentic pentru a te conecta la un calculator Linux sau Unix.
Oricum ar fi, aceste tehnici vor funcționa pentru tine. Ideea esențială este că aici nu este vorba despre copy-paste, ci despre cut, copy și paste. Poți face cut și copy doar de pe linia de comandă curentă. Bineînțeles, poți folosi tastele săgeți pentru a te deplasa prin istoric și a găsi linia de comandă de unde dorești să faci cut, copy și paste.
Combinațiile de taste pe care le poți folosi sunt:
Ctrl+W: Taie cuvântul dinaintea cursorului și îl adaugă în memoria tampon (clipboard).
Ctrl+K: Taie porțiunea de linie de după cursor și o adaugă în memoria tampon. Dacă cursorul este la începutul liniei, va tăia și copia întreaga linie.
Ctrl+U: Taie porțiunea de linie de dinaintea cursorului și o adaugă în memoria tampon. Dacă cursorul este la sfârșitul liniei, va tăia și copia întreaga linie.
Ctrl+Y: Lipește ultimul text tăiat și copiat.
Să trecem la TTY3. (Folosește Ctrl+Alt+F1 pentru a reveni la desktop.)
Ctrl+Alt+F3
tty
Avem un fișier pe care vrem să-l ștergem. Mai întâi, verificăm că există.
ls -l file_to_delete.txt
Dacă folosim tasta săgeată în sus, vom apela ultima comandă folosită din istoric. Am putea edita direct linia, dar scopul este de a demonstra cut, copy și paste, așa că vom șterge fișierul într-un mod ușor prelungit.
Vom muta cursorul la prima literă a numelui fișierului, apoi apăsăm Ctrl+K. Aceasta va elimina acea parte a liniei și va copia textul în memoria tampon.
Vom apăsa tasta Backspace până când ștergem linia.
<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/I6ZPiMkolGS3wpRMAKT6JpJa0jdNlKfDEWdnwjK2n2q1KFPm8lxnYhSKGEBRP9cVAGJilb95ojwdjpiEFyzj7UazJcl+BqNAYABBmWQJagZLBqFsnihPhyMovGAZO2JLkv0Mpl6Pg2JeycuziOVZ3DBRng5/FYKXvIy55DITa5LsZ/VXVU4uy7424ozYNFGeDkcQvGAZ+12sMa2fwSjSzjvxSJSOuFmi/CdEzl99ICbjKuK3b/QLYkuS/eyOOB+X58StEmUl6oRlbFmnANqS5N