Cosa fa il ‘|’ (barra verticale) significa carattere in un comando Terminale?

Esempio: in un comando Terminale

  xdpyinfo |  risoluzione di grep 

(che ho preso da una risposta), fa il

  | 

carattere significa che il

  xdpyinfo 

l’output deve essere inviato all’input del programma grep per stampare una riga contenente il file

  risoluzione 

stringa? Dove dovrei cercare tali informazioni per evitare di riempire questo forum con domande troppo semplici? Grazie.

La barra verticale | è comunemente indicato come un “tubo”. È usato per convogliare un comando in un altro. Cioè, indirizza l’output dal primo comando all’input per il secondo comando. Quindi la tua spiegazione è abbastanza accurata.

Si chiama pipe (o pipeline ) e significa che l’output del comando di fronte ad esso viene creato come input per il comando dietro di esso.

Esempio:

 dmesg | tail bash --version | tac 

Sei il benvenuto a provare il comando senza la pipa.

E sì, hai ragione: in questo caso il comando xdpyinfo mostra le informazioni e viene analizzato in grep . grep filtra i risultati e mostra solo le linee che hanno una resolution al loro interno.

Maggiori informazioni sul pipe :

La tua interpretazione è corretta. Il | character pipe l’output del primo comando nel stream di input del secondo. I due comandi sono in realtà in esecuzione in parallelo, come due processi simultanei. È un’illustrazione del “paradigma di tubi e filtri” (costruzione di funzioni complesse mediante il pipelining di quelli semplici), che è un segno distintivo di Unix.

Per ulteriori informazioni su questo, ti suggerirei di seguire alcuni tutorial su bash o script di shell. Ce ne sono molti in rete. Scommetto che sarai sorpreso dall’eleganza e dalla potenza delle shell Unix / GNU.

Il personaggio | a volte viene chiamato pipe e viene utilizzato per connettere l’output da un comando e inserirlo nell’altro.

In modo che xdpyinfo | grep resolution xdpyinfo | grep resolution prima esegue il comando xdpyinfo (una utility che visualizza informazioni su X) senza visualizzare alcun output. L’output di questo comando viene inserito in grep (parser di espressioni regolari) per trovare le voci che contengono la risoluzione.

Quello che vedi sono solo le informazioni che vuoi e non l’output completo del comando xdpyinfo .