Conducta (țeavă) - redirecționarea intrare-ieșire în linux - ansmirnov

În sistemele de operare asemănătoare UNIX, utilizatorul deschide un spațiu uriaș pentru redirecționarea comenzilor I / O. În acest articol voi încerca să spun ce este și ce mănâncă







Un exemplu simplu de redirecționare este conducta. Este marcat cu simbolul | (bastonul drept, care nu a înțeles :)). Țeava este utilizată după cum urmează:

Cu un astfel de apel, toate datele care ar fi afișate în mod normal pe linia de comandă normală 1 sunt introduse la intrarea standard a comenzii 2, ca și cum am fi tastat aceste date de la tastatură.

Voi explica prin exemplu. Introduceți comanda ls -l /. Veți vedea cum va fi afișat conținutul directorului rădăcină.

Acum, să redirecționăm ieșirea acestei comenzi la intrarea unei alte comenzi: grep. care caută o combinație de caractere în datele de intrare. De exemplu, utilizați această comandă: ls -l / | grep tmp.







Voi explica în detaliu ce înseamnă: comanda ls -l / Afișează conținutul directorului rădăcină (așa cum am văzut mai sus). Alte date ajung la comanda grep tmp. care va căuta datele de intrare (obținute de la 1 comandă). Apoi, comanda grep va afișa ce a găsit pe ecran (desigur, acest caz poate fi redirecționat din nou).

Dacă vă asociați cu lumea reală, vă puteți imagina o țeavă sub forma unei țevi lungi, distanțată vertical (ceva îmi spune că dezvoltatorii sistemului au imaginat acest lucru exact, de aceea au ales acest nume și simbol). În această conductă, cineva (comanda 1) aruncă mere de sus (date). Al doilea (comanda 2) ia aceste mere din conductă. Lățimea țevii nu permite jucătorilor să schimbe ordinea, adică în ce ordine au fost trimiși de echipa 1, în acea ordine vor fi acceptați de către echipă 2. Viteza comenzilor poate de asemenea să varieze. În cazul în care al doilea ezită, merele vor rămâne în conductă, așteptând procesarea. În cazul în care prima întârzie, atunci a doua va aștepta ca datele să sosească.

Poate că acesta este tot ce se poate spune despre conducte în Linux.







Trimiteți-le prietenilor: