AMMINISTRAZIONE DEL SISTEMA
Linux | Directory_Principali | Accesso | Comandi | Directory
Se è attivo il "daemon" (demone,servizio) "gpm" sarà possibile effettuare operazioni di "cut & paste" di testo tra le varie control virtuali. Premere il tasto sinistro del mouse e tracinarlo per selezionare il testo da copiare, quindi posizionarsi sul punto "x" e premere il tasto destro per incollare il testo.
Help
Ci sono molti modi per ricevere aiuto circa un determinato comando.
nome_comando -h
nome_comando --help
help
help nome_comando
dhelp cerca all'interno della documentazione Debian
dhelp cerca nella documentazione RedHat
man nome_comando visualizza la pagine di manuale
man –k print nome fornisce l’elenco dei documenti nel manuale che contengono una parola chiave
nomecomando –help altro modo per avere informazioni
info nomecomando Si accede al manuale completo in linea
apropos nome_comando cerca un determinato argomento
whatis nome_comando ricerca nel manuale della guida per una parola
Struttura generale di un comando:
Le parole chiave dei comandi sono scritte in minuscolo
Esempi di comandi che si usano senza opzioni:
who visualizza i nomi degli utenti collegati al sistema
pwd visualizza il nome della directory corrente
date visualizza la data e l’ora
Esempi di comandi che richiedono un argomento:
banner nome scrive la stinga nome in caratteri grandi
I comandi della shell possono essere eseguiti in successione con una sola riga di comandi separandoli con un punto e virgola
Esempio
Who; date
Comandi principali
la piattaforma windows automaticamente monta tutte le unità(floppy, hard-disk, cd-rom) usando le lettere dell'alfabeto c:, d:, ecc. In Linux il disco principale contenente il 'ROOT FileSystem' viene montato sotto la root directory, cioe '/'. Gli altri file system, come cdrom e connessioni di rete possono essere "montati" in qualsiasi parte dello stesso, anche se lo standard dice che dovrebbero stare in una sottocartella del percorso "/mnt".
Guardando sotto "/" noterete una serie di cartelle di difficile interpretazione. Le directory di primo livello /bin, /sbin, /root contengono i programmi necessari all' avvio del sistema in modalita singola utente (solo amministratore). Le directory di secondo livello /usr/bin, /usr/sbin contengono tutti i programmi che possono essere eseguiti dagli utenti dalla macchina e non solo dall'amministratore. Gli utenti hanno una loro cartella personale sotto il percorso /home dove possono fare tutto quello che vogliono. Infatti l'utente "pluto" può compilare ed usare una sua versione dei programmi in /home/pluto/bin da /home/pluto/src. Infine /usr/local/ è usata per preparare software da usare localmente.
Gestione dei file e delle Directory
Questi sono alcuni dei comandi per la gestione delle directory:
ls - elenca i file contenuti in una directory, cio?DIR
cd - come in DOS serve a cambiare la directory corrente
md - crea una sottodirectory, come MKDIR in DOS
rd - rimuove una sottodirectory, come RMDIR in DOS
cp - copia file o sottodirectory, come COPY in DOS
mv - muove o rinomina una sottodirectory, come MOVE in DOS
rm - rimuove file o sottodirectory, come DEL in DOS
pwd - restituisce il nome della directory corrente
du - d?indicazione sullo spazio usato dai file
df - d?indicazione sullo spazio libero sui dischi
Ecco alcune delle wildcard usate nei comandi Linux che manipolano files o directory:
";" Permette di inserire pi?comandi in successione sulla stessa riga. Esempiople: ls /bin ; ls /sbin ; ls /tmp
"&" Esegue un comando in background. Esempio: httpd &
"|" pipe
"#" commento
"\" indica alla shell che il comando che si sta scrivendo continua alla riga successiva.
"$" indica una variabile di sistema. Esempio: $PATH=/bin:/sbin
"?" wildcard (un carattere qualsiasi ma solo in quella posizione) Esempio: /bin/c?t
"*" wildcard (qualsiasi carattere tranne i file nascosti) Esempi: "ls gcc*" o "ls *.rpm" o "ls lib*.so.*"
".*" wildcard (come '*' ma include anche i file nascosti)
"[]" wildcard (solo i caratteri specificati ed in quella posizione) Esempio: "ls [Cc]at", cerca per i files "Cat" e "cat"
Il comando "
ls" ha la seguente sintassi: ls [opzioni][path_name]
Le opzioni principali sono:
"-a" elenca tutti i file includendo sottodirectory e file nascosti
"-d" mostra solo le directory
"-k" mostra le dimensioni in kilobyte
"-l" visualizza informazioni addizionali come le permission, le dimensioni e le date
"-o" utilizza colori diversi per i file e le directory
"-R" recurse subdirectory, come DIR /S in DOS
"-S" ordina i file secondo le dimensioni
"-t" ordina i file secondo la data di modifica
"-X" ordina i file per estensione Se il risultato del comando "ls" supera le dimensioni dello schermo, ?possibile usare la sintassi (equivalente a DIR /P in DOS):" ls | more " per visualizzare il risultato una pagina alla volta.
Il comando
cd funziona come in DOS, tranne che in Linux si hanno due possibilità di utilizzo:
"cd -" Annulla l'ultimo comando "cd" ritornando alla precedente directory
"cd ~" Posiziona la shell nella home directory dell'utente attuale.
Completamento automatico del Path
Il comando
md è usato per creare directory.
Il comando
rd , invece, rimuove una directory che deve essere gi?stata svuotata da tutti i file.
Il comando
du visualizza lo spazio usato dalla directory, non quanto spazio è libero.
La sintassi è : du [-a] [-s] [-m]
"-a" visualizza l'uso dello spazio per tutti i file del percorso specificato
"-s" visualizza l'uso dello spazio totale solo per il percorso specificato
"-m" visualizza le informazioni in Megabytes
Il comando
df visualizza lo spazio libero sui dischi del sistema.
Esempio: df -h
Permessi Utente
Lanciando il comando "
ls -al" visualizza le directory ed i file in un formato esteso
Ecco come appare:
>drwxr-xr-x 2 dosuser dos 256 Apr 28 15:40 ./
drwxr-xr-x 15 dosuser dos 928 Apr 28 14:50 ../
-rw-r--r-- 1 dosuser dos 20 Apr 28 16:05 .bash_history
-rw-r--r-- 1 dosuser dos 6993 Oct 5 16:01 _bhist
-rw-r--r-- 1 dosuser dos 1150 Apr 28 15:55 _blogin
-rw-r--r-- 1 dosuser dos 40 Dec 30 1996 _blogout
-rw-r--r-- 1 dosuser dos 1131 Dec 31 1996 _inputrc
-rwxr-xr-x 1 dosuser dos 220 Nov 8 1996 man2txt.sh*
Il primo campo sono le permission. Sono nella forma: 'drwxrwxrwx', quando uno di questi flag non è presente èindicato con '-'. Il flag 'r' indica che il file è leggibile. 'w' che è scrivibile ed 'x' che è eseguibile.
Il primo flag 'd' indica se il file è una directory. Diversamente '-' indica un file normale mentre 'l' signiifca che il file è un link ad un'altro file.
La prima serie di 'rwx' sono riferite alle permissione che ha l'owner' (il padrone) del file che è il nome indicato nella terza colonna (dosuser).
La seconda serie di 'rwx' sono le permission che ha il gruppo sul file. Il gruppo è indicato alla 4a colonna (dos).
La terza serie di 'rwx' sono le permission che hanno tutti gli altri utenti su quel file.
Un utente che crea un file con permission '-rw-------', sarà l'unico ad avere accesso a quel file.
E' da notare che le permission per la directory '
./' corrispondo alle permission che ha la directory corrente.
Ricordatevi anche che i file nascosti sono quelli che iniziano con un punto, e che per essere visualizzati bisogna usare l'opzione -a con il comando "ls".
Le permission assegnate ad un file dipendono innanzitutto dalle permission della directory dove è situato il file. Un file pubblico ("-rwxrwxrwx") non pu?essere visto da tutti se le permission della directory sono "-rwx------".
Un utente per accedere ad i file di una directory deve avere i permessi di [ lettura (r) ed ] esecuzione (x) su di essa e di lettura (r) ed esecuzione (x) sul file.
Modificare gli attributi di un file
chmod
modifica gli attributi di un file per i permessi in lettura, scrittura ed esecuzione (r w x)
Il valore corrente dei permessi possono essere controllati con il comando ls –l
Il primo carattere a sinistra se è –(segno meno) indica un file ordinario, mentre il carattere d indica una directory.
I successivi 9 caratteri sono tre terne di permessi
La prima terna riguarda l’utente proprietario dei file
La seconda i membri del gruppo
La terza tutti gli altri utenti
Ci sono diverse forme per il comando chmod
chmod tipoutente opzione permesso pathname
dove tipo utente può essere uno dei caratteri:
u per user (il proprietario del file o della directory)
g per group
o per others
a per all
l’opzione può essere:
+ per aggiungere un permesso
- per togliere un permesso
= sostituisce i permessi esistenti con i nuovi
il permesso è indicato con le seguenti lettere
r (read)
w (write)
x (execute)
Esempi:
chmod u=rx *.rpg
Il comando consente all’utente proprietario di tuuti file con estensione rpg di leggere ed eseguire I file
chmod a+r arch1
Attribuisce a tutti il permesso di lettura il file arch1
chmod g-w arch2
Notazione ottale
Si usa una combinazione di tre terne di bit. 1 se è presente la lettera 0 se non è presente.
>Esempio:
rwx rw- r—
corrisponde a
110 100
764
esempio:
chmod 444 arch1
consente la sola lettura del file arch1
I COMANDI PER LA GESTIONE DELLE STAMPE
lpr
lpr arch1
Il sistema RPM
Alcuni dei primi sistemi Linux richiedevano all'utente di installare tutto il software tramite il sistema
tar, che era lento e di difficile gestione.
Tutti i prodotti software che sono stati installati durante la procedura di installazione del sistema sono memorizzati in formato RPM. Il sistema RPM svolge tre funzioni fondamentali: installare, aggiornare ed eliminare i pacchetti. Oltre a queste funzioni è anche in grado di scoprire tutti i tipi di informazioni sui pacchetti installati o su quelli ancora da installare.
INSTALLARE UN PACCHETTO RPM
mount -r -t iso9660 /dev/hdc mnt/cdrom rpm -ivh /mnt/cdrom/RedHat/RPMS/howto-html*
Il parametro
-i comunica a rpm di installare il pacchetto, il parametro v di essere verboso e il parametro h di creare un semplice indicatore di progresso. Al termine di questa procedura potete visualizzare i documenti con il vostro browser.
AGGIORNARE UN PACCHETTO RPM
Una versione più recente di un pacchetto Linux, potreste volere aggiornare i prodotti software esistenti. La funzione update ha proprio questo scopo. Per aggiornare, per esempio Samba immettete questo comando:
rpm -U samba*
ELIMINARE UN PACCHETTO RPM
Eliminare un pacchetto utilizzando la funzione
erase (-e):
rpm -e samba questo comando elimina il software Samba.
OTTENERE INFORMAZIONI SU UN PACCHETTO RPM
Dopo aver installato i documenti HOWTO-HTML si possono avere informazioni sui file e sul pacchetto utilizzando.
rpm -qi howto-html questo comando restituisce le informazioni sul pacchetto RPM e una breve descrizione delle sue funzioni.
L'opzione
-a è un'altra utile funzione di interrogazione che elenca tutti i pacchetti installati sul vostro sistema.
Elenca tutti i pacchetti installati:
rpm -qa
VERIFICARE I PACCHETTI RPM
Il sistema RPM è in grado di verificare le informazioni sui pacchetti installati e sui relativi file. Questo è uno strumento di amministrazione molto utile. Per esempio, sul file di configurazione di Samba, digitare:
>rpm -V samba il pacchetto RPM di Samba tiene una cheksum e confronta lo stato dei file installati in base ad essa.
Link Simbolici
Unix ha un tipo di file che non esiste in DOS: il link simbolico. In pratica si tratta di un puntatore ad un file o a una directory; semplicisticamente potremmo dire che un link simbolico è molto simile agli "shortcuts" di Windows.
Esempi di link simbolici sono
/dev/modem .
Per creare un link simbolico si usa:
ln -sf
Esempio: ln -s /usr/doc/g77/DOC g77manual.txt
Comandi per la gestione dei file
cp - COPY
rm - cancella un file, i.e. DEL
rm -R - con l'opzione -R funziona come il comando DOS "DELTREE"
mv - muove/rinomina un file
cat - visualizza un file, come TYPE
more - visualizza un file ma una pagina per volta
less - come "more"
Il comando di copia, cp ha la seguente sintassi :
cp [options] [source_file] [target_file]
Le opzioni più usate sono:
"
-i" chiede conferma prima di sovrascrivere un file
"
-r" copia anche le sottocartelle (ricorsivamente)
"
-a" si comporta allo stesso modo di XCOPY
"
-f" sovrascrive file gi?esistenti senza chiedere conferma
Il comando di rimozione, rm ha la seguente sintassi:
rm [options] [list of file to delete]
Utili opzioni sono:
"-i" chiede conferma prima di cancellare un file
"-r" rimuove un'intera directory
"-R" rimuove una directory e tutte le sottocartelle
Il comando mv ha la seguente sintassi :
mv [options] [old_file_or_dir_name] [[new_directory_name]/[new_file_name]]
Il comando cat semplicemente visualizza tutti i file elencati sulla linea di comando, ed è per questo usato per "concatenare" diversi file, ad esempio: cat pippo pluto paperino > topolinia
L'opzione "-n" di cat èusata per numerare le righe mentre vengono visualizzate.
"more" e "less" visualizzano una pagina per volta il file specificato sulla riga di comando oppure inviato tramite pipe.
Esempi: cat pippo | more equivalente di more pippo
Utili tasti da tenere in mente sono:
[INVIO] per avanzare di una riga
[SPAZIO] per avanzare di una pagina
[p] per tornare indietro di una pagina
[q] per uscire dal programma.
Eseguire programmi
Per eseguire un programma basta digitare il suo nome e premere INVIO. Se la directory dove è incluso il programma non èpresente all'interno del PATH di ricerca il programma non saràeseguito anche se si trova nella directory attuale. Per ovviare indicare il nome del percorso del programma oppure
./nome_programma se si trova nella directory attuale.
Concatenare Programmi
Su una stessa riga possono essere eseguiti pi?programmi, basta separarli con ";".
Esempio: ls /bin ; ls /root
Se una linea di comando ?troppo lunga per stare su una sola riga, si puo usare il carattere "\" per "andare a capo". Il sistema visualizzare il prompt "continue>" per indicare che è possibile continuare a digitare il comando precedente.
Se si vuole eseguire un programma solo se il programma precedente è terminato con successo basta separarli con i caratteri "&&".
Esempio: cp /etc/passwd /tmp/grabbed_passwd_file && cat /tmp/grabbed_passwd_file
Eseguire processi in background
Per eseguire un processo in background basta aggiungere il simbolo "&" alla fine della riga di comando.
Esempio: pppd &
La shell ritornera un codice del tipo:
[1] 123
che identifica il numero assegnato a tale "job" (cio?1 ) e il numero del PID (123) assegnato al processo.
Eseguire processi in background ?molto utile, si pu?formattare un disco, zippare molti files oppure lanciare una stampa molto grande allo stesso tempo, sempre avendo il prompt dei comandi a piena disposizione.
Fermare un processo
Basta premere CTRL + C
Monitorare i processi
Per vedere la lista dei processi utenti basta usare il comando ps
Per poter vedere TUTTI i processi del sistema si usa la sintassi: ps -ax
Jobs, Backgrounds and Foreground
I processi che girano in background sono chiamati job, forse per un antica eridit?del VMS.
Alcune cose utili da sapere:
Per sospendere un processo che gira in foreground: CTRL-Z
Per riavviare un processo sospeso, ma in background: bg
Per vedere la lista dei jobs attivi: jobs
Per portare un processo in foreground: fg
Killing is my bussiness ...
Alcuni processi non possono essere fermati con CTRL + C e vanno quindi "killati"(uccisi)
Per uccidere un processo si usa la sintassi: kill
Molto spesso se un processo non ne vuole sapere di "morire" si pu?mandargli direttamente altri tipi di segnale, la sequenza che di solito si usa ?:
kill -15
kill -9
Shutting Down the system
Reboot Veloce
Basta premere CTRL+ALT+CANC se si ?in modalita testo. Altrimenti uscire prima dall'X-Window con CTRL+ALT+BACKSPACE
La sintassi corrett?per fermare o riavviare il sistema :
shutdown [-h|-r] NOW
Con l'opzione "-h" si ferma il sistema, mentre con "-r" si effettua un reboot.
Uscita temporanea
Si puo lasciare accessa la macchina, Linux spegner?autoticamente il monitor e render?lo schermo nero. Per?dovrete uscire dai terminali nei quali siete entrati usando il comando "exit" oppure "logout".
Cambiare utente "al volo"
In ogni momento è possibile lavorare con un nuovo utente per mezzo del comando su
Per usarlo digitare: su nome_nuovo_utente
quando avete finito usate "exit" per ritornare all'utente precedente.