Hardware

Conducte și redirecționări Linux

Cuprins:

Anonim

Mulți știu deja că în Linux, terminalul ne oferă instrumente valoroase pentru rafinarea și optimizarea rezultatelor pe care le căutăm. În această postare profităm pentru a vă învăța cum să folosiți redirecții și conducte. Și este că terminalul se dovedește ca o cutie cu utilități incredibile. Ne pune la dispoziție nenumărate comenzi și instrumente care ne ajută să ne îndeplinim sarcinile zilnice.

Indice de conținut

Redirecționări și conducte în Linux

Concepte de bază

Înainte de a explica care sunt conductele și importanța lor (partea distractivă), trebuie să fim clar despre trei concepte fundamentale în Linux: intrare standard, ieșire standard și eroare standard.

Intrarea standard: reprezintă datele necesare pentru funcționarea corectă a unei aplicații. Un exemplu dintre ele poate fi un fișier cu date sau informații structurate introduse de la terminal. În terminal este reprezentat ca tip 0.

Rezultatul standard: reprezintă mijloacele pe care o aplicație le folosește pentru a afișa informații despre procesele și / sau rezultatele sale, acestea pot fi mesaje simple, notificări cu privire la progres sau fișiere cu date structurate, cum ar fi o rezoluție de proces (un raport, de exemplu). În terminal este reprezentat ca tip 1.

Eroarea standard: este modul în care aplicațiile ne informează despre problemele care pot apărea în momentul executării lor. Este reprezentat ca tip 2 în terminal.

Toate tipurile sunt reprezentate ca fișiere fizice în sistem, deoarece așa cum trebuie să fi citit într-o postare anterioară, în Linux, totul este un fișier.

redirecționări

Acum ce este o redirecționare?

Redirecțiile constau în mutarea informațiilor de la un tip la altul (tipurile menționate mai sus), de exemplu, de la eroare standard la ieșire standard sau de la ieșire standard la intrare standard. Prin terminal, realizăm asta folosind simbolul>.

Redirecționare ieșire și eroare standard

De exemplu, pentru a redirecționa ieșirea unei comenzi și a o trimite la un fișier; trebuie doar să executăm:

ls -la ~> (numele fișierului)

Cu toate acestea, dacă executăm în acest fel, conținutul fișierului nostru va fi înlocuit, de fiecare dată, prin ieșirea comenzii. Dacă dorim este ca această ieșire să fie adăugată la fișier, execuția ar fi următoarea:

ls -la ~ >> (numele fișierului)

Ceea ce este interesant este că putem redirecționa ieșirile standard, erorile și intrările. Este aici unde sensurile pe care le-am menționat la început. De exemplu, pentru a forța un program să ne arate erorile generate în timpul unei execuții, redirecționăm eroarea standard către ieșirea standard în timpul execuției sale:

cererea 2 >> & 1

În cazul în care 2 reprezintă eroarea standard și & 1 reprezintă ieșirea standard.

De asemenea, putem renunța la eroarea standard într-un anumit proces, ceva comun în administrarea sistemelor. Pentru aceasta executăm:

cererea 2> / dev / nul

Chiar aruncați ieșirea standard:

cerere> / dev / null

Întrucât în ​​Linux, fișierul / dev / null este un fișier special în care informațiile sunt trimise pentru a fi aruncate.

Redirecționare

În același mod în care redirecționăm ieșirile și erorile standard, îl putem face cu intrări standard dintr-un fișier și pentru aceasta folosim operatorul <.

VĂ RECOMANDĂM Cele mai cunoscute browsere Linux puțin cunoscute

Acest lucru este util în comenzile sau programele în care argumentele sunt introduse de tastatură, astfel încât să le putem înlocui cu un fișier, de exemplu:

ecou "Salut lume"> felicitare pisică <salut Salut lume

Aruncați o privire la: Comenzi Linux: Cunoașteți și manipulați sistemul

conducte

După înțelegerea funcționării redirecțiilor, conceptul de conducte va fi destul de simplu. Printre principiile filozofiei Unix, avem faptul că avem aplicații mici care sunt responsabile de îndeplinirea sarcinilor foarte specifice și care îndeplinesc împreună sarcini complexe. Urmând acest principiu, trebuie să existe o modalitate prin care un set de aplicații să interacționeze între ele. Aici apar așa-numitele țevi.

Conductele sunt un tip special de redirecție care vă permite să trimiteți ieșirea standard a unei comenzi ca intrare standard a altei. Modul de reprezentare este cu simbolul | (conductă). Utilitatea sa principală este că ne oferă posibilitatea de a concatena comenzile, de a îmbogăți programarea.

Un exemplu simplu și foarte util este să vedeți procesele care se execută pe sistem cu ps și să redirecționați ieșirea lor pentru a le sorta pentru a le sorta după PID:

ps -a | sort

După cum vedeți, redirecționările și conductele sunt concepte fundamentale pentru Linux și pe care cu siguranță ar trebui să le gestionăm. În acest fel vă veți simți din ce în ce mai confortabil în terminal.

Spuneți-ne în comentarii, la ce ați folosi sau utiliza redirecții și conducte pentru terminal?

Hardware

Alegerea editorilor

Back to top button