Dacă utilizați Linux, știți cât de util este linia de comandă pentru a lucra cu fișiere, a instala software-ul și a lansa programe. Dar poate fi și mai eficient dacă executați mai multe comenzi simultan.
Combinarea a două sau mai multe comenzi pe linia de comandă este, de asemenea, cunoscută sub denumirea de "lanț de comandă". Vă vom arăta diferite moduri în care puteți combina comenzile pe linia de comandă.
Operatorul punct și virgulă (;) vă permite să executați mai multe comenzi succesiv, indiferent dacă fiecare comandă anterioară reușește. De exemplu, deschideți o fereastră Terminal (Ctrl + Alt + T în Ubuntu și Linux Mint). Apoi, tastați următoarele trei comenzi pe o singură linie, separate prin punct și virgulă, și apăsați Enter. Aceasta vă va oferi o listă a directorului curent ( ls
), aflați în ce direcție sunteți în prezent ( PWD
) și afișați numele de conectare ( cine sunt
) dintr-o dată.
ls; pwd; cine sunt
Nu este necesar să plasați spații între punct și virgulă și comenzi. Puteți introduce cele trei comenzi ca ls; pwd; whoami
. Cu toate acestea, spațiile fac comanda combinată mai ușor de citit, ceea ce este util mai ales dacă introduceți o comandă combinată într-un script shell.
Dacă doriți ca cea de-a doua comandă să ruleze numai dacă prima comandă are succes, separați comenzile cu operatorul logical AND, care este două ampersande ( &&
). De exemplu, dorim să facem un director numit MyFolder și apoi să îl schimbăm în acel director - cu condiția să fie creat cu succes. Deci, tastăm următoarele pe linia de comandă și apăsăm pe Enter.
mkdir MyFolder && cd MyFolder
Dosarul a fost creat cu succes, astfel încât CD
comanda a fost executată și suntem acum în noul dosar.
Vă recomandăm să utilizați operatorul logic AND mai degrabă decât operatorul punctului vestic de cele mai multe ori (;
). Acest lucru vă asigură că nu faceți nimic dezastruos. De exemplu, dacă executați o comandă pentru a trece la un director și apoi forța elimina totul în acel director recursiv ( cd / some_directory; rm -Rf *
), s-ar putea să vă distrugeți sistemul dacă schimbarea directorului nu sa întâmplat. Nu că vă recomandăm să executați o comandă pentru a elimina necondiționat toate fișierele dintr-un director simultan.
Uneori este posibil să doriți să executați oa doua comandă numai dacă o primă comandă are loc nua reusi. Pentru aceasta, utilizăm operatorul OR logic sau două bare verticale ( ||
). De exemplu, vrem să verificăm dacă există directorul MyFolder ( [-d ~ / MyFolder]
) și să o creeze dacă nu ( mkdir ~ / MyFolder
). Deci, tastați următoarea comandă la prompt și apăsați Enter.
[-d ~ / MyFolder] || mkdir ~ / MyFolder
Asigurați-vă că există un spațiu după primul bracket și înainte de al doilea bracket sau prima comandă care verifică dacă există directorul nu va funcționa.
În exemplul nostru, directorul MyFolder nu există, astfel încât a doua comandă creează directorul.
Puteți combina mai mulți operatori pe linia de comandă. De exemplu, vrem să verificăm mai întâi dacă există un fișier ( [-f ~ / sample.txt]
). În caz contrar, vom imprima un mesaj pe ecran spunând astfel ( echo "Fișierul există."
). Dacă nu, vom crea fișierul ( atinge ~ / sample.txt
). Deci, tastăm următoarele în linia de comandă și apăsăm pe Enter.
[-f ~ / sample.txt] && echo "Fișierul există." || atinge ~ / sample.txt
În exemplul nostru, fișierul nu există, așa că a fost creat.
Iată un rezumat util al fiecăruia dintre operatorii utilizați pentru combinarea comenzilor:
A ; B
- Rulați A și apoi B, indiferent de succesul sau eșecul lui AA && B
- Rulați B numai dacă A a reușitA || B
- Rulați B numai dacă A nu a reușitToate aceste metode de combinare a comenzilor pot fi, de asemenea, folosite în script-uri de shell atât pe Linux cât și pe Windows 10.
De asemenea, puteți corecta corect ortografia și greșelile atunci când utilizați "cd" pe linia de comandă din Linux pentru a evita consecințele drastice atunci când combinați comenzi.