Keywords: guide

Next: Comandi di elaborazione Up: Piccoli programmi potenti Previous: Statistiche del sistema

# Cosa c'è nel file?

Ci sono due comandi importanti di UNIX che servono ad elencare file: `cat` e `more`. Ho parlato di entrambi nel capitolo .

> `cat` [-nA] [file1 file2 ...fileN]

`cat` non è un comando amichevole--non aspetta che voi leggiate il file, ed è spesso usato in congiunzione con le pipe; ha però alcune utili opzioni da linea di comando: per esempio, `n` numera tutte le linee nel file, e `A` mostra i caratteri di controllo come caratteri normali invece di mostrare (forse) strane combinazioni sullo schermo (ricordatevi, per vedere queste strane e forse ``poco utili'' opzioni, usate il comando `man`: `man cat`). `cat` accetta input dallo stdin se non viene specificato nessun file nella linea di comando.

> `more` [-l] [+numero-linea] [file1 file2 ...fileN]

`more` è molto più utile, ed è il comando che preferirete usare quando dovrete leggere un file di testo ASCII. L'unica opzione interessante è `l`, che dice a `more` che non siete interessati a trattare il carattere 106#106 come carattere di ``nuova pagina''. `more` partirà da uno specifico numero di linea. Siccome `more` è un comando interattivo, ho riassunto i principali comandi da dargli:

107#107
  Mostra la prossima schermata di testo.
108#108
  Fa scorrere lo schermo di 11 linee, o circa metà di uno schermo normale (25 linee).
109#109
  Cerca un'espressione regolare. Siccome un'espressione regolare può essere abbastanza complicata, potete digitare una stringa di testo da ricercare. Per esempio, `/rana` 4#4 ricerca la prossima parola ``rana'' nel file corrente. Una barra seguita da 4#4 ripete la ricerca dell'ultima espressione.
110#110
  Anche questo ricerca la successiva posizione dell'espressione.
111#111 110#110
  Se specificate più di un file nella linea di comando, vi sposterà nel prossimo file.
111#111 112#112
  Vi sposterà nel file precedente.
41#41
  Esce da `more`.

> `head` [-linee] [file1 file2 ...fileN]

`head` mostra le prime dieci linee dei file elencati, o le prime dieci linee dello stdin se non è specificato nessun file nella linea di comando. Ogni opzione numerica viene interpretata come il numero di linee da stampare, così `head -15 pippo` stampa le prime quindici linee del file `pippo`.

> `tail` [-linee] [file1 file2 ...fileN]

Come `head`, `tail` mostra solo una frazione del file. Naturalmente, `tail` mostra la fine del file, o le ultime dieci linee che arrivano dallo stdin. Anche `tail` accetta opzioni che specificano il numero di linee.

> `file` [file1 file2 ...fileN]

Il comando `file` prova ad identificare in quale formato è scritto un particolare file. Dato che non tutti i file hanno estensioni o altri marcatori che li identificano, il comando `file` esegue dei controlli rudimentali per cercare di indovinare cosa contengono. Fare attenzione, comunque, perché è possibile che `file` faccia un'identificazione sbagliata.

Next: Comandi di elaborazione Up: Piccoli programmi potenti Previous: Statistiche del sistema