Stații de lucru online OnWorks Linux și Windows

logo

Găzduire online gratuită pentru stații de lucru

<Înapoi | Cuprins | Următor>

Conducte

Capacitatea comenzilor de a citi date de la intrarea standard și de a trimite la ieșirea standard este utilizată de o caracteristică shell numită conducte. Utilizarea operatorului de conducte „|” (bară verticală), ieșirea standard a unei comenzi poate fi conductă în intrarea standard a altuia:



command1 | command2

command1 | command2


Pentru a demonstra pe deplin acest lucru, vom avea nevoie de câteva comenzi. Îți amintești cum am spus că există unul pe care îl știam deja care acceptă intrarea standard? este mai puțin. Putem folosi mai puțin pentru a afișa, pagină cu pagină, rezultatul oricărei comenzi care își trimite rezultatele la ieșirea standard:



[eu@linuxbox ~]$ ls -l /usr/bin | Mai puțin

[eu@linuxbox ~]$ ls -l /usr/bin | Mai puțin


imagine

Acesta este extrem de util! Folosind această tehnică, putem examina în mod convenabil rezultatul oricărei comenzi care produce rezultate standard.


Diferența dintre > și |

La prima vedere, poate fi greu de înțeles redirecționarea efectuată de operatorul conductei | față de operatorul de redirecționare >. Mai simplu spus, operatorul de redirecționare conectează o comandă cu un fișier, în timp ce operatorul pipeline conectează ieșirea unei comenzi cu intrarea unei a doua comenzi.

command1 > fișier1 comandă1 | command2

Mulți oameni vor încerca următoarele când învață despre conducte, „doar pentru a vedea ce se întâmplă”.

command1 > command2

Răspuns: Uneori ceva foarte rău.



imagine

Iată un exemplu real trimis de un cititor care administra un dispozitiv server bazat pe Linux. În calitate de superutilizator, el a făcut asta:

# cd /usr/bin

# ls > mai puțin

Prima comandă l-a pus în directorul în care sunt stocate majoritatea programelor, iar a doua comandă a spus shell-ului să suprascrie fișierul mai puțin cu ieșirea lui ls comanda. Din momentul în care / usr / bin directorul conținea deja un fișier numit „mai puțin” (the mai puțin program), a doua comandă a suprascris mai puțin fişier program cu textul din ls distrugând astfel mai puțin program pe sistemul său.

Lecția aici este că operatorul de redirecționare creează sau suprascrie fișiere în tăcere, așa că trebuie să le tratați cu mult respect.


 

Top OS Cloud Computing la OnWorks: