Introduzione a UNIX - passo due 
 

2.1 Copiare files

cp (copy)

cp file1 file2 e' il comando che fa una copia del file file1 nella directory corrente e la chiama file2.

Adesso prendiamo un file che si trova in un' area accessibile del filesystem e usiamo il comando cp per copiarlo nella  nostra directory di nome pgm.
Un modo di eseguire questo compito e' di fare   cd alla directory pgm, se esiste, (altrimenti crearla col comando "mkdir pgm").

Al prompt UNIX dare:

        dfisa2.ts.infn.it> cp /home/pastore/esercizi/3/schema   .
Nota: Non dimenticare il punto  "." alla fine. Ricordare che in UNIX il punto rappresenta la directory corrente.

Il precedente comando corrisponde a copiare il file schema (contenente il testo di esercizi) nella directory corrente, mantenendo lo stesso nome (schema). (La directory  /home/pastore/esercizi/3  e' un' area a cui tutti possono accedere per copiare.)

Esercizio

Copiare il file schema che ora e' nella  directory  pgm nlla directory unixstuff.

2.2 Cambiare nome ai files

mv (move)

mv file1 file2  cambia il nome file1 in file2

Il comando   mv  cambia il nome completo di un file  (inclusa la specifica sulle directories) simulando l' effetto di spostare il file da una directory ad un' altra.

Cambia la directory corrente in pgm  (ricordi come?).

Adesso cambiamo nome   (move) al file  schema  fcendolo diventare  myfile digitando

        dfisa2.ts.infn.it> mv schema myfile
Tsare il comando ls per verificare che il comando ha funzionato.

2.3 Cancellare files e directories

rm (remove), rmdir (remove directory)

Il comando   rm  cancella (rimuove) un file. Per esempio, per rimuovere il file science.txt nella directory  project.

Prima facciamo cd nella directory  project, poi diamo il comando 
        dfisa2.ts.infn.it> rm science.txt

Per cancellare le directories si usa il comando  rmdir  (purche' la directory sia vuota). Provare a cancellare la directory pgm.


2.4 Mostrare su schermo il contenuto dei files

clear (clear screen)

Prima di iniziare la prossima parte possiamo ripulire la finestra terminale  dal precedente input ed output.

Al prompt si da:

        dfisa2.ts.infn.it> clear
Che cancellera' tutto dallo schermo e posizionera' il cursore in alto a sinistra vicino al prompt.

cat (concatenate)

Il  comando  cat puo' essere usato per mostrare il contenuto di un file sullo schermo. Digitare:
        dfisa2.ts.infn.it> cat schema
ACome si puio' vedere, se il contenuto di un file e' piu' lungo di quello che puo' essere contenuto in una finestra  parte del file puo' non essere visibile sullo schermo.

more

Il comando  more scrive sullo schermpo il contenuito del file ad una pagina alla volta. Dare
        more schema
Prermere la barra di spazio se si vuol visualizzare un' altra pagina, dare  q se si vuol terminare il programma more e tornare al prompt.  more e' preferibile a cat per file lunghi.

head

Il  comando  head scrive sullo schermo le prime dieci righe di un file.

Dopo aver ripulito lo schermo col comando  clear dare

        dfisa2.ts.infn.it> head area.f
Provare poi con
        dfisa2.ts.infn.it> head -5 area.f
WQual'e' l' effetto dell' opzione   -5  sul comando?

tail

tail  invece scrive su schermo le ultime 10 linee di un file.

Ripulire lo schermo e dare:

        dfisa2.ts.infn.it> tail area.f
Come sipotrebbero vedere le ultime 15 linee di un file?

2.5 Ricercare nel contenuto di un file

Ricerca usando  more

Col comando  more si puo' cercare una parloa  (sequenza di caratteri) in un file. Per esempio, per cercare  la parola algoritmo nel file  area.pseudoprog (che puo' essere copiato dalla directory  /home/pastore/doc  ) dare:
        dfisa2.ts.infn.it> more area.pseudoprog
e quindi
        / algoritmo
La prossima ricorrenza della parola puo' essere ottenuta digitando n

grep

grep e' uno dei comandi standard di UNIX. Ricerca  nei files parole o sequenze di caratteri. dopo aver pulito lo schermo dare:
        dfisa2.ts.infn.it> grep algoritmo area.pseudoprog
grep  scrive ogni linea che contiene la parola algoritmo.

O no??

Prova con

        dfisa2.ts.infn.it> grep ALGORITMO area.pseudoprog
Il comando grep e' "case sensitive";  cioe' distingue maiuscole e minuscole: ALGORITMO e algoritmo.  sono due parole diverse.

Per ignorare la distizione tra maiuscole e minuscole  si puo' usare il modificatore -i

        dfisa2.ts.infn.it> grep -i algoritmo area.pseudoprog
Per ricercare una frase o una sequenza che contiene spazi occorre racchiuderla tra apici. Per esempio per cercare "per cui" si digita:
        dfisa2.ts.infn.it> grep -i 'per cui' area.pseudoprog
Altri modificatori di grep sono:
 
-v      mostra le linee che NON contengono
-n      premette il numero di riga davanti ad ogni riga che riporta 
-c      riporta solo il conteggio delle linee che contengono la sequenza
Far la prova e confrontare i risultati. Ricorda che si puo' usare piu' di un modificatore alla volta. Per esempio,   grep -ivc
Un esercizio piu' complicato e' cercare la frase "calcolo dell' area"

wc (word count)

Il comando wc puo' risultare utile in piu' di un' occasione. Conta  i caratteri, le parole e le righe in un file.
Per contare le righe nel file area.f:
        dfisa2.ts.infn.it> wc -w area.f
Per trovare quante linee ci sono nel file:
        dfisa2.ts.infn.it> wc -l area.f

Riassunto

 
   cp file1 file2            copia file1 in file2 
   mv file1 file2            muove (cambia nome)   file1 in file2 
   rm file                   cancella un file 
   rmdir directory           cancella una directory 
   cat file                  mostra un file 
   more file                 mostra un file una pagina alla volta  
   head file                 mstra le prime  linee di un  file 
   tail file                 mostra le ultime linee di un file
   grep 'keyword' file       cerca le ricorrenze di keyword nel file 'file' 
   wc file                   conta il numero di linee/parole/caratteri in file

Adattato da "UNIX Tutorial for Beginners" di M.Stonebank@surrey.ac.uk (URL: http://www.ee.surrey.ac.uk/Teaching/Unix/ )
Torna all' indice