GNU/Linux >> Linux Esercitazione >  >> Linux

Le utilità Linux sono intelligenti quando si eseguono comandi convogliati?

Stavo solo eseguendo alcuni comandi in un terminale e ho iniziato a chiedermi, Unix/Linux prende scorciatoie durante l'esecuzione di comandi in pipe?

Ad esempio, supponiamo che io abbia un file con un milione di righe, le prime 10 delle quali contengono hello world . Se esegui il comando grep "hello world" file | head il primo comando si interrompe non appena trova 10 righe o continua a cercare prima l'intero file?

Risposta accettata:

Una specie di. La shell non ha idea di cosa faranno i comandi che stai eseguendo, si limita a collegare l'output di uno all'input dell'altro.

Se grep trova più di 10 righe che dicono "hello world", quindi head avrà tutte e 10 le linee che vuole e chiuderà il tubo. Ciò causerà grep da uccidere con un SIGPIPE, quindi non è necessario continuare la scansione di un file molto grande.


Linux
  1. Linux:quali sono i diversi modi per impostare i permessi dei file ecc. su Gnu/linux?

  2. Linux:come si controllano le informazioni sulla struttura delle directory di un file Unix/linux?

  3. Impossibile eliminare il file, anche durante l'esecuzione come root?

  4. Esecuzione di comandi Linux in background e in primo piano

  5. Tutti i comandi di compressione/decompressione di Linux

Comando file Linux:cosa fa e come usarlo

Oltre 10 comandi VI Linux con esempi

Alcuni comandi Linux casuali a una riga [Parte 3]

5 comandi per visualizzare il contenuto di un file nella riga di comando di Linux

Comandi Linux usati frequentemente dagli amministratori di sistema Linux – Parte 5

Cosa sono gli inode in Linux?