GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare il reindirizzamento dei comandi in Linux

Metacaratteri della shell

I metacaratteri della shell sono caratteri specifici, generalmente simboli, che hanno un significato speciale all'interno della shell. I metacaratteri supportati in bash sono elencati come segue:

  • | :Invia l'output del comando a sinistra come input del comando a destra del simbolo
  • & :esegue il processo in background, consentendoti di continuare a lavorare sulla riga di comando
  • ; :Ti permette di elencare più comandi su una singola riga, separati da questo carattere
  • () :Raggruppa i comandi e invia il loro output nello stesso posto
  • < :Ottiene l'input per il comando a sinistra dal file elencato a destra di questo simbolo
  • > :Invia l'output del comando a sinistra nel file denominato a destra di questo simbolo
  • scheda spazio
Attenzione :non utilizzare questi metacaratteri durante la creazione di nomi di file e directory. Questi caratteri hanno un significato speciale nella shell.

Metacaratteri di reindirizzamento

Il reindirizzamento dei comandi è abilitato dai seguenti metacaratteri della shell:

  • Reindirizzamento dello standard input (<)
  • Reindirizzamento dell'output standard (>)
  • Reindirizzamento dell'errore standard (2>)
  • Il carattere pipe (|)

I descrittori di file

Ogni processo funziona con descrittori di file. I descrittori di file determinano dove ha origine l'input del comando e dove sono diretti l'output e i messaggi di errore. La tabella spiega i descrittori di file.

Numero del descrittore di file Abbreviazione del descrittore di file Definizione
0 stdin Input comando standard
1 uscita standard Uscita comando standard
2 stderr Errore di comando standard

Reindirizzamento comandi

Per impostazione predefinita, la shell riceve o legge l'input dallo standard input, la tastiera e visualizza l'output ei messaggi di errore sullo standard output, lo schermo. Il reindirizzamento dell'input forza un comando a leggere l'input da un file anziché dalla tastiera. Il reindirizzamento dell'output invia l'output di un comando in un file invece di inviare l'output allo schermo.

Reindirizzamento dell'input standard

Meno di (< ) il metacarattere elabora un file come input standard invece di leggere l'input dalla tastiera.

# command < filename

o

# command 0< filename

Ad esempio, usa il file data.txt come input per il comando mailx.

# mailx -s test [email protected] < data.txt

Reindirizzamento dell'output standard

Il maggiore di (> ) il metacarattere indirizza l'output standard a un file invece di stampare l'output sullo schermo.

# command > filename

o

# command 1> filename

Se il file non esiste, il sistema lo crea. Quando si utilizza un singolo metacarattere maggiore di (>), il comando sovrascrive il contenuto originale del file, se il file esiste già. Quando utilizzi due caratteri maggiori di (>>), il comando aggiunge l'output al contenuto originale del file.

$ command >> filename

Errore standard di reindirizzamento

Un comando che utilizza il descrittore di file numero (2) e il segno maggiore di (>) reindirizza tutti i messaggi di errore standard al file /dev/null.

$ command 2> /dev/null

L'esempio seguente mostra lo standard output e l'errore standard reindirizzati al file data.txt.

$ ls /tmp 1> data.txt 2>&1
Nota :La sintassi 2>&1 indica alla shell di reindirizzare stderr (2) allo stesso file che riceve stdout (1).

Il personaggio della pipa

Il carattere pipe reindirizza l'output standard da un comando allo standard input di un altro comando. Il primo comando scrive l'output nello standard output e il secondo comando legge lo standard output dal comando precedente come standard input.

$ command | command

Ad esempio, utilizzare l'output standard del comando who come input standard per il comando wc -l.

 $ who | wc -l 
35

Per visualizzare un elenco di tutte le sottodirectory che si trovano nella directory /etc, immettere il comando seguente.

$ ls -F /etc | grep "/" X11/
acct/
apache/
apache2/

Usa l'output del comando head come input per il comando 'xargs ls'.

head -10 data.txt | xargs ls 


Linux
  1. Come usare il comando Linux grep

  2. Come usare il comando cronologia in Linux

  3. Come usare il comando Su in Linux

  4. Come utilizzare il comando dello schermo di Linux

  5. Come usare il comando tar sotto Linux

Come usare il comando nohup di Linux

Come utilizzare il comando Ping di Linux

Come usare du Command in Linux

Come utilizzare il comando sysctl in Linux

Come utilizzare il comando di arresto di Linux

Come usare grep in Linux