Home Page

Tips page
c
cellulari
debian
egittologia
emacs
emacs-latex
hardware
html
inglese
java
latex
linux

*Alcuni comandi utili utilizzando find
*ARP e MAC address
*Ascoltare un CD audio
*Attivare il NumLock (BlocNum)
*Attivare i tasti i tasti Magic SysRq
*AWK, use an environment variable inside a script
*Bash e Argument list too long
*BogoMIPS
*Cancellare file e non recuperare spazio
*Capacita` dell'hard disk
*Come cambiare i font delle applicazioni con librerie GTK
*Come cambiare l'hostname
*Come tentare di recuperare file, filesystem e partizioni
*Compilare in parallelo
*Condividere una partizione
*Configure proxy for shells
*Continuous disk access
*Controllare la salute di hard disk e filesystem
*Convertire ext2 in ext3 (e viceversa)
*Convertire un file di testo dalla codifica DOS a quella UNIX
*Cosa fare quando si perde la password di root
*Cosa significa l'errore ``TCP
*Creare un boot floppy
*Creare un file temporaneo
*Deframmentazione di un filesystem
*Delete last chars from a string
*Determinare lo spazio libero sul disco
*Eliminare il beep
*Emettere un beep da script
*Enable PPP connection on boot
*Exclude a directory with rsync
*Execute telnet from a script
*Gestione dei file di log
*Gestione dei file .iso
*Gestione della data/ora
*Gestione di utenti e gruppi
*Hash md5 di una stringa
*Identificare la distribuzione installata
*I file ps e pdf
*Il file /etc/fstab
*Il file /etc/issue[.net] e /etc/motd
*Il filesystem SysFs
*I link soft ed hard
*Il path delle applicazioni
*Il sistema tutto in maiuscolo
*I moduli del kernel
*Impostare piu` IP per una scheda di rete
*Introduzione a LVM
*Inviare messaggi agli altri utenti
*I permessi della directory root, /
*La gerarchia del filesystem di Linux
*La memoria Ram sotto Linux
*La memoria swap
*Limitare la possibilita` di diventare root
*Limitazioni alla dimensione del file
*Log dei login utente
*Modificare il comportamento di ctrl+alt+canc
*Modificare le variabili della parent shell
*Montare o rimontare un filesystem come read-only
*More columns in a shell output
*Negare il login durante la manutenzione del sistema
*NoHUP
*Obtain the exact process start time
*Ottenere uno snapshot dello schermo
*Partizionamento di un sistema Linux
*Perche' si usa ./ per avviare alcuni eseguibili
*Permanent PPP connection
*PID of a process
*Programmare l'esecuzione dei programmi
*Quale processo utilizza un certo file o porta
*Quali vantaggi si hanno dalla ricompilazione
*Remove from find results
*Ricreare velocemente /tmp al boot
*Ridirezione dell'output
*Rimappare la tastiera
*Ripristinare i caratteri sballati in console
*Riscrivere l'MBR
*Salvarsi da un ``rm'' di troppo...
*Save MBR
*Scrivere in modo sincrono su filesystem
*Scrivere nel log di sistema di Linux
*Separazione dei comandi nella shell
*Separazione delle parole nella shell
*Share the internet connection
*Shell configuration files
*Single quote character escape with sed
*Spostare una directory in un'altra partizione
*Stimare il carico di lavoro della macchina
*Undelete di un file
*Usare le pendrive USB sotto Linux
*Usare partizioni primarie o estese
*Use md5sum to verify saved files
*Use ssh and scp without password
*Utilizzare hdparm per controllare gli hard disk
*Verificare un file video
*What is a zombie process
*What is the file System.map?
*What is the shebang? (Shell scripts)
*What shared libraries a program uses
*Yesterday date

matlab
misc
mysql
network
octave
programming
python
security
sed
tech
webapps
windows

University Page

Programming

Debian & Linux

Some works

About me

Del.icio.us Bookmarks

BOINC Combined Statistics

Site Statistics

Contact me sending an e-mail (antispam defense activated)

debian

hacker emblem

blogger

GeoURL

View Sandro Tosi's profile on LinkedIn

This is my Google PageRank

Title: La gerarchia del filesystem di Linux
Author: Sandro Tosi
Last modified: 2004-11-01 (2004-10-31)

Linux ha una struttura del filesystem a singolo albero: tutti i device
(e quindi anche i dischi rigidi) discendono da un'unica radice, `/', e
l'accesso  ad essi  lo  si  ha con  l'operazione  di montaggio,  cioe`
l'associazione tra una directory (mount  point) ed il device stesso. A
questo punto, l'accesso al  disco avverra` accedendo alla directory di
mountpoint  scelta,  mascherando ed  unificando  la  presenza di  piu`
dischi in un unico albero.

L'utilizzo di questa struttura unificata e` dovuto al luogo di nascita
dei sistemi  Unix (da cui deriva  Linux): gli ambienti  di ricerca. In
questi posti era facile trovare molti dischi, alcuni anche disponibili
via rete, per  cui gli sviluppatori Unix hanno  voluto integrare tutti
questi dispositivi di storage in modo semplice e logico. E` nato cosi`
il filesystem ``unificato''.

Al contrario, nel mondo dei personal computer, si aveva a che fare con
floppy  disk non  hard disk,  e nessun  supporto di  rete.  Il sistema
operativo era il DOS e si preoccupava maggiormente del numero di drive
disponibili  piuttosto che di  unificare la  vista di  questi. Abbiamo
cosi` che nel mondo Microsoft esiste un albero per ogni device fisico,
solitamente  indicato da  una lettera  seguita da  due  punti: ``A:'',
``B:'', ``C:'', etc.

Nella  struttura  del  filesystem  Linux, alcune  directory  hanno  un
significato ed un contenuto particolare.

Vediamo brevemente il significato  delle piu` importanti directory che
su ogni sistema Linux  possiamo trovare (e` possibile ottenere diverse
informazioni  da  ``man hier'';  Ma  il  documento  di riferimento  e`
sicuramente   ``The   Filesystem   Hierarchy  Standard''   disponibile
all'indirizzo http://www.pathname.com/fhs/):


/

   Il  punto   di  origine  di   tutto  il  filesystem   Linux.   Ogni
   sottodirectory e` un ramo dell'albero  del filesystem e ``/'' ne e`
   la radice.

/bin

   Contiene  i  comandi  essenziali  all'utilizzo  del  sistema,  come
   ``ls''. /bin e`  un'abbreviazione per ``binary executables'', cioe`
   eseguibili binari. Questa directory  e` contenuta nel path di tutti
   gli utenti, in quanto gli eseguibili contenuti sono quelli di base.

/boot

   Contiene tutti i file necessari al  boot di un sistema Linux, e tra
   questi anche i kernel.

/cdrom

   Mountpoint per il device del cd rom.

/dev

   Contiene i  device file, file  speciali che permettono  di accedere
   direttamente ai driver per gestire le periferiche.

/etc

   Contiene i file di  configurazione globali del sistema; inolte sono
   presenti  i  file  di  inizializzazione,  utilizzati  al  boot  per
   decidere quali processi eseguire.

/floppy

   Mountpoint per il device del floppy disk.

/home

   Contiene   le   home  directories   per   tutti   gli  utenti   del
   sistema. Solitamente un utente normale ha accesso solo alla propria
   home  directory,  /home/<username>, che  viene  anche indicata  dal
   carattere speciale ~.

/lib

   Contiene   le   librerie   necessarie   ad  altri   programmi   per
   funzionare.  Esse  contengono  parti  di  codice  comune  e  dunque
   condivisibile tra piu` eseguibili.

/lib/modules

   Contiene i  moduli dei kernel installati, divisi  per directory con
   nome uguale alla versione del kernel: /lib/modules/`uname -r` e` la
   directory che contiene i moduli del kernel attualmente caricato.

/lost+found

   In caso di  crash e successivo riavvio, i  filesystem devono essere
   controllati contro  eventuali errori. fsck,  nel caso non  riesca a
   risolvere un'incongruenza, scrive dentro questa directory (presente
   anche in  tutte le altre  partizioni che contengono  un filesystem)
   una directory che  ha come nome l'inode preceduto  da ``#'', al cui
   interno  si trovano le  parti di  file che  non e`  stato possibile
   recuperare.

/mnt

   Contiene  i mount  point per  filesystem esterni.  Viene utilizzata
   come  contenitore per altre  sottodirectory che  saranno mountpoint
   per i device da montare.  Alcune distribuzioni mettono qui il mount
   point per cdrom e floppy.

/opt

   Sta per  ``optional'' ed e` principalmente un  retaggio dei sistemi
   Unix,  in cui  venivano installati  i programmi  non  contenuti nel
   sistema  operativo.   Con  le  distribuzioni   attuali,  non  viene
   praticamente utilizzata e viene mantenuta per compatibilita`.

/proc

   Mountpoint per il filesystem  virtuale procfs, che consente accesso
   diretto  alle strutture  del kernel,  mostrando  informazioni molto
   dettagliate  sullo  stato  del  sistema.  Oltre a  leggere  i  file
   contenuti,  alcuni possono  essere anche  modificati:  attenzione a
   quello che si modifica!

/root

   La home directory dell'utente root, l'amministratore del sistema.

/sbin

   Contiene  file binari  essenziali al  funzionamento del  sistema, e
   senza i  quali il  processo di boot  fallirebbe. Sono  programmi di
   amministrazione del  sistema e soltanto root  dovrebbe avere questa
   directory  nel  proprio path:  /sbin  sta  infatti per  ``superuser
   binary execuables''

/sys

   Mountpoint  per  il filesystem  virtuale  sysfs  introdotto con  il
   kernel 2.6,  che separa le informazioni sul  sistema (ora contenute
   qui)  e  quelle  sui  processi  (rimaste in  /proc,  com'era  nelle
   intenzioni originali).

/tmp

   E` il posto dove il sistema ed i programmi possono memorizzare file
   temporanei; non si  puo` fare affidamento che i  file in /tmp siano
   preservati tra un'esecuzione del programma e l'altra.

   Il contenuto viene solitamente cancellato ad ogni reboot.

/usr

   Directory  che al  suo  interno contiene  altre sottodirectory  per
   diversi scopi, tutte relative agli utenti.

/usr/bin

   Programmi relativi o utilizzati da utenti.

/usr/doc

   Contiene la documentazione sul software installato.

/usr/local

   Contiene  i programmi  locali al  proprio sistema,  solitamente non
   contenuti nella propria  distribuzione. In caso di reinstallazione,
   basta eseguire una copia di backup di questa directory e restorarla
   e tutti i programmi aggiuntivi saranno nuovamente disponibili.

/usr/src/linux

   Directory  che  tradizionalmente  contiene  i sorgenti  del  kernel
   Linux.

/var

   Contiene i file che possono  cambiare molto di frequente (da qui il
   nome).

/var/log

   Contiene i  file di log  del kernel, dei  demoni ed in  generale di
   quei programmi che necessitano  di effettuare dei log. Contengono i
   messaggi delle  applicazioni, e  consentono di verificare  lo stato
   del sistema.

/var/run

   Contiene i PID di alcuni processi in esecuzione.

/var/spool

   Contiene lo spool di stampa, o delle mail.

/var/tmp

   Questa directory e` resa  disponibile per programmi che necessitano
   di file temporanei ma che siano preservati tra reboot.

   Il   contenuto    viene   cancellato   periodicamente,    ma   meno
   frequentemente di /tmp.


Come  detto,   questo  elenco  non   vuol  essere  ne`   completo  ne`
esaustivo. Per  dettagli molto piu` precisi, si  faccia riferimento al
``The Filesystem Hierarchy Standard'' gia` citato.