Pipe e reindirizzamenti Linux
Sommario:
- Reindirizzamenti e pipe in Linux
- Concetti di base
- redirect
- Output di reindirizzamento ed errore standard
- Reindirizzamento dell'input
- oleodotti
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 conosciutiCiò è 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?
Linux mint 18.1 serena è disponibile per la comunità linux
Se hai già Linux Mint 18.0, puoi facilmente aggiornare a questa versione dal gestore aggiornamenti a Linux Mint 18.1 Serena.
Linux aio ubuntu 16.10 è disponibile per la comunità linux
Linux AIO Ubuntu è una distribuzione Linux speciale che include diverse edizioni del sistema operativo più famoso al mondo, Ubuntu.
Come installare e configurare virtualbox in linux: debian, ubuntu, linux mint ...
Tutorial in spagnolo in cui ti mostreremo come installare VirtualBox nella nostra distribuzione Linux in un modo molto semplice.