Liniile de comandă: de ce oamenii încă se deranjează cu ele?

Linia de comandă are aproape 50 de ani, dar nu este depășită. Terminalele bazate pe text sunt încă cea mai bună modalitate de a îndeplini multe sarcini, chiar și în era desktop-urilor grafice și gadget-urilor cu ecran tactil.

De fapt, linia de comandă devine din ce în ce mai respectată ca niciodată, cu Microsoft creând o nouă aplicație Windows Terminal puternică. Mediul PowerShell din Windows 10 este surprinzător de puternic, dar Microsoft a făcut tot posibilul să adauge suport pentru mediul complet de linie de comandă Linux în Windows 10.

Linia de comandă a fost cândva singura opțiune

La un moment dat, dacă ai vrut să interacționezi cu un computer, ai tastat. Asta a fost. Nu era nimic altceva. Acest lucru ar putea suna restrictiv și arhaic, dar ca un pas înainte de a folosi cărți perforate sau benzi de hârtie perforate, tastarea a fost radicală și transformatoare. Și migrarea de la telemașinători cu rolele lor de hârtie la terminale cu tub catodic (CRT) a fost o altă schimbare de bază în interacțiunile umane și cu computerul.

Acest pas a deschis calea pentru ca shell-ul interactiv să devină cu adevărat în sine. Acum ați putea trimite instrucțiuni către computer și foarte rapid să aveți răspunsuri afișate pe ecran. Gata cu clac-clac-clac în timp ce așteptai ca imprimarea de hârtie să zboare din telemașină.

Destul de corect, dar asta a fost atunci, asta este acum. Calculul este un cu totul alt joc cu mingea. În afară de cazurile evidente blocate, cum ar fi utilizarea unui computer care nu are instalat un mediu desktop grafic sau utilizarea unui computer la distanță prin SSH printr-o conexiune cu lățime de bandă redusă sau controlând a fără cap sau încorporat sistem, de ce să folosiți linia de comandă pe un desktop grafic?

Jargonul explicat

Termeni precum linia de comandă, fereastra terminalului și shell-ul sunt folosiți aproape interschimbabil de unii oameni. Este un jargon incorect. Toate sunt destul de diferite. Sunt înrudiți, dar nu sunt același lucru.

O fereastră terminală este o fereastră într-un mediu desktop grafic care rulează o emulare a unui terminal de teletip.

Shell-ul este programul care rulează în interiorul ferestrei terminalului. Este nevoie de intrarea dvs. și, în funcție de ceea ce ați tastat, încearcă să interpreteze și să execute instrucțiunile în sine, să le transmită unora dintre celelalte utilitare care alcătuiesc sistemul de operare sau să găsească un script sau un program care se potrivește cu ceea ce ați tastat.

  9 Software ERP cu sursă deschisă pentru soluție auto-găzduită

Linia de comandă este locul unde tastați. Este promptul pe care îl prezintă shell-ul când așteaptă să introduceți niște instrucțiuni. Termenul „linie de comandă” este, de asemenea, folosit pentru a se referi la conținutul real a ceea ce ați tastat. De exemplu, dacă discutați cu un alt utilizator de computer despre o dificultate pe care ați avut-o în încercarea de a executa un program, acesta vă poate întreba: „Ce linie de comandă ați folosit?” Nu vă întreabă ce shell ați folosit; vor să știe ce comandă ați tastat.

În total, acestea se combină pentru a forma Linia de comandă (CLI).

De ce să folosiți linia de comandă în 2019?

CLI poate părea retrograd și confuz pentru cei care nu sunt familiarizați cu el. Cu siguranță nu există loc într-un sistem de operare modern pentru un mod atât de învechit și de tocilar de a folosi un computer? Nu am renunțat la toate acestea cu zeci de ani în urmă, când au apărut ferestrele, pictogramele și șoarecii și mediile desktop grafice cu interfețe grafice cu utilizatorul (GUI) au devenit disponibile?

Da, GUI există de zeci de ani. Prima versiune de Microsoft Windows a fost lansat chiar în 1985 și a devenit norma pentru computere desktop odată cu lansarea Windows 3.0 în 1990.

Sistemul X Window, folosit în Unix și Linux, a fost introdus în 1984. Acest lucru a adus medii desktop grafice la Unix și numeroasele sale derivate, clone și ramuri.

Dar lansarea Unix este anterioară acestor evenimente de către a mai mult de un deceniu. Și pentru că nu exista altă opțiune, totul trebuia să fie posibil prin linia de comandă. Toată interacțiunea umană, toată configurația, fiecare utilizare a computerului trebuia să poată fi realizată prin intermediul tastaturii umile.

Deci, ipso facto, CLI poate face totul. O GUI încă nu poate face tot ce poate face CLI. Și chiar și pentru părțile pe care le poate face, CLI-ul este de obicei mai rapid, mai flexibil, poate fi scriptat și este scalabil.

Și există un standard.

Sunt standardizate datorită POSIX

POSIX este un standard pentru sistemele de operare asemănătoare Unix— în principiu, tot ceea ce nu este Windows. Și chiar și Windows are subsistemul Windows pentru Linux (WSL.) Deschideți o fereastră de terminal pe orice sistem de operare compatibil POSIX (sau aproape compatibil) și vă veți găsi într-un shell. Chiar dacă shell-ul sau distribuția oferă propriile extensii și îmbunătățiri, atâta timp cât oferă funcționalitatea de bază POSIX, o veți putea folosi imediat. Și scripturile tale vor rula.

  12 alternative ClickFunnels de utilizat în 2022

Linia de comandă este cel mai mic numitor comun. Aflați cum să îl utilizați și, indiferent de distribuția Linux și de mediul desktop grafic, veți putea îndeplini toate sarcinile de care aveți nevoie. Diferitele desktop-uri au propriul lor mod de a face lucrurile. Diferite distribuții Linux includ diverse utilități și programe.

Dar deschideți o fereastră de terminal și vă veți simți ca acasă.

Comenzile sunt concepute pentru a funcționa împreună

Fiecare dintre comenzile Linux este concepută pentru a face ceva anume și pentru a face acel ceva bine. Filosofia de design de bază este de a adăuga mai multă funcționalitate prin adăugarea unui alt utilitar care poate fi conectat sau legat împreună cu cele existente pentru a obține rezultatul dorit.

Acest lucru este atât de util încât Microsoft a făcut tot posibilul să adauge suport pentru linia de comandă Linux completă în Windows 10!

De exemplu, comanda sortare este folosită de alte comenzi pentru a sorta textul în ordine alfabetică. Nu este nevoie să construiți capacitatea de sortare în fiecare dintre celelalte comenzi Linux. În general, aplicațiile GUI nu permit acest tip de interfuncționare colaborativă.

Uită-te la următorul exemplu. Aceasta folosește comanda ls pentru a lista fișierele din directorul curent. Rezultatele sunt transmise în comanda sortare și sortate pe a cincea coloană de date (care este dimensiunea fișierului). Lista sortată este apoi introdusă în comanda head care listează implicit primele zece rânduri de intrarea acestuia.

ls -l | sort -nk5,5 | head

Obținem o listă ordonată a celor mai mici fișiere din directorul curent.

Schimbând o comandă – folosind tail în loc de head – putem obține o listă cu cele mai mari zece fișiere din directorul curent.

ls -l | sort -nk5,5 | tail

Aceasta ne oferă lista noastră cu cele mai mari zece fișiere, așa cum era de așteptat.

Ieșirea din comenzi poate fi redirecționată și capturată în fișiere. Ieșirea obișnuită (stdin) și mesajele de eroare (stderr) pot fi capturate separat.

Comenzile pot include variabile de mediu. Următoarea comandă va lista conținutul directorului dvs. de acasă:

ls $HOME

Acest lucru funcționează de oriunde vă aflați în arborele de directoare.

  Cum să redimensionați imaginea în HTML și să vă măriți designul web

Dacă ideea de toate acele tastări încă te deranjează, tehnici precum completarea filelor pot reduce cantitatea de tastare pe care trebuie să o faci.

Scripturile permit automatizarea și repetabilitatea

Oamenii sunt predispuși la erori.

Scripturile vă permit să standardizați un set de instrucțiuni despre care știți că vor fi executate în același mod de fiecare dată când este rulat scriptul. Acest lucru aduce consecvență întreținerii sistemului. Verificările de siguranță pot fi încorporate în scripturi care permit script-ului să determine dacă ar trebui să continue. Acest lucru elimină nevoia ca utilizatorul să aibă suficiente cunoștințe pentru a lua singur decizia.

Deoarece puteți automatiza sarcini folosind cron pe Linux și alte sisteme asemănătoare Unix, sarcinile lungi, complicate și repetitive pot fi simplificate sau, cel puțin, rezolvate o dată și apoi automatizate pentru viitor.

Scripturile PowerShell oferă o putere similară pe Windows și le puteți programa să ruleze din Task Scheduler. De ce faceți clic pe 50 de opțiuni diferite de fiecare dată când configurați un computer când puteți rula o comandă care schimbă totul automat?

Cel mai bun din ambele lumi

Pentru a obține cele mai bune rezultate din Linux – sau orice sistem de operare ca utilizator cu putere – trebuie să utilizați CLI și GUI.

GUI este de neegalat pentru utilizarea aplicațiilor. Chiar și susținătorii adepților liniei de comandă trebuie să iasă din fereastra terminalului și să folosească din când în când suite de productivitate de birou, medii de dezvoltare și programe de manipulare grafică.

Dependenții de linia de comandă nu urăsc interfața grafică. Ei doar favorizează beneficiile utilizării CLI—pentru sarcinile adecvate. Pentru administrare, CLI câștigă cu mâna jos. Puteți utiliza CLI pentru a face modificări la un fișier, un director, o selecție de fișiere și directoare sau modificări complet globale cu un efort egal. Încercarea de a face acest lucru cu GUI necesită adesea acțiuni lungi și repetitive de la tastatură și mouse pe măsură ce numărul de obiecte afectate crește.

Linia de comandă vă oferă cea mai mare fidelitate. Fiecare opțiune a fiecărei comenzi vă este disponibilă. Și multe dintre comenzile Linux au multe opțiuni. Pentru a lua doar un exemplu, luați în considerare comanda lsof. Aruncă o privire la ea pagina de manual și apoi gândiți-vă cum l-ați include într-o interfață grafică.

Există prea multe opțiuni pentru a le prezenta utilizatorului într-o GUI eficientă. Ar fi copleșitor, neatractiv și greoi de folosit. Și acesta este complet opusul a ceea ce își propune să fie un GUI.

Sunt cai pentru cursuri. Nu te sfii de calul CLI. Este adesea cântarul mai rapid și mai agil. Câștigă-ți pinteni și nu vei regreta niciodată.