Les systèmes de fichiers Unix.
UNIX gère les "i-nodes" ("data structure") dans une table qui contient des informations telles que :
Sous UNIX et LINUX on trouve des partitions, ex. : boot, var, tmp, home qui permettent d'organiser le système de fichiers.
Au départ EXT2 sous UNIX, aujourd'hui EXT3 par défaut correspond à EXT2 plus le journal, qui a l'avantage de consigner tout ce que fait le système, et qui en cas de crash lui permet de démarrer plus rapidement sans erreurs.
Les deux formats sont compatibles.
Il existe toutes sortes de systèmes de fichiers.
mount.
Cette commande indique tous les systèmes de fichiers qui sont montés.
On l'utilise pour accéder à une partition (en root pour accéder au CD-ROM ou au lecteur disquette).
Exemple : pour brancher une clé USB il faut la monter.
On édite le fichier log par la commande tail -f /var/log/messages afin de savoir sur quel système de fichiers se trouve la clé.
Puis on utilise mount pour accéder au contenu de la clé.
Exemple : 
 # mount /dev/sdc1 /mnt # le répertoire de son choix
Il est possible de préciser le système de fichier s'il ne le détecte pas
Syntaxe :
 # mount -t "système de fichiers" "périphériques" "point de montage"
Exemple : 
 # mount -t vfat /dev/sdc1 /mnt
Lorsque l'on a fini d'utiliser la clé il faut la démonter à cause du cache.
Pour sauvegarder des montages réguliers, on utilise le fichier "fstab" détaillé ci-après, et codice_1 monte tous ceux qui sont dedans.
umount.
La commande umount permet de "démonter" une partition. Cette opération est indispensable si on veut être sûr que les données soient correctement écrites sur la partition. Exemples :
 # umount /dev/sdc1
 # umount /mnt
Si la partition est en cours d'utilisation, on ne pourra pas la démonter et la commande umount va retourner un message d'erreur :
 # umount /home
 umount: /home: device is busy
 umount: /home: device is busy
Deux commandes permettent de connaître les fichiers ouverts et les processus qui sont en train d'utiliser la partition et qui empêchent le "démontage".
La commande lsof (list open files) permet de connaître les fichiers ouverts :
 # lsof /home
 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
 gdm 2751 root 9w REG 22,71 761 964774 /home/alex/.xsession-errors
 startkde 2882 alex cwd DIR 22,71 4096 964769 /home/alex
La commande fuser permet aussi de connaître les processus qui ont des fichiers ouverts sur la partition.
 # fuser -m /home
 /home: 2751 2882c 2961c 2962c 2965c 2967c 2969c
 2971c 2976c 2978c 2979c 2981c 2983c 2984c 2986c 2990c 2992c
 2993c 2995c 2997c 2999c 3002c 3037c 3683c 3684c 4102c 4161c
Le fichier /etc/fstab.
Le fichier /etc/fstab contient la liste des partitions "montées" automatiquement au démarrage du système.
Extrait d'un fichier fstab :
 # /etc/fstab: static file system information.
 # <file system> <mount point> <type> <options> <dump> <pass>
 proc /proc proc defaults 0 0
 /dev/sdb1 / ext3 defaults,errors=remount-ro 0 1
 /dev/sdb6 /home ext3 defaults 0 2
 /dev/sdb5 none swap sw 0 0
 /dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Pour monter automatiquement une partition au démarrage, il suffit de rajouter une ligne dans le fichier /etc/fstab, comme par exemple :
 /dev/hdc1 /media/winnt ntfs defaults 0 0
Pour chaque partition, on peut spécifier des options dans le fichier /etc/fstab. Options les plus courantes :
La commande sync force le noyau à écrire le cache.
Pour savoir la taille qu'il reste sur la clé on utilisera la commande df (disk free) -h (human readable) pour avoir les informations en kilo,mega,giga. df -i affiche le pourcentage d'occupation de la table des "i-nodes".
NFS.
Pour les partages NFS, on peut lancer codice_2.
Formater un système de fichiers.
La commande mkfs (make filesystem) permet de formater un système de fichiers. Exemple :
 # mkfs -t ext3 /dev/sdc1
ATTENTION LE SYSTÈME DE FICHIER NE DOIT PAS ÊTRE MONTÉ
mkfs est un wrapper (aiguillage)
Afin de simuler le formatage, nous allons créer un disque dur virtuel. Pour simuler ceci avec un disque dur virtuel, on utilisera le pseudo périphérique loop.
 # modprobe loop
 # dd if=/dev/zero of=hd1 bs=1K count=100000
Ceci crée un fichier vide hd1 qui aura une taille de 100 Mo.
 # losetup /dev/loop0 hd1
On "attache" le pseudo-pérphérique /dev/loop0 à notre fichier hd1.
Une fois le disque dur virtuel crée on peut le formater :
 # mkfs -t ext3 /dev/loop0
 # mount /dev/loop0 /media/cleusb
Pour le démonter :
 # umount /media/cleusb
CAS PARTICULIER : pour les disquettes, on effectue en général un formatage de bas niveau :
 # fdformat /dev/fd0 # vérifie l'intégrité de la disquette
 # mkfs -t ext3 /dev/fd0 # formate la disquette
ATTENTION À BIEN DÉMONTER AU PRÉALABLE LE PÉRIPHÉRIQUE
La commande suivante permet de vérifier l'intégrité du système de fichiers :
 # fsck -t ext3 /dev/loop0 
L'option -c de fsck permet de vérifier les "bad blocks" (en lecture seule par défaut). L'option -v ("verbose", soit verbeux) pour voir ce qu'il fait.
Le swap.
Partition de swap.
Le SWAP signifie échange, il s'agit d'une mémoire virtuelle en effet lorsque la mémoire de l'ordinateur arrive à saturation, le système écrit sur une partition SWAP de façon à libérer de la mémoire.
Il est possible de créer une partition SWAP grâce à la commande mkswap :
 # mkswap /dev/sdb5
On utilisera la commande swapon /dev/sdb5 pour l'activer :
 # swapon /dev/sdb5
Avec la commande "'free",' il est possible de vérifier si le swap est activé :
 # free
 Swap: 1951856 65080 1886776
Pour lister les partitions SWAP : 
 # cat /proc/swaps
 ... Type Size Used Priority
 /dev/hda3 partition 979956 307284 -1
Fichier de swap.
Il est possible de créer un fichier swap en complément d'une partition SWAP,pour faire ceci nous allons commencer par créer un fichier d'un gigaoctet :
 # dd if=/dev/zero of=/ficswap bs=1M count=1000
On initialise ensuite le fichier en swap :
 # mkswap /ficswap
On active le swap :
 # swapon /ficswap
Si l'on tape la commande free on constate que la taille du swap a augmenté.
 # cat /proc/swaps
Pour désactiver la partition de SWAP :
 # swapoff /ficswap
Utilitaires disques-durs.
Technologie S.M.A.R.T..
SMART est une technologie de monitoring des disques dur.
Nom du package apt : smartmontools
 # smartctl -d ata -a /dev/sda
 smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
 Home page is http://smartmontools.sourceforge.net/
 === START OF INFORMATION SECTION ===
 Model Family: Western Digital Caviar SE (Serial ATA) family
 Device Model: WDC WD800JD-22MSA1
 Serial Number: WD-WMAM9TZ26746
 Firmware Version: 10.01E01
 User Capacity: 80 026 361 856 bytes
 Device is: In smartctl database [for details use: -P show]
 ATA Version is: 7
 ATA Standard is: Exact ATA specification draft version not indicated
 Local Time is: Wed Dec 5 15:16:10 2007 CET
 SMART support is: Available - device has SMART capability.
 SMART support is: Enabled
 === START OF READ SMART DATA SECTION ===
 SMART overall-health self-assessment test result: PASSED
 General SMART Values:
 (...)
 Short self-test routine
 recommended polling time: ( 2) minutes.
 Extended self-test routine
 recommended polling time: ( 33) minutes.
 Conveyance self-test routine
 recommended polling time: ( 6) minutes.
 SMART Attributes Data Structure revision number: 16
 Vendor Specific SMART Attributes with Thresholds:
 ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
 1 Raw_Read_Error_Rate 0x000f 200 200 051 Pre-fail Always - 0
 (...)
Le fichier /etc/smartd.conf permet de programmer des tests, et l'envoie de messages d'alertes.
hdparm.
hdparm permet de configurer les paramètres d'accès au disque dur.
 #hdparm /dev/sdb
 /dev/sdb:
 IO_support = 0 (default 16-bit)
 readonly = 0 (off)
 readahead = 256 (on)
 geometry = 9729/255/63, sectors = 156301488, start = 0
Pour tester les performances on utilise l'option -tT
 # hdparm -tT /dev/sdb
 /dev/sdb:
 Timing cached reads: 888 MB in 2.00 seconds = 443.99 MB/sec
 Timing buffered disk reads: 174 MB in 3.00 seconds = 57.91 MB/sec
hddtemp.
hddtemp utilise les données SMART du disque dur spécifié et retourne sa température.
 #hddtemp /dev/sda
 /dev/sda: WDC WD800JD-22MSA1: 31°C
L'option -n permet de ne renvoyer que la valeur de la température (utile pour les scripts)
 # hddtemp -n /dev/sda
 31