Cos'è un tubo in Linux

Cos'è un tubo in Linux
Nei sistemi operativi basati su Linux, il tubo è un tipo di reindirizzamento utilizzato per il trasferimento dell'uscita standard di un comando a una destinazione o in un altro comando. Viene utilizzato per l'invio dell'output di un processo, programma o comando a un altro processo, programma o comando per ulteriori elaborazioni. IL Linux i sistemi consentono di essere collegato all'output standard o alla stend di un comando con l'ingresso standard o la stdin dell'altro comando. In Linux, i tubi sono rappresentati usando il "|"Carattere del tubo.

Un tubo collega due o più processi, programmi o comandi per un tempo limitato. Per ulteriori elaborazioni, il sistema Linux utilizza il programma di riga di comando noto come filtri. La connessione diretta creata tra più processi, comandi e programmi consente loro di eseguire contemporaneamente. Tuttavia, i tubi abilitano anche la trasmissione dei dati tra loro senza passare attraverso lo schermo o i file di testo temporanei.

Come funzionano i tubi in Linux

I dati si spostano da sinistra a destra attraverso i tubi e quindi i tubi sono unidirezionali. L'utilizzo dei tubi nel terminale Linux presenta molti vantaggi. È possibile raggruppare numerosi programmi usando i tubi per la creazione di comandi altamente potenti. La maggior parte dei programmi di riga di comando supporta più modalità di funzionamento. Questi programmi possono scrivere e leggere i dati ai file e accettare output standard e input. Questa affermazione dichiara che l'output di un programma può essere utilizzato come input per un altro. È quindi possibile inviare l'output del secondo programma come input a un terzo programma o salvarlo in un file. Ecco come funzionano i tubi in un sistema operativo basato su Linux.

Sintassi di tubi in Linux

Il personaggio del tubo "|"Viene utilizzato per aggiungere un tubo in un comando. La sintassi generale dei tubi in Linux è la seguente:

$ First_Command | Second_Command | Terzo_Command ..

Scrivi il First_Command nel terminale; quindi specificare il carattere del tubo "|". Dopodiché, aggiungi il Second_Command. Fino a questo punto, il tubo invierà l'output standard del First_Command come input per il secondo_Command. I tubi possono essere utilizzati per generare una catena di comandi. Tuttavia, la funzionalità dei tubi rimarrà nell'intera catena dei comandi.

Come usare i tubi in Linux

In un terminale Linux, i tubi sono rappresentati usando il "|"Carattere del tubo. Ora scriveremo alcuni comandi che comprendono i tubi per spiegare praticamente il funzionamento dei tubi di Linux.

Nota: Per la dimostrazione degli esempi di tubazioni, stiamo usando Ubuntu 20.04. Tuttavia, i tubi funzionano allo stesso modo in tutti i sistemi basati su Linux.

Come utilizzare Pipe per l'invio dell'elenco di file e directory al comando "più" in Linux

In questo esempio, useremo il tubo tra "ls" E "Di più"Comandi. IL "ls"Il comando viene utilizzato per le directory e i file di elenco e l'opzione" -l "viene aggiunta per elencarli in formato lungo. Mentre il "Di più"Il comando visualizzerà l'elenco in modo scorrevole, una schermata alla volta:

$ ls -l | Di più

L'esecuzione del comando sopra dato invierà l'elenco di file e directory come input al "Di più"Comando usando pipe"|":

Ora, premere "accedere"Visualizza più directory e file elenchi:

Come utilizzare Pipe per separare i file dall'elenco di tutti i file e le directory in Linux

Il tubo fornisce inoltre la funzione per separare ed elencare file specifici da un elenco. Per questo, puoi usare il "ls"Comando per elencare i file e il"grep"Comando per la ricerca del modello specifico e aggiungere il" | " Carattere del tubo tra questi comandi.

Nell'esempio seguente, il carattere del tubo invierà l'elenco di file e directory al "grep"Comando. Quindi, il comando Grep estraggerà il file con "TXT"Pattern in loro:

$ ls | grep "txt"

Come utilizzare il tubo per contare il numero di file specifici dall'elenco di tutti i file e le directory in Linux

È possibile utilizzare i tubi per creare una catena di comandi. Questa catena di comandi viene eseguita immediatamente nel terminale Linux. Ad esempio, possiamo estendere il comando precedentemente eseguito aggiungendo un tubo e "wc"Comando. Il secondo tubo invierà l'output del "grep"Comando a"wc".

$ ls | grep "txt" | wc -l

L'output del comando stamperà il numero totale di file contenenti "TXT" modello:

Come utilizzare il tubo per ordinare un file e stampare i suoi valori univoci in Linux

Se si desidera ordinare un file e quindi stampare i suoi valori univoci nel terminale, eseguire il comando di seguito:

$ ordint SampleTest1.txt | Uniq

Qui, il "ordinare"Il comando viene utilizzato per ordinare il"SampleTest1.TXT" file. Il tubo "|" invia il “ordinare"Output del comando a"Uniq". Poi il "Uniq"Il comando filtrerà i valori duplicati:

Come utilizzare il tubo per recuperare dati particolari in Linux

Puoi utilizzare il tubo "|"Tra il comando gatto e grep. IL "gatto"Il comando estraggerà i dati da"SampleTest1.TXT", mentre il "grepIl comando "cercherà il"U"Lettera nella"SampleTest1.TXT" contenuto. Per ulteriori elaborazioni, pipe "|"Invierà il"gatto"Output del comando a"grep":

$ gatto sampletest1.txt | grep "u"

L'output ti mostrerà il testo con "u":

Come utilizzare il tubo per stampare le linee dei file in un intervallo specifico in Linux

"Testa" E "coda"I comandi vengono utilizzati per stampare la prima e l'ultima parte di un file. In questo esempio, utilizzeremo il tubo "|"Per prendere il"SampleTest2.TXT"I dati del file sono derivati ​​da"gatto”Comando e poi passarlo al"Testa" E "coda"Comando come input:

$ gatto sampletest2.txt | testa -3 | Tail -7

Ti mostrerà l'output di seguito:

Conclusione

In Sistemi basati su Linux, Il tubo viene utilizzato per combinare due o più comandi in modo tale che l'output di un comando sia passato come input all'altro. Il "|" il simbolo indica l'operatore del tubo. Con l'aiuto dell'operatore di tubi, ogni output di processo viene fornita direttamente come input al comando successivo. In questo post, hai imparato Cos'è un operatore di tubi in Linux. Inoltre, abbiamo anche dimostrato vari esempi relativi ai tubi in un sistema Linux.