Vediamo ora dei comandi UNIX che ci serviranno per fare gli esempi e gli esperimenti delle prossime pagine. Questa può essere considerata una piccola integrazione alla breve introduzione allo UNIX costituita dalle pagine "primo contatto con il sistema UNIX".
Già nella pagina precedente abbiamo visto l'uso del comando setenv, sia per consultare le variabili d'ambiente sia per modificarne il valore (o crearne di nuove). Quando il sistema riceve il comando "echo stringa", risponde con la stessa stringa. Questo può sembrare un comando un po' inutile, ma la filosofia dello UNIX è quella di creare dei comandi che eseguono operazioni elementari, per poi combinarli e concatenarli (vedremo come) per eseguire compiti più complessi. Un altro uso del comando echo è quello di mostrare il valore di una singola variabile di sistema: è sufficiente eseguire "echo $NOMEVARIABILE".
Il comando "more nomefile" mostra il file una pagina alla volta, aspettando che l'utente prema la barra spaziatrice per passare alla prossima pagina.
Il comando "tail +2 nomefile" prende il file indicato, a partire dalla seconda riga dall'inizio, e lo stampa sul display. In realtà questo comando manda l'output sullo standard output, che appunto è il display. Per poter utilizzare più efficacemente il comando è necessario redirezionare l'output in maniera opportuna. Per chiarire cosa si intenda per standard output, standard input e redirezione, diremo che un programma ha di default (cioè a meno di specifiche diverse da parte dell'utente) un ingresso per gli input che viene chiamato standard input ed una uscita per gli output che viene chiamata standard output. Entrambe possono garantire un flusso di dati continuo, nel senso che, quando il programma necessita di un input, consulta lo standard input (mediante una funzione di libreria) e cattura tutto quello che c'è prima del prossimo separatore di input (generalmente un carattere return), quando invece produce un output lo invia allo standard output. Generalmente lo standard input è la tastiera, mentre lo standard output è il display. Per esempio: il comando "ls" scrive il contenuto della directory corrente sullo standard output (display). Il comando "more" prende il nome di un file dallo standard input (tastiera) e mostra il file a pagine sullo standard output (display). Nel sistema UNIX questi flussi di dati possono essere controllati dall'utente. In particolare è possibile deviare (redirigere) l'output di un programma in maniera che invece di andare a finire sul display venga memorizzato in un file (redirezione dell'output); oppure è possibile che l'output di un programma diventi l'input di un altro programma (pipe, cioè "tubo"). Per esempio eseguendo "ls | more" (il simbolo "|" si pronuncia "paip"), il sistema eseguirà il comando ls, e manderà il suo output (la lista dei file della directory corrente) in ingresso al comando more, che la mostrerà una pagina dopo l'altra. Eseguendo "tail +2 nomefile > altrofile" il contenuto del file nomefile privato delle sue prime 2 righe verrà memorizzato nel file altrofile.
Infine "xv" è un'applicazione che ci servirà per vedere delle immagini codificate in file binari, in formati grafici come il .gif o .jpg (xv supporta tutti i formati grafici più comuni).

pagina precedente    prossima pagina