Input standard
L'ingresso standard o la stdin è il comando che digitiamo nel nostro terminale per interagire con il kernel Linux.
Ubuntu@ubuntu: ~ $ ls -la
Nell'esempio sopra, "LS -la" è l'ingresso standard o la stdin.
Output standard
L'output standard o lo stdout è l'output di un processo in esecuzione o comando dato al kernel Linux attraverso l'input standard e viene visualizzato sul terminale. Ad esempio, indicato sopra, l'output è come
Ubuntu@ubuntu: ~ $ ls -la
... Snip ..
-RWXR-X --- 1 Ubuntu Ubuntu 89 gennaio 4 2021 Arith.sh
-RW-R-R-- 1 Ubuntu Ubuntu 3771 giugno 3 2020 .Bashrc
DRWX ------ 28 Ubuntu Ubuntu 4096 agosto 13:10 .cache
drwxr-xr-x 36 ubuntu ubuntu 4096 luglio 29 18:30 .configurazione
DRWX ------ 3 Ubuntu Ubuntu 4096 18 novembre 2020 .dBus
drwxr-xr-x 5 ubuntu ubuntu 4096 luglio 30 16:28 desktop
drwxr-xr-x 13 ubuntu ubuntu 12288 luglio 28 19:53 Download
... Snip ..
Ogni output ha un luogo predefinito predefinito dove andare nei sistemi operativi basati su Unix. Di seguito sono riportati alcuni dei metodi per il reindirizzamento.
Reindirizzamento di uscita standard “>“
Il reindirizzamento dell'output è un metodo in cui l'output standard di un comando può essere reindirizzato ai file o come input standard per un altro comando. Il segno ">" viene utilizzato per il reindirizzamento dell'uscita. Il terminale non mostra l'output; Invece, è scritto in un file o reindirizzato come input a un altro comando. Per esempio
Ubuntu@ubuntu: ~ $ echo ciao mondo>.TXT
O
Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames> packegnames
Invece dell'output mostrato sul terminale, verrà reindirizzato al file.file txt o pakegsnames. Al fine di confermare se l'output è stato reindirizzato o meno, utilizzare il gatto comanda di leggere i file.
Ubuntu@ubuntu: ~ $ cat file.TXT
Ubuntu@ubuntu: ~ $ cat pakegname
Questo operatore "1>" viene utilizzato anche per il reindirizzamento dell'output standard.
Reindirizzamento di input standard " < ”
Il reindirizzamento input è un metodo in cui l'ingresso standard di un comando viene reindirizzato da un file o un output standard di un altro comando. IL "<” sign is used for input redirection. It is mostly the default action of a command. For example
Ubuntu@ubuntu: ~ $ meno < /etc/passwd
È lo stesso di questo.
Ubuntu@ubuntu: ~ $ meno /etc /passwd
Prende input dal file /etc/passwd Invece di una tastiera. Il “0<” sign can also be used for redirecting standard input.
Reindirizzamento degli errori standard “2>“
Con il metodo di reindirizzamento, gli errori standard possono essere reindirizzati e scritti in un file. Per esempio
Ubuntu@ubuntu: ~ $ sudo apt-get update 2> Errore
In caso di errore, non verrà visualizzato nella finestra del terminale; Piuttosto, verrà archiviato in un file di errore. Se il file di errore esiste già, allora verrà sovrascritto.
Output standard e reindirizzamento degli errori standard “&>“
Con il segno "&>", esiste un modo più efficiente per reindirizzare l'output standard e l'errore standard contemporaneamente con il segno "&>". Per esempio
Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames &> pkgnames
Tutti i nomi e gli errori dei pacchetti verranno archiviati nel file pkgnames.
Reindirizzamento di uscita standard ">>"
Questo metodo di reindirizzamento reindirizza l'output standard di un comando o un file a un altro file. La differenza è durante l'utilizzo del reindirizzamento ">>", se il file esiste già, i dati verranno aggiunti al file; Quindi il file non verrà sovrascritto.
Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames >> pkgnames
Se il file pkgnames esiste già, il suo contenuto non verrà sovrascritto; Piuttosto, l'output verrà aggiunto alla fine del file.
Reindirizzamento di input standard " << ”
Questo metodo di reindirizzamento legge l'input dell'utente dal terminale e quindi lo aggiunge al file.
Ubuntu@ubuntu: ~ $ cat pkgnames << pkgnames
> Ubuntu
> Chrome
> pkgnames
Se il file pkgnames esiste già, allora il suo contenuto non verrà sovrascritto.
Reindirizzamento usando i tubi “| "
I tubi vengono spesso usati quando si desidera combinare più comandi. Con i tubi, l'output del primo comando può essere utilizzato come input del secondo comando. Per esempio
Ubuntu@ubuntu: ~ $ sudo apt-cache pkgnames | meno
Nel comando sopra, l'output standard del comando lasciato al tubo "|" Il segno è l'ingresso standard del comando diritto al tubo "|" cartello.
Combinando gli operatori di reindirizzamento
Puoi combinare alcuni degli operatori di reindirizzamento perché sono convenientemente facili da usare e impiegano meno tempo; Alcuni degli operatori di reindirizzamento combinati sono riportati di seguito.
2 >>: | Questo operatore viene utilizzato per il reindirizzamento degli errori standard nel file. |
: | Questo operatore viene utilizzato per i file specificati come input standard e output standard. |
> &: | Questo operatore reindirizza l'output di un file su un altro. |
<&: | Questo operatore reindirizza l'input di un file a un altro. |
2> & 1: | Questo operatore viene utilizzato per il reindirizzamento dell'errore standard all'output standard. |
1> & 2: | Questo operatore viene utilizzato per il reindirizzamento dell'output standard per un errore standard. |
Conclusione
Come amministratore Linux, il reindirizzamento input-output è una routine molto comune nel lavoro quotidiano. Conservare l'output e gli errori per un uso successivo e combinare i comandi multipli semplificano il lavoro e riduci i tempi in modo da poter lavorare diligentemente ed efficiente. Sopra ci sono alcuni suggerimenti da fare in modo che ti aiuteranno a comprendere i reindirizzamenti input-output.