Commenti sull’Info Age

Diari sull’informatica e dintorni

La Guida Galattica alle Unix Shell: parte 2 — I primi esperimenti con i comandi Unix

Pubblicato da orter su Giugno 19, 2007

hacker.jpg

Piccolo riassunto delle parti componenti questa guida:

Parte 1. Perchè esistono le shell.
Parte 2. I primi esperimenti con i comandi Unix.
Parte 3. Script Warm Up.

Nella puntata precedente….il xchè delle script unix, la lista dei comandi + comuni (avete notato il linguaggino giovane da sms, very cool vero? Merito una citazione da Repubblica?).

In questa breve puntata, si incomincia a pacciolare (dal dialetto veneto razzolare, in senso lato pasticciare, manipolare, azionare con spirito di studio e/o sperimentazione) con i comandi stessi. Perchè per fare script solide (o semplicemente utili) occorre saper funzionare i comandi.

Il motto è niente teoria, solo pratica e quindi ci spariamo alcuni esempi:

Lista dei file nascosti in una directory: ls -al

Lista di solo subdirectory: ls -d

Lista di file ordinati per data di variazione ascendente (cioè dai file più vecchi ai più recenti): ls -altr

Ricercare la stringa “mammaliturchi” all’interno dei file contenuti in una directory: grep mammaliturchi ./*

Cercare un file chiamato “vivamammozzo” a partire dalla root: find / -name vivamammozzo. Attenzione però, lanciando questo comando potreste ricevere alcune segnalazioni di errore tipo “Cannot Open File/Directory” anche se siete root (neanche root riesce ad aprire file temporanei gestiti dai processi). Ignorateli.

A questo punto dovrebbe essere chiaro che alcuni caratteri particolari permettono di accedere a directory particolari

/ è root. La directory su cui sono mantate tutte le altre cartelle.

. è la directory corrente (se non vi ricordate qual’e’ usate il comando pwd)

.. è la directory padre nell’albero delle dir.

Altri esempi:

Cercare lo stesso file a partire dalla dir “miadir”: find miadir -name vivamammozzo

Cercare nella solita dir miadir un file che non ha avuto accesso (in lettura o scrittura) da 2 giorni: find miadir -type f -atime +2.

Ricercare un file creato o modificato da due giorni nella cartella miadir: find miadir -type f -mtime +2.

Find è un comando iteratore, ovvero, eseguendo le ricerche, può eseguire anche dei comandi su ogni file/directory trovato: find miadir -name ‘*’ -type f -exec rm -f {} \;

E’ bene commentare il comando precedente: si chiede di ricercare nella cartella miadir un oggetto che si chiama ‘*’ (qualunque file o cartella). L’oggetto deve essere di tipo f (ovvero un file). Per ciascuno di questi oggetti si esegue il comando rm -f (cancella senza richiedere conferma). Le lettere {} \; servono a chiudere il comando, usatele così come sono quando vi scappa di utilizzare l’opzione -exec. Altri esempi :

find miadir -name ‘*’ – atime +2 -type f -exec rm -f {} \;

find miadir -name ‘*’ -type f -exec pg {} \; (pg stampa il file a video).

Nella prossima puntata: la base della programmazione script!

2 Risposte a “La Guida Galattica alle Unix Shell: parte 2 — I primi esperimenti con i comandi Unix”

  1. [...] 1. Perchè esistono le shell. E’ questa! Parte 2. I primi esperimenti con i comandi Unix. Parte 3. Script Warm [...]

  2. [...] 1. Perchè esistono le shell. Parte 2. I primi esperimenti con i comandi Unix. Parte 3. Script Warm [...]

Lascia un commento

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>