Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Condotte

La capacità dei comandi di leggere i dati dallo standard input e inviarli allo standard output è utilizzata da una funzionalità della shell chiamata oleodotti. Utilizzo dell'operatore pipe “|” (barra verticale), l'output standard di un comando può essere filodiffusione nello standard input di un altro:



command1 | command2

command1 | command2


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



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

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


Immagine

Questo è estremamente utile! Usando questa tecnica, possiamo esaminare convenientemente l'output di qualsiasi comando che produce output standard.


La differenza tra > e |

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

command1 > file1 comando1 | command2

Molte persone proveranno 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 effettivo inviato da un lettore che amministrava un'appliance server basata su Linux. Come superutente, ha fatto questo:

# cd /usr/bin

# ls > meno

Il primo comando lo ha messo 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 / Usr / bin directory già conteneva un file chiamato “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 qui è che l'operatore di reindirizzamento crea o sovrascrive silenziosamente i file, quindi è necessario trattarlo con molto rispetto.


 

Il miglior sistema operativo cloud computing su OnWorks: