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.

60 CAPITOLO 2. LA SHELL E I COMANDIdella shell. Una delle caratteristiche peculiari di bash è quella di essere in grado di vedereimmediatamente i nuovi programmi non appena si ridefinisce il valore di PATH, mentre con altreshell (ad esempio la csh) può essere necessario utilizzare un comando apposito come rehash.Come complemento alla gestione del path search la shell fornisce il comando interno whichche, dato il nome di un programma presente nel path search, ne stampa a video il pathnameassoluto, ad esempio potremo ottenere il pathname del comando ls con:piccardi@monk:~/Truelite$ which ls/bin/lsin questo modo è possibile anche capire quale sia effettivamente il programma che viene usatoqualora ne esistano più versioni in alcune delle directory contenute all’interno di PATH. 20 Se nonviene trovato nessun programma corrispondente non sarà stampato nulla.Si tenga presente però che which funziona controllando se il nome passato come argomentocompare nella lista dei programmi contenuti nelle directory elencate in PATH, se si indica il nomedi un comando interno della shell questo non viene considerato, per questo se si vuole capire sesi sta usando un comando interno o un programma, 21 si può usare un altro comando interno,type, ottenendo qualcosa del tipo:piccardi@monk:~/Truelite$ type exportexport is a shell builtinUn’ulteriore funzionalità che la shell mette a disposizione è quella degli alias: prima ancoradi cercare se il nome di un comando corrisponde ad un programma presente in una delle directoryindicate in PATH, la shell controlla se esso corrisponde ad un alias; ci permette così di ideare nuovicomandi, definire abbreviazioni per quelli più usati, o ridefinire lo stesso nome di un comando perfarlo comportare in maniera diversa. Un alias si crea con il comando interno alias associandoun nome ad un altro comando (che può a sua volta essere stato definito in un altro alias) conuna sintassi del tipo:alias ll=’ls --color=auto-l’ma si può anche definire una abbreviazione con:alias l=’ls -l’o ridefinire un comando esistente con:alias rm=’rm -i’In questo modo nel primo caso si definisce una versione colorata e “prolissa” di ls, nel secondouna abbreviazione per l’uso di ls -l e nel terzo si ridefinisce rm in modo che di defaultsia richiesta conferma nella cancellazione dei file. Per cancellare un alias si può usare il comandounalias seguito dal nome dello stesso. Qualora invece si esegua il comando alias senzaspecificare nulla questo mostrerà la lista degli alias già definiti.Un’altra funzionalità di grande utilità fornita della shell è il cosiddetto filename globbing, sipuò cioè operare su insiemi di file con nomi simili passando ai comandi che dovranno operare sudi essi degli argomenti che li indicano in gruppo tramite i cosiddetti caratteri jolly (in inglesewildcard). Se cioè all’interno di una riga di comando si usa come argomento un nome che contieneuno di questi caratteri jolly, la shell nell’eseguirne la scansione verificherà quali file ci sono nella20 la regola è che viene usato sempre il primo programma che viene trovato nella scansione delle directory delpath search; questa avviene da sinistra a destra nell’ordine in cui le directory sono elencate all’interno di PATH.21 o un alias.

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

Saved successfully!

Ooh no, something went wrong!