Ajutor și exemple de shell și terminale Linux

Linia de comandă este o interfață de utilizator bazată pe text pentru sistemul dvs. de operare. Spre deosebire de un shell GUI, care utilizează o reprezentare grafică a serviciilor și resurselor sistemului, shell-ul de linie de comandă utilizează numai text. Este interfața fundamentală dintre dvs. și sistemul de operare și, în multe cazuri, vă oferă un control mai direct asupra proceselor sistemului.

Pentru ce este folosit Shell?

Când vine vorba de comunicarea cu sistemul dvs. de operare, orice puteți face cu un GUI se poate face la linia de comandă. De exemplu, să luăm ceva ce trebuie să faceți tot timpul: mutați fișierele în sistemul dvs. de fișiere. Utilizând o interfață grafică, puteți selecta pictogramele care reprezintă fișierele dvs., trageți-le într-un alt folder și plasați-le acolo pentru a le muta.

Cu toate acestea, folosind linia de comandă, această operație poate fi efectuată utilizând o singură comandă:

Linia de comandă, odată ce vă obișnuiți cu aceasta, vă permite să controlați sistemul cu o mai mare eficiență și precizie decât cu un GUI.

De ce se numește "Shell"?

Interfața cu utilizatorul este denumită "coajă", deoarece este stratul exterior care vă separă de cele mai interioare părți ale sistemului de operare, numite kernel-ul. Din punct de vedere tehnic, interfața grafică a sistemului de operare este, de asemenea, o "coajă", dar linia de comandă este frecvent menționată în mod obișnuit ca "shell".

Cum intru în Shell-ul de comandă?

Cea mai obișnuită modalitate de a accesa shell-ul de linie de comandă este utilizarea unui emulator terminal.

Dacă utilizați o distribuție Linux, se poate porni în X Window System (sau "X"), care vă permite să rulați programe în propriile ferestre și să interacționați cu ele folosind mouse-ul. În X, există diferite moduri de a lansa un emulator terminal, dar aici sunt cele mai frecvente:

  • Multe distribuții Linux utilizează un mediu desktop asemănător cu Microsoft Windows, care are un "meniu Start". Din acest meniu, aplicația terminalului este localizată de obicei sub "Accesorii". De exemplu, Lubuntu vine cu emulatorul de terminal LXTerminal deja instalat, iar comanda rapidă este localizată în meniul Accesorii.

    Selectarea elementului din meniul terminal lansează emulatorul terminalului și vă plasează la o linie de comandă.

  • Diferitele versiuni ale Linux folosesc diferite tipuri de administratori de ferestre, fiecare cu o interfață ușor diferită. Cu mulți administratori de ferestre, făcând clic dreapta pe desktop, se afișează un meniu care conține o opțiune terminală. De exemplu, meniul cu clic dreapta din Crunchbang Linux are o opțiune "Terminal". Mai jos este ceea ce arată acest meniu, după ce faceți clic dreapta oriunde pe desktop.

    Aici, meniul Accesorii ar avea, de asemenea, o opțiune pentru rularea terminalului.

  • În multe versiuni de Linux, apăsarea simultană a tastelor Super Key și " T " este cheia de acces implicită pentru lansarea unui terminal. (Cheia Super este de obicei prima cheie din stânga barei de spațiu, cunoscută și sub numele de cheia Windows).

Dacă nu puteți afla cum să lansați emulatorul de terminal, consultați documentația pentru sistemul dvs. de operare și căutați "terminal".

Linia de comandă

Când lansați emulatorul de terminal, vi se prezintă un prompt de comandă.

Notă: Aceste exemple sunt toate realizate utilizând Bourne-Again Shell ( bash ), care este shell-ul implicit al liniei de comandă pe Linux.

Să ne uităm îndeaproape la această comandă de comandă. Promptul poate fi configurat să fie tot ce vă place, dar, în mod implicit, se pare că ceea ce vedem aici, oferindu-ne informații utile înainte de a introduce o comandă.

Mai exact, ne spune cine suntem (numele de utilizator) și unde suntem (ce sistem folosim și directorul nostru de lucru). Iată care sunt părțile individuale ale promptei:

Numele dumneavoastrăNume de utilizator.
@Un simbol separă numele de utilizator și numele de gazdă.
gazda taNumele de gazdă al sistemului.
:Colonul este caracterul care separă numele de gazdă și directorul de lucru.
~Actualul director ("de lucru"). Tilda (" ~ ") este un caracter special care reprezintă directorul nostru de acasă. Când porniți o sesiune de shell, acesta este directorul în care de obicei începeți să lucrați în mod implicit.
$Un caracter special care indică faptul că nu avem privilegii de superuser. Dacă sunteți conectat ca root (superuserul), acest caracter se modifică la # .

Introducerea comenzilor

Să tastăm prima comandă. Ar trebui să începem prin listare fișierele sunt în directorul nostru de acasă. Cea mai simplă modalitate de a vedea toate aceste fișiere este prin utilizarea comenzii ls ; tastați ls la promptul de comandă și apăsați pe Enter.

Așa cum am arătat mai sus, comanda ls enumeră conținutul directorului și ne plasează la un alt prompt de comandă.

Notă: Toate comenzile și numele fișierelor din Unix și Linux sunt sensibile la litere mici. Comanda ls, de exemplu, trebuie să fie tipărită cu litere mici, așa cum este mai sus.

Pentru o listă mai detaliată a conținutului directorului, putem specifica opțiunile de linie de comandă, cunoscute și sub denumirea de comutatoare . Acestea sunt argumente suplimentare pentru comanda care modifică modul în care operează. Aici vom folosi opțiunea -l (utilizați formatul listei lungi) pentru a obține mai multe informații din listare.

Așa cum am arătat mai sus, comanda ls-l ne oferă mai multe informații despre conținutul directorului nostru de acasă. În momentul de față, cele mai importante informații pe care ar trebui să le observăm este că prima literă a înregistrărilor este un d, ceea ce înseamnă că fiecare dintre acele conținuturi ale directorului este el însuși un director.

Înainte de a face altceva, să ștergem ecranul, pentru a elimina dezordinea produsă de ieșirea din comenzile noastre anterioare. Utilizați comanda clară introducând clare la un prompt de comandă nou și apăsați Enter .

După apăsarea tastei Enter, ecranul se șterge și vă plasează la un prompt de comandă nou în partea de sus a ecranului terminalului.

Schimbarea directorului

Să ne mișcăm în dosarul nostru de documente folosind comanda cd ("change directory"). Pentru a schimba directorul curent, tastați " cd " și apoi un spațiu, apoi numele directorului pe care doriți să îl modificați și apoi apăsați enter.

Comanda cd presupune că numele oricărui director pe care îl specificați este relativ la directorul dvs. curent. Prin urmare, pentru a vă schimba în directorul de documente, care există în directorul nostru curent, tastați " documente CD ".

Linia de comandă reflectă acum noul director de lucru: ~ / documents, care este echivalent cu calea completă: / home / yourname / documents . Indiferent de utilizatorul în care sunteți conectat, " ~ " reprezintă întotdeauna directorul de acasă. În exemplu, noul director de lucru se vede și în bara de titlu a ferestrei noastre terminale.

Notă: Spre deosebire de MS-DOS și Microsoft Windows, denumirile de director ierarhic din Linux sunt separate de un slash înainte (" / "), nu de un backslash (" \ "). Această schimbare a simbolurilor reprezintă o diferență fundamentală între aceste sisteme de operare diferite.

În orice moment, puteți verifica directorul curent utilizând comanda pwd ("print work directory").

Comanda imprimă numele terminalului în directorul curent, în acest caz " / home / yourname / documents ". Din nou, cu " ~ / documents " " ~ " reprezintă directorul nostru de domiciliu, care este / home / yourname . Deci, dacă ne aflăm în directorul nostru de acasă, tastând " cd documents ", " cd / home / yourname / documents " sau " cd ~ / documents " ne vor plasa în același director.

Acum hai să ne mișcăm un director, înapoi în directorul nostru de acasă. Numele de director special " .. " (dublul punct) înseamnă "un director în sus".

Suntem acum în directorul nostru de acasă.

Notă: Dacă sunteți mai familiarizat cu MS-DOS, rețineți că trebuie să existe un spațiu între cd și cele două perioade.

Mutarea fișierelor

Acum, să ne familiarizăm cu modul de mutare a fișierelor.

Să presupunem că am descărcat două imagini cu un browser web și le-am salvat în dosarul descărcări . Hai să intrăm acolo și să aruncăm o privire. Mai întâi, schimbăm directorul în directorul de descărcări .

Apoi, listați fișierele din director cu comanda ls .

Aici vedem două fișiere JPEG. Să le scoatem din dosarul de descărcări și să le punem undeva mai potrivite, cum ar fi dosarul cu imagini. Pentru a muta aceste fișiere, vom folosi comanda mv ("muta").

Comanda mv are următoarea formă generală.

 mv [ OPȚIUNI ...] DESTINAȚIA SURSĂ 

OPTIONS este cuprins în paranteze deoarece nu este necesar să specificați opțiuni pentru completarea comenzii. Argumentele SOURCE și DESTINATION sunt ambele necesare.

SOURCE este numele fișierului sau fișierelor pe care doriți să le mutați. DESTINAȚIA este locul în care doriți să le mutați. Dacă DESTINAȚIA este un nume de director, fișierul sau fișierele sunt mutate în acel director.

Suntem în prezent în directorul / home / yourname / downloads și dorim să mutați fișierele în / home / yourname / images . Am putea să specificăm DESTINAȚIA noastră folosind numele căii complete (" / home / yourname / images ") sau ca nume de cale relativ la directorul nostru curent (" ../images "), sau folosind o tildă ca abreviere pentru directorul nostru de acasă ( " ~ / imagini "). Toate acestea sunt echivalente și dau același rezultat. Să folosim numele căii relative pentru DESTINAȚIA noastră: ../images .

Deci, cum vom specifica SOURCE-ul nostru?

Vrem să mutăm ambele fișiere și acestea sunt singurele fișiere din director. Deci, cel mai simplu mod de a le specifica ar fi să spui mv "mutați toate fișierele din acest director în ../images ". Putem face acest lucru folosind un wildcard.

Un wildcard este un caracter special care poate reprezenta mai mult de un nume de fișier (sau mai mult de o parte din numele fișierului). Aici vom folosi martorul asterisc (" * "). Dacă folosim * ca întregul nostru nume de fișier, shell-ul aplică comanda noastră la fiecare fișier din directorul nostru de lucru.

Astfel, comanda noastră va fi citită după cum urmează: " mv * ../images ". Hai să intrăm acum.

Se pare că nu sa întâmplat nimic, dar asta este calea cochiliei de a ne spune că nu s-au produs erori. Dacă ar exista o problemă, ar apărea un mesaj de eroare sau un avertisment de un fel.

Să verificăm dacă fișierele s-au mutat. Putem lista conținutul unui alt director prin executarea ls și specificarea unui nume de cale. În acest caz, numele căii noastre este " ../images ".

Imaginile sunt atât acolo, cât și un alt director care exista deja (" wallpapers "). Ar trebui să facem un nou director propriu, să ne organizăm mai bine imaginile și să păstrăm aglomerația directorului principal de imagini . Să facem asta acum.

Efectuarea de directoare

Să ne schimbăm în directorul de imagini unde locuiesc acum cele două imagini ale pinguinului nostru.

Acum, să facem un nou director pentru imaginile pinguinului nostru. Crearea de directoare noi este realizată cu comanda mkdir .

Cea mai simplă formă a comenzii mkdir este să îi dați un argument: numele noului director. Am dori să facem un nou director în directorul nostru curent, deci nu trebuie să dăm mkdir un nume de cale completă, doar numele directorului propriu-zis. Să ne sunăm noul pinguin-pix .

Deci, comanda pe care o vom introduce este " mkdir penguin-pix " pentru a face un nou director.

Acum, să verificăm dacă există, prin afișarea conținutului directorului.

Notă: Puteți vedea că atunci când enumerăm conținutul directoarelor, numele fișierelor și numele directorului sunt culori diferite pentru a ajuta la identificarea diferitelor fișiere și directoare. Deși evidențierea culorilor este comună cu cele mai multe cochilii, nu toate cochilii fac acest lucru în mod implicit.

Dacă nu am putea spune prin culoarea numelor, am putea verifica mereu care dintre aceste fișiere sunt directoare invocând ls cu opțiunea -l (listă lungă).

Informațiile suplimentare includ următoarele.

  • Permisiuni - cine are acces la dosar și ce fel de acces.
  • Proprietate - cine este proprietarul dosarului.
  • Autori - cine a creat fișierul.
  • Dimensiunea fișierului - dimensiunea fișierului în octeți.
  • mtime - data și ora la care fișierul a fost modificat ultima dată.

Prima literă de pe linii pentru pinguin-pix și imagini de fundal este un " d ", indicând că acestea sunt directoare. Pentru mai multe informații despre listele de fișiere, consultați documentația comenzii chmod .

Acum putem muta imaginile în noul director. Pentru a spune mv ce fișiere să se mute, putem folosi din nou o caracteristică wildcard, dar de data aceasta, să ne asigurăm că știe să se mute doar fișierele imagine, nu directoarele. Din moment ce ambele fișiere de imagini se termină cu extensia JPEG, putem specifica numele fișierului " * .jpg ": acest lucru spune shell-ului "fișierele pe care vreau să le mișc sunt orice fișiere din directorul curent care se termină cu .jpg ". Deci, comanda noastră va arăta astfel: " mv * .jpg penguin-pix ."

Nu a fost trimis niciun mesaj de eroare, adică comanda a fost terminată cu succes. Să verificăm dacă fișierele au fost mutate prin afișarea conținutului pixului pinguin .

Eliminarea fișierelor

Avem două poze cu pinguini, dar poate că am decis că avem nevoie doar de real-penguin.jpg și nu mai avem nevoie de tux-the-penguin.jpg . Putem șterge acest fișier utilizând comanda rm ("remove").

Va trebui să furnizăm rm numele de fișier care trebuie șters. Suntem în prezent în directorul de imagini, dar imaginea noastră este acum în subdirectorul penguin-pix . Am putea schimba directorul nostru de lucru la penguin-pix și apoi executați comanda, dar aceasta este doar o muncă suplimentară, putem trece peste acest pas utilizând directorul ca parte a căii.

Comanda noastră va arăta astfel: " rm penguin-pix / tux-the-penguin.jpg ".

Încă o dată, shell-ul execută comanda noastră fără a oferi niciun feedback. Comanda a fost executată cu succes, astfel încât shell-ul ne readuce la promptul de comandă, anunțându-ne că este pregătit pentru o altă comandă.

Avertisment: Spre deosebire de tragerea unui fișier în coșul de gunoi sau în coșul de gunoi Microsoft Windows, nu există nicio modalitate de a anula ștergerea unui fișier cu rm . Scoateți fișierele cu grijă! Odată plecat, este (practic) imposibil să-i recuperăm.

Să verificăm doar că dosarul este într-adevăr plecat.

Eliminarea directoarelor

Asta e grozav pentru fișiere, dar despre directoare? În mod implicit, rm elimină numai fișierele și nu directoarele.

Comanda rmdir ("remove directory") elimină un director, presupunând că este gol. Să o testați creând un director nou, gol, folosind comanda " mkdir test-directory ".

Să verificăm că este acolo cu comanda " ls -l ".

Acum putem șterge noul director nou folosind comanda " rmdir test-directory " și verificăm că a dispărut din nou executând din nou comanda " ls -l ".

Da, a dispărut.

Cu toate acestea, ce s-ar întâmpla dacă am încerca să " ridicăm pinguin-pix "?

Nu putem rmdir directorul deoarece nu este gol.

Dacă sunteți sigur că doriți să eliminați pinguinul pix și tot ce se află în el (inclusiv toate fișierele și directoarele pe care le conține), puteți folosi comanda rm cu opțiunea -r .

În mod normal, rm nu va funcționa pe un director. Cu toate acestea, dacă este invocată cu opțiunea -r, rm elimină recursiv un director, ceea ce înseamnă că se deplasează în director și în orice subdirector, ștergând totul, inclusiv directorul. Deci, dacă rulați comanda " rm -r penguin-pix ", se elimină directorul și fișierul care se afla înăuntru. Dacă ar exista directoare în interior, ar fi fost șterse și ele.

Avertizare! Încă o dată, nu există nici o revizuire a acestei comenzi. Când rm -r un director, acel director și tot ce se află în el este îndepărtat pentru totdeauna! Ca majoritatea comenzilor Linux, rm este foarte puternic și trebuie folosit cu grijă.

Pentru a copia un fișier, utilizați comanda cp .

 cp DESTINAȚIA SURSĂ 

SOURCE este numele fișierului pe care doriți să îl copiați și DESTINATION este numele căii care specifică destinația noului fișier. Destinația poate fi un nou nume de fișier sau numele directorului în care doriți să fie localizată o copie.

presupunem că avem un fișier text în dosarul nostru de documente numit orig.txt și dorim să facem o copie a acestuia denumită copy.txt . Comanda pe care ar trebui să o folosim este " cp orig.txt copy.txt ".

Dacă, pe de altă parte, specificăm un director ca destinație a comenzii cp, face o copie cu același nume ca și originalul în directorul de destinație. În următorul exemplu, facem șase lucruri.

  1. Afișați conținutul directorului de lucru.
  2. Creați un nou director, numit copii .
  3. Afișați conținutul directorului de lucru, care include acum directorul de copii .
  4. Afișați conținutul directorului pentru copii (nu există niciunul. Este gol).
  5. Copiați copy.txt în directorul de copii .
  6. Listează conținutul directorului de copii, care conține acum o copie a copy.txt .

Redenumirea unui fișier

Comanda mv poate fi de asemenea utilizată pentru a schimba numele unui fișier. De exemplu, comanda " mv original.txt original.txt " va redenumi fișierul orig.txt la original.txt .

Redenumirea unui director

Directorii de redenumire funcționează exact ca redenumirea fișierelor, cu comanda mv . Aici, vom crea un director numit " copy ", dar redenumiți-l pentru a " copia " utilizând comanda " copy copies mv ".

Dacă directorul de copiere conținea orice fișiere sau directoare, acestea ar fi neschimbate. Singurul lucru care s-ar schimba este numele directorului care le conținea.

Finalizarea automată

Cele mai multe cochilii din linia de comandă Linux completează automat cuvântul pe care l-ați început să îl tastați dacă apăsați tasta Tab. Completarea automată vă poate ajuta să economisiți timp, mai ales cu nume de fișiere lungi. De exemplu, să presupunem că aveți trei fișiere în dosarul documentelor: penguin-diving.jpg, penguin.jpg și penguins.jpg .

Dacă introduceți o comandă și apoi tastați " p " și apăsați tasta Tab, shell-ul completează cuvântul "pinguin" pentru dvs.

Se oprește acolo deoarece toate fișierele încep cu cuvântul pinguin, dar după aceea nu este sigur care fișier doriți să specificați.

Dacă vă aflați într-o situație în care există mai mult de o potrivire automată pentru ceea ce ați introdus deja, apăsând pe Tab, solicitați de două ori shell-ul pentru a afișa toate meciurile posibile. Deci, în situația de mai sus, unde ați tastat p și Tab și shell-ul se autocompletează pinguinul pentru tine. Apăsați pe Tab de mai multe ori, vă va oferi toate opțiunile posibile și vă așezați la prompt, cu comanda completă acolo unde ați rămas.

Completarea automată funcționează, de asemenea, pentru completarea denumirilor de căi și a numelor de comenzi.

Ieșirea din cochilie

Tastarea comenzii de ieșire iese din shell-ul de comandă și fie închide fereastra terminalului, fie pregătește fereastra terminalului să fie închisă manual.