Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Condotte

La capacità dei comandi di leggere i dati dall'input standard e di inviarli all'output standard è utilizzata da una funzionalità della shell chiamata oleodottiUtilizzando l'operatore pipe "|" (barra verticale), l'output standard di un comando può essere filodiffusione nell'input standard di un altro:



command1 | command2

command1 | command2


Per dimostrarlo appieno, avremo bisogno di alcuni comandi. Ricordi che abbiamo detto che ce n'era uno che già conoscevamo e che accettava l'input standard? È meno. Possiamo usare meno per visualizzare, pagina per pagina, l'output di qualsiasi comando che invia i suoi risultati all'output standard:



[io@linuxbox~]$ ls -l /usr/bin | meno

[io@linuxbox~]$ ls -l /usr/bin | meno


Immagine

Questa è una cosa estremamente utile! Utilizzando questa tecnica, possiamo esaminare comodamente l'output di qualsiasi comando che produca output standard.


La differenza tra > e |

A prima vista, potrebbe essere difficile comprendere il reindirizzamento eseguito dall'operatore della pipeline | rispetto all'operatore di reindirizzamento >In parole povere, l'operatore di reindirizzamento collega un comando a un file, mentre l'operatore pipeline collega l'output di un comando all'input di un secondo comando.

command1 > file1 comando1 | command2

Molte persone provano quanto segue quando imparano a conoscere le pipeline, "solo per vedere cosa succede".

command1 > command2

Risposta: A volte qualcosa di veramente brutto.



Immagine

Ecco un esempio concreto inviato da un lettore che amministrava un server basato su Linux. Come superutente, ha fatto quanto segue:

# cd /usr/bin

# ls > meno

Il primo comando lo ha inserito nella directory in cui sono archiviati la maggior parte dei programmi e il secondo comando ha detto alla shell di sovrascrivere il file meno con l'uscita del ls comando. Dal momento che il / Usr / bin la directory conteneva già un file denominato "less" (il meno programma), il secondo comando ha sovrascritto il meno file di programma con il testo da ls distruggendo così il meno programma sul suo sistema.

La lezione da imparare è che l'operatore di reindirizzamento crea o sovrascrive silenziosamente i file, quindi è necessario trattarlo con grande rispetto.


 

Il miglior sistema operativo cloud computing su OnWorks: