Maquinari

Redireccions i canonades en linux

Taula de continguts:

Anonim

Ja molts han de saber que en Linux, la terminal ens brinda valuoses eines per refinar i optimitzar els resultats que busquem. En aquest post aprofitem d'ensenyar a fer servir redireccions i canonades. I és que la terminal resulta com una caixa amb utilitats increïbles. Posa a la nostra disposició incomptables ordres i eines que ens ajuden a realitzar les nostres tasques quotidianes en el dia a dia.

Índex de continguts

Redireccions i canonades en Linux

conceptes bàsics

Abans de passar explicar-los en què consisteixen les canonades i la seva importància (la part divertida), hem de tenir clars tres conceptes fonamentals en Linux: entrada estàndard, sortida estàndard i error estàndard.

L'entrada estàndard: representa les dades que són necessaris per al correcte funcionament d'una aplicació. Un exemple d'ells pot ser un arxiu amb dades estructurades o informació ingressada des de la terminal. A la terminal es representa com el tipus 0.

La sortida estàndard: és el mitjà que utilitza un aplicació per a informació dels seus processos i / o resultats, aquests poden ser simples missatges, avisos referents a el progrés o arxius amb dades estructurades com a resolució d'un procés (un reporti, per exemple). A la terminal es representa com el tipus 1.

L'error estàndard: és la manera en què les aplicacions ens informen sobre els problemes que poden ocórrer a l'hora de la seva execució. Es representa com el tipus 2 a la terminal.

Tots els tipus són representats com arxius físics en el sistema, ja que com ja han d'haver llegit en un post anterior, en Linux, tot és un arxiu.

redireccions

Ara bé, ¿què és una redirecció?

Les redireccions consisteixen en traslladar informació d'un tipus a un altre (els tipus esmentats anteriorment), per exemple, d'error estàndard a la sortida estàndard o de la sortida estàndard a l'entrada estàndard. A través de la terminal, vam aconseguir això fent ús de l'símbol>.

Redireccionar sortida i error estàndard

Per exemple, per fer la redirecció de la sortida d'una ordre i enviar-la a un arxiu; en tenim prou amb executar:

ls -la ~> (nom de l'arxiu)

No obstant això, si realitzem l'execució d'aquesta forma, el contingut del nostre arxiu serà substituït, cada vegada, per la sortida de la comanda. Si el que voldríem és que s'adicione aquesta sortida a l'arxiu, llavors l'execució seria de la següent manera:

ls -la ~ >> (nom de l'arxiu)

El que resulta interessant és que, podem redireccionar les sortides, els errors i les entrades estàndard. És aquí on prenen sentit els números que els esmentava a l'inici. Per exemple, per forçar que un programa ens mostri en pantalla els errors que es generin durant una execució, redireccionem l'error estàndard cap a la sortida estàndard durant la seva execució:

aplicació 2 >> & 1

On 2, representa l'error estàndard i & 1 representa la sortida estàndard.

També podem fer un descart de l'error estàndard en cert procés, alguna cosa comuna en l'administració de sistemes. Per això executem:

aplicació 2> / dev / null

Fins i tot descartar la sortida estàndard:

aplicació> / dev / null

Ja que en Linux, l'arxiu / dev / null, és un arxiu especial a on s'envia la informació perquè sigui descartada.

Redireccionar l'entrada

De la mateixa manera en què redireccionem sortides i errors estàndard, podem fer-ho amb les entrades estàndard des d'un arxiu i per això utilitzem l'operador <.

ET RECOMENDAMOSLos millors navegadors per a Linux molt poc coneguts

Això resulta útil en ordres o programes on s'introdueixen els arguments per teclat, de l'manera que podem substituir-los per un arxiu, per exemple:

echo "Hola món"> salutació cat <salutació Hola món

Fes-li una ullada a: Ordres Linux: conèixer i manipular el sistema

canonades

Després de comprendre el funcionament de les redireccions, el concepte de canonades serà bastant senzill. Entre els principis dela filosofia d'Unix, tenim el fet de tenir aplicacions petites que s'encarreguin de realitzar tasques molt puntuals i que en conjunt realitzin tasques complexes. Seguint aquest principi, ha d'existir una manera perquè un conjunt d'aplicacions pugui interactuar entre si. És aquí on sorgeixen les anomenades canonades.

Les canonades són un tipus especial de redirecció que permeten enviar la sortida estàndard d'una ordre com a entrada estàndard d'un altre. La forma de representar-és amb el símbol | (pipe). La seva principal utilitat és que ens ofereix la possibilitat de concatenar ordres, enriquint la programació.

Un exemple senzill i molt útil és veure els processos que s'estan executant en el sistema amb ps i redireccionar la sortida a sort per ordenar-los per PID:

ps -a | sort

Com poden veure, les redireccions i les canonades són conceptes de Linux fonamentals i que sens dubte hem de gestionar. D'aquesta manera et sentiràs cada vegada mes còmode a la terminal.

Explica'ns en els comentaris, ¿Per quines coses utilitzaries o fas servir les redireccions i canonades a la terminal?

Maquinari

Selecció de l'editor

Back to top button