RIDIREZIONE

Il comando cat concatena i file e li manda sullo schermo:

cat file1.txt file2.txt

stampa sullo standard output (lo schermo) file1.txt seguito da file2.txt.

Così concepito il comando non è molto utile, ma è possibile utilizzare la ridirezione: in Linux l’output di un comando può venire dirottato verso altri canali.

In particolare nell’esempio precedente potrei ridirigere l’output del comando cat su un nuovo file. In tal modo otterrei un file (es. file3.txt) che contiene la concatenazione di file1.txt e file2.txt:

cat file1.txt file2.txt > file3.txt

Tutti i comandi possono essere ridiretti (es. ls –l > file4.txt).

 

PIPELINE

La pipeline è una forma di ridirezione in cui l'output di un comando viene inviato come input del successivo:

cat elenco | sort

In questo modo, cat legge il contenuto del file elenco, ma invece di essere visualizzato sullo schermo, viene inviato come standard input di sort che lo riordina e poi lo emette sullo schermo.

Esercizi pratici:

  1. Crea un file ridir1.txt ed un file ridir2.txt
  2. Cambia i permessi in sola lettura per il proprietario
  3. Visualizza (con un solo comando!) uno dopo l’altro i due file
  4. Ora crea un nuovo file ridirez.txt che contenga i due file precedenti
  5. Verifica i permessi del file appena creato; cambiali in lettura e scrittura per proprietario, gruppo ed altri.
  6. Prova a dare il comando cat > prova.txt e cerca di capire cosa sta succedendo!!!
  7. Crea un file di nome elenco.txt che contenga, in ordine alfabetico inverso, la lista del contenuto della directory principale. Usa il comando sort con l’opzione –r. Va utilizzata la ridirezione e la pipeline