11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.1. L’INTERFACCIA A LINEA DI COMANDO. 55parametro, il relativo valore deve essere assegnato con l’uso di un “=” (torneremo su questo insez. 2.2.1).Così se per esempio scrivete sul vostro terminale una riga di comando contenente un qualcosadel tipo:piccardi@anarres:~$ rm -f pippo pluto paperinola shell capirà che volete invocare il comando rm ed individuerà il file che contiene il relativo programmasu disco e lo lancerà passandogli l’intera riga, spezzata nelle cinque stringhe delimitatedagli spazi. La prima stringa contiene il nome del programma e di norma viene ignorata, 8 le restantiinvece verranno analizzate dal programma; così -f verrà identificata come opzione mentre,non necessitando questa di nessun parametro, pippo, pluto e paperino verranno consideraticome argomenti, che nel caso indicano i file da cancellare.Si tenga conto poi che benché la filosofia di Unix sia quella di utilizzare un apposito comandoper effettuare ciascun compito specifico, e che il caso più comune sia quello appena illustrato incui la shell interpreta la riga di comando per lanciare il programma che le avete chiesto, esistonoalcune funzionalità che essa vi fornisce direttamente tramite alcuni comandi interni (detti anchebuilt-in); in questo caso la shell si accorgerà che non è necessario eseguire nessun programmaa parte ed opererà direttamente sulla base di quanto dite sulla linea di comando. Di norma icomandi interni sono quelli che servono a eseguire impostazioni relative al funzionamento stessodella shell, o a impostare proprietà generali che essa deve trasmettere ai programmi che essalancia.Un esempio classico di questi comandi interni è cd; questo comando, che serve a modificarela directory di lavoro corrente della shell, non può essere eseguito con un programma esterno,dato che nell’esecuzione quest’ultimo potrebbe solo cambiare la directory di lavoro corrente persé stesso, ma non quella della shell. Alcuni di questi comandi interni, ad esempio quelli relativial controllo di sessione, li abbiamo già incontrati in sez. 1.3.4, altri li vedremo più avanti.Infine occorre sottolineare che quanto appena detto illustra solo il caso più elementare dellasintassi usata dalla shell, quello in cui volete lanciare un comando scrivendo direttamente quest’ultimocon le relative opzioni ed argomenti. Vedremo nel corso delle successive sezioni, in cuiintrodurremo le altre funzionalità della shell, come in realtà sulla linea di comando si possanoeffettuare anche altre operazioni, e come il suo utilizzo possa essere modificato attraverso l’usodi opportuni caratteri di controllo.2.1.4 Funzionalità interne della shellOltre a quello generico di lanciare programmi, già l’esempio precedente con rm ci mostra comela shell esegua di per sé anche molti altri compiti. Il primo che prenderemo in esame è quellodella visualizzazione del prompt, cioè di quella scritta che compare sulla sinistra della linea dicomando, a fianco della quale, quando non avete scritto nulla, lampeggia il cursore e che servead avvisarvi che la shell è in attesa di ricevere dei comandi da eseguire.Nel caso della bash il prompt è completamente personalizzabile, e può contenere diverseinformazioni. Quello che viene stampato come prompt è stabilito da una variabile di shell PS1, 9(tratteremo delle variabili di shell poco più avanti) nel cui contenuto, oltre ai normali caratteri chesaranno stampati inalterati, si possono inserire una serie di caratteri di controllo (i principali deiquali sono riportati in tab. 2.1) che verranno automaticamente espansi in un determinato valore8 alcuni programmi invece usano questa stringa per modificare il loro comportamento, ad esempio gzip, uncompressore di file, può essere invocato anche come gunzip (in genere entrambi i comandi sono presenti comehard link allo stesso file eseguibile) nel qual caso decomprimerà invece di comprimere.9 in realtà in tutto le variabili che controllano l’aspetto del prompt sono 4, ed oltre PS1 ci sono anche PS2, PS3e PS4; dettagliare il loro scopo va oltre le possibilità di questa introduzione, ma la loro descrizione si trova nellapagina di manuale, nella sezione Shell Variables.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!