Home Telecomunicazioni Troubleshooting Networking Script Flash CSS Ticket Site Map

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.