Hardware

Pipe e reindirizzamenti Linux

Sommario:

Anonim

Molti già sanno che in Linux il terminale ci fornisce strumenti preziosi per affinare e ottimizzare i risultati che cerchiamo. In questo post approfittiamo di insegnarti come utilizzare reindirizzamenti e pipe. Ed è che il terminale si presenta come una scatola con incredibili utilità. Mette a nostra disposizione innumerevoli comandi e strumenti che ci aiutano a svolgere le nostre attività quotidiane su base giornaliera.

Indice dei contenuti

Reindirizzamenti e pipe in Linux

Concetti di base

Prima di continuare a spiegare quali sono le pipe e la loro importanza (la parte divertente), dobbiamo essere chiari su tre concetti fondamentali in Linux: input standard, output standard ed errore standard.

L'input standard: rappresenta i dati necessari per il corretto funzionamento di un'applicazione. Un esempio di questi può essere un file con dati strutturati o informazioni immesse dal terminale. Nel terminale è rappresentato come tipo 0.

L'output standard: è il mezzo che un'applicazione utilizza per visualizzare informazioni sui suoi processi e / o risultati, questi possono essere semplici messaggi, avvisi sull'avanzamento o file con dati strutturati come una risoluzione dei processi (un report, ad esempio). Nel terminale è rappresentato come tipo 1.

L'errore standard: è il modo in cui le applicazioni ci informano dei problemi che possono verificarsi al momento della loro esecuzione. È rappresentato come tipo 2 nel terminale.

Tutti i tipi sono rappresentati come file fisici nel sistema, perché come è necessario aver letto in un post precedente, in Linux, tutto è un file.

redirect

Ora cos'è un reindirizzamento?

I reindirizzamenti consistono nello spostamento di informazioni da un tipo all'altro (i tipi sopra menzionati), ad esempio, dall'errore standard all'output standard o dall'output standard all'input standard. Tramite il terminale, lo realizziamo usando il simbolo>.

Output di reindirizzamento ed errore standard

Ad esempio, per reindirizzare l'output di un comando e inviarlo a un file; dobbiamo solo eseguire:

ls -la ~> (nome file)

Tuttavia, se eseguiamo in questo modo, il contenuto del nostro file verrà sostituito, ogni volta, dall'output del comando. Se ciò che vogliamo è che questo output venga aggiunto al file, l'esecuzione sarebbe la seguente:

ls -la ~ >> (nome file)

Ciò che è interessante è che possiamo reindirizzare output, errori e input standard. È qui che hanno senso i numeri che ho citato all'inizio. Ad esempio, per forzare un programma a mostrarci gli errori che vengono generati durante un'esecuzione, reindirizziamo l'errore standard all'output standard durante la sua esecuzione:

applicazione 2 >> & 1

Dove 2 rappresenta l'errore standard e & 1 rappresenta l'output standard.

Possiamo anche scartare l'errore standard in un determinato processo, qualcosa di comune nell'amministrazione dei sistemi. Per questo eseguiamo:

applicazione 2> / dev / null

Elimina anche l'output standard:

applicazione> / dev / null

Poiché in Linux, il file / dev / null è un file speciale in cui le informazioni vengono inviate per essere scartate.

Reindirizzamento dell'input

Allo stesso modo in cui reindirizziamo output ed errori standard, possiamo farlo con input standard da un file e per questo utilizziamo l'operatore <.

Ti consigliamo i migliori browser Linux poco conosciuti

Ciò è utile in comandi o programmi in cui gli argomenti vengono immessi dalla tastiera, in modo tale da poterli sostituire con un file, ad esempio:

echo "Ciao mondo"> saluto gatto <saluto Ciao mondo

Dai un'occhiata a: Comandi Linux: conosci e manipola il sistema

oleodotti

Dopo aver compreso il funzionamento dei reindirizzamenti, il concetto di pipe sarà abbastanza semplice. Tra i principi della filosofia Unix, abbiamo il fatto di avere piccole applicazioni che sono incaricate di svolgere compiti molto specifici e che insieme svolgono compiti complessi. Seguendo questo principio, ci deve essere un modo per una serie di applicazioni di interagire tra loro. È qui che sorgono i cosiddetti tubi.

Le pipeline sono un tipo speciale di reindirizzamento che consente di inviare l'output standard di un comando come input standard di un altro. Il modo di rappresentarlo è con il simbolo | (tubo). La sua principale utilità è che ci offre la possibilità di concatenare comandi, arricchendo la programmazione.

Un esempio semplice e molto utile è vedere i processi in esecuzione sul sistema con ps e reindirizzare il loro output per ordinare per ordinarli in base al PID:

ps -a | sorta

Come puoi vedere, reindirizzamenti e pipe sono concetti fondamentali di Linux e che dovremmo assolutamente gestire. In questo modo ti sentirai sempre più a tuo agio nel terminal.

Dicci nei commenti, per cosa useresti o utilizzeresti reindirizzamenti e pipe nel terminale?

Hardware

Scelta dell'editore

Back to top button