next up previous contents index
Next: Come cavarsela da soli Up: La shell di Unix Previous: La shell di Unix

Comandi di Unix

Quando vi loggate la prima volta in un sistema Unix, vi si presenta qualcosa del genere:


screen535

Si chiama prompt.  Come può suggerire il nome, vi chiede di inserire un comando. Ogni comando Unix è una sequenza di lettere, numeri e caratteri, senza spazi. Alcuni comandi Unix validi sono mail, cat e CMU_is_Number-5. Alcuni caratteri non sono permessi--verranno elencati più avanti. Unix\ è anche case-sensitive (sensibile al maiuscolo/minuscolo); cioè cat e Cat sono comandi diversi. gif

Il prompt viene visualizzato da un programma speciale, la shell . La shell accetta comandi e li esegue. Ci sono anche programmi scritti in un linguaggio proprio della shell, e sono chiamati ``shell script''  .

In Unix ci sono due tipi principali di shell, le Bourne shell e le C shell. Le Bourne shell prendono il nome dal loro inventore, Steven Bourne.  Steven Bourne ha scritto la shell Unix originale, sh , e da allora la maggior parte delle shell hanno nomi che finiscono in sh per indicare che sono estensioni dell'idea originale. Ci sono molte implementazioni della sua shell, e si chiamano tutte Bourne shell. È comune anche un'altra classe di shell, la C shell (originariamente implementata da Bill Joy ). Tradizionalmente, le Bourne shell vengono usate per gli script di shell e per compatibilità con l'originale, e le C shell sono usate per l'uso interattivo. (Le C shell hanno il vantaggio di avere caratteristiche di interattività migliori, ma sono più difficili da programmare).

viene fornito con una Bourne shell chiamata bash , scritta dalla Free Software Foundation . bash sta per Bourne Again Shell, uno dei tanti brutti giochi di parole in Unix. È una Bourne shell ``avanzata'': contiene le caratteristiche standard di programmazione normalmente presenti nelle Bourne shell, insieme con molte caratteristiche di interattività normalmente presenti nelle C shell. bash è la shell di default che viene usata con .

Quando vi loggate, il prompt viene mostrato da bash, e state eseguendo il vostro primo programma Unix, la bash shell. Finché sarete loggati, la bash shell continuerà a girare.

Un tipico comando Unix

Il primo comando da conoscere è cat . Per usarlo, digitate cat e premete tex2html_wrap4507:


screen572

Se il cursore si trova da solo in una nuova linea, avete fatto tutto giusto. Ci sono diverse varianti che avreste potuto scrivere--alcune funzionano, altre no.

Presumo che adesso siate in cat. Probabilmente vi state chiedendo che cosa fa. No, non è un gioco. cat è un potente strumento anche se per il momento non sembra. Scrivete qualcosa e premete tex2html_wrap4507. Quello che dovreste vedere è:


tscreen587

(Il testo obliquo indica quello che ha scritto l'utente.) Quello che sembra fare cat è copiare sullo schermo quello che l'utente scrive. A volte è utile, ma non ora. Usciamo da questo programma e passiamo ad altri comandi che abbiano un'utilità più evidente.

Per chiudere molti comandi Unix, digitate tex2html_wrap4527gif. tex2html_wrap4527 è il carattere di fine-file (End-Of-File), o EOF per abbreviare  . In alternativa, sta per fine-del-testo, a seconda di quale libro avete letto. Mi riferirò ad esso come fine-file. È un carattere di controllo che comunica ai programmi Unix che voi (o un altro programma) avete finito di inserire dati. Quando cat vede che non state scrivendo niente altro, termina.

Per avere un'idea, provate il programma sort . Come indica il nome, è un programma di ordinamento. Se inserite un paio di linee e poi premete tex2html_wrap4527, le visualizzerà in ordine alfabetico. Questo tipo di programmi sono chiamati filtrifilter, perché prendono un testo, lo filtrano e lo mandano fuori in modo diverso. Sia cat che sort sono filtri particolari. cat è particolare perché legge il testo per linee e non fa nessuna azione su di esso. sort è particolare perché legge per linee e non rende nessun output finché non ha visto il carattere EOF. Molti filtri agiscono linea per linea: leggono una linea, fanno dei calcoli, e rendono come output una linea diversa.


next up previous contents index
Next: Come cavarsela da soli Up: La shell di Unix Previous: La shell di Unix


Fri Sep 19 00:41:53 CEST 1997