11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.1. L’INTERFACCIA A LINEA DI COMANDO. 53estensioni), editing di linea, costrutti di programmazione complessi e molto altro(praticamente di tutto, si vocifera sia anche in grado di fare il caffè).– La Korn Shell La Korn shell (dal nome dell’autore) è stata la prima ad introdurrela history (l’accesso ai comandi precedenti) e l’editing della linea di comando. Hail grosso difetto che gran parte delle funzionalità avanzate non vengono attivate didefault, per cui occorre un ulteriore lavoro di configurazione per utilizzarla al meglio.Viene utilizzata con il comando ksh. Non viene usata su <strong>GNU</strong>/<strong>Linux</strong> dato che bashne ha tutte le caratteristiche; è però utile conoscerne l’esistenza dato che è faciletrovarla su altri Unix.– La ash. Una shell minimale, realizzata in poche decine di kilobye di codice sorgente.Viene utilizzata con il comando ash. Ha molti comandi integrati, occupa poca RAMe poco spazio disco, ed ha poche funzioni (ma è conforme allo standard POSIX.2).Viene usata spesso nei dischetti di installazione o recupero, può essere utile per sistemidove si fa un grosso uso di script perché è più veloce di bash.– La Z shell. Un’altra shell avanzata. Viene utilizzata con il comando zsh. Offrepraticamente le stesse funzioni della Korn shell, ed altre funzionalità avanzate, comeil completamento di comandi, file e argomenti, che però trovate anche nella bash.• C shell e derivate.– La C shell. Utilizza una sintassi analoga a quella del linguaggio C. Viene utilizzatacon il comando csh. In <strong>GNU</strong>/<strong>Linux</strong> non è disponibile essendo sostituita da tcsh.– La tcsh. È una evoluzione della C shell, alla quale aggiunge history e editing di lineae varie funzionalità avanzate. Viene utilizzata con il comando tcsh. Si trova su variUnix proprietari, ma è poco diffusa su <strong>GNU</strong>/<strong>Linux</strong>, pur essendo disponibile.Dato che è il principale strumento di lavoro di un amministratore professionista, la sceltadella shell è spesso una questione strettamente personale. Qui parleremo però solo di bash,che è la shell utilizzata in praticamente tutte le distribuzioni di <strong>GNU</strong>/<strong>Linux</strong>, e probabilmenteè anche la più potente e flessibile fra quelle disponibili. L’unico motivo per volerne usare unaltra infatti è solo perché siete maggiormente pratici con quella, nel qual caso probabilmentenon avete bisogno di leggere questo capitolo.Il riferimento più immediato per il funzionamento della bash è la sua pagina di manuale,accessibile al solito con man bash. Probabilmente questa è la più lunga fra tutte le pagine dimanuale. 3 Per questo in seguito faremo riferimento, quando necessario, alle varie sezioni in cuiessa è divisa. Per le funzionalità più avanzate esiste anche un ottimo manuale libero [2], tradottopure in italiano.2.1.3 Introduzione alla sintassi della riga di comandoCome accennato lo scopo della shell è quello di implementare l’interfaccia a riga di comando,cioè mettere a disposizione dell’utente un meccanismo con cui questi possa essere in grado dimettere in esecuzione i vari programmi che vuole utilizzare. Pertanto il compito principale dellashell è quello di leggere una riga di comando dalla tastiera, riconoscere qual è il programma chevolete mettere in esecuzione, ricostruire i vari argomenti da passare al programma stesso, e poieseguirlo. La forma generica di un qualunque comando è nella forma:comando-o ption argomento1 --altra-opzione argomento2 --riopzione=valore3 sul mio sistema conta la bellezza di 5266 righe, ed in effetti più che una pagina è un manuale!

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

Saved successfully!

Ooh no, something went wrong!