En première approche : 2 types de fichiers
Sous Linux, il existe 2 grands types de fichiers
En fait : 3 types
- Les fichiers classiques : ce sont les fichiers connus type texte (.txt, .doc, …), les sons (.wav, .mp3, …), les programmes (.exe), bref, tous les fichiers connus sous Windows.
- Les fichiers spéciaux car ils représentent quelque chose comme un lecteur de CD. Car avec Linux, tout est fichier.
En fait : 3 types de fichiers
Le système de fichiers constitue un élément clé du système Linux. C'est encore à maints égards une des grandes forces de Gnu Linux. Vu par l'utilisateur, le système de fichiers est organisé en une structure arborescente dont les noeuds sont des répertoires et les feuilles des fichiers ordinaires.
Les fichiers sont des récipients contenant des données. Pour le noyau Linux, ils ne contiennent finalement qu'une suite d'octets plus ou moins longue. Linux en lui-même ne connaît ni enregistrement ni structure de fichier. C'est aux programmes d'applications de les implanter et de les gérer. Le système Linux ne connaît que trois types de fichiers :
- Les fichiers ordinaires (regular files)). Ils servent à mémoriser les programmes et les données des utilisateurs et du système.
- Les fichiers répertoires ou répertoires (directories)). Chaque répertoire contient la liste et la référence des fichiers placés sous son contrôle et la référence du répertoire dont il dépend (répertoire père).
- Les fichiers spéciaux. Ils désignent les périphériques, les tubes ou autres supports de communication interprocessus. Les fichiers spéciaux associés aux périphériques peuvent être caractères (terminaux) ou blocs (disque) ; les entrées/sorties (E/S) se font soit caractère par caractère, soit bloc par bloc, un bloc étant composé de n caractères (512, 1024 ou 2048).
L'extension du système de fichiers aux périphériques constitue une des grandes particularités de Linux. Cela permet en effet à un utilisateur de diriger les données produites par son application vers un fichier ou un périphérique. Autre conséquence, les noms des fichiers et des périphériques obéissent à la même syntaxe et l'accès aux périphériques est contrôlé par le mécanisme de protection des fichiers.
Le système de fichiers est organisé en une seule arborescence logique. Cet arbre est composé de répertoires qui contiennent eux-mêmes d'autres répertoires, ou des fichiers. La figure ci-dessous représente un exemple simplifié de cette arborescence.
La racine
/ : c'est ce fameux slash que l'on appelle "racine" (root en Anglais).
Sous Linux, il n'y a qu'une seule racine. C'est le plus haut niveau, c'est le dossier qui contient tous les autres.
Toute la suite est liée à cette racine. Le contenu de la racine doit être adéquat pour démarrer, restaurer et réparer le système. La racine est automatiquement montée au démarrage du système, les autres points de montage (si il y a, /usr, /var par exemple) sont montés ensuite. L'ensemble des systèmes de fichiers liés à la racine peuvent résider de manière totalement transparente sur différents média ; en vrac : une partition séparée, un périphérique amovible, un système de fichiers sur le réseau etc. On utilise généralement cette méthode pour les répertoires /usr et /home car on aime bien avoir ces données sur une partition séparée. Ces systèmes de fichiers séparés peuvent être montés automatiquement au démarrage du système ou bien &a grave; la demande en cours d'utilisation.
Architecture des dossiers
Dans Linux quand on voit : "/usr/bin/", on dit que "bin" est un sous-dossier du dossier "usr", lui-même situé à la racine.
Les dossiers de la racine
Le répertoire racine :
Considération importante extraite du site Ubuntu sur
l'arborescence des répertoires :
"la partition racine
/ doit toujours physiquement contenir /etc, /bin, /sbin, /lib et /dev, sinon on ne pourra pas amorcer le système. Typiquement, 150 à 250 Mo sont nécessaires".
- /bin : programmes systèmes importants (contient des programmes (exécutables) susceptibles d'être utilisés par tous les utilisateurs de la machine. Exécutables des commandes essentielles).
- /boot : fichiers de démarrage
- /dev : le répertoire /dev contient l'ensemble des fichiers spéciaux et périphériques. C'est ici, entre autres, que sont représentés les périphériques de l'ordinateur. On trouvera par exemple le disque dur ainsi que ses partitions : /dev/hda, /dev/hda1, /dev/hdan..., le cdrom : /dev/cdrom, le lecteur disquette : /dev/fd0.
Attention, ces fichiers ne sont que des vecteurs de communication entre nos périphériques et le système. Ce n'est pas ici que l'on pourra en voir le contenu, il faut pour ça les "monter" dans un répertoire, /mnt est fait pour ça. Pour Ubuntu ce sera /media.
- /etc : fichiers de configuration du système. Un fichier de configuration est un fichier local utilisé pour contrôler les opérations d'un programme. Il doit être statique et ne peut être un binaire exécutable. On trouva dans /etc de nombreux sous répertoires contenant eux-mêmes des fichiers de configuration (pour exemple les sous répertoires init.d et X11 contenant respectivement les fichiers de configuration des services et les fichiers de configuration du serveur graphique X Window). C'est aussi dans /etc qu'on trouve le fameux fichier fstab qui permet d'allouer de manière dynamique des ressources stockées sur des supports amovibles, le fichier hosts qui se charge de traduire les adresses ip en nom d'hôtes etc.
- /home : répertoires personnels des utilisateurs (comme "Mes documents" de Windows). On aime bien séparer ce répertoire sur une autre partition que la racine, c'est toujours prudent de séparer les données personnelles du système (surtout en cas de pépin).
C'est dans /home qu'on trouve son répertoire personnel. Chaque utilisateur y a son répertoire à son nom, avec ses documents et ses fichiers personnels de configuration. Par exemple, les dossiers personnels de alain et simone se trouvent respectivement dans : /home/alain/
et /home/simone/
.
Séparer ce répertoire présente plusieurs avantages : on y retrouve de manière totalement transparente l'ensemble de ses données personnelles (pour peu qu'elles soient dans notre répertoire personnel !) si il y'a eu restauration du système, notre configuration est sauvegardée car en effet, les fichiers de configuration des programmes que l'on utilise sont dans notre répertoire personnel (cachés car leurs noms commencent par un point). Ces fichiers de configuration ont priorité sur ceux du système (/etc).
- /lib : les bibliothèques indispensables au système.
Le répertoire /lib contient les librairies partagées requises pour démarrer le système et exécuter des commandes dans le système de fichiers racine, les binaires se trouvant dans /bin ou /sbin par exemple. On trouve également le répertoire modules dans /lib qui contient les modules du noyau.
- /mnt (/media sous Ubuntu) : vu avant avec /dev, c'est ici qu'on monte (rend accessible) ses périphériques amovibles. Cela peut très bien aller du cdrom, clef usb, disquette, à un système de fichiers sur un réseau en passant par une partition d'un disque dur. Chaque point de montage (mnt -> mount) doit avoir un répertoire dédié (/media/cdrom par exemple).
- /mnt : (extrait de arborescence des répertoires d’Ubuntu) point de montage pour monter temporairement un système de fichiers.
c'est un peu pareil que media, mais pour un usage plus temporaire.
- /opt : contient les applications complémentaires qui n'appartiennent pas à la distribution installée. On y trouvera généralement des jeux.
- /proc : (référencé sous Ubuntu), c'est un répertoire virtuel qui contient l'état de la machine en temps réel : pages mémoire, IRQ…
Le répertoire proc contient le "pseudo système de fichiers du noyau". C'est ici qu'on trouve des fichiers permettant d'accéder à la configuration du noyau, les processus en cours d'exécution. On trouve alors un répertoire par processus actif sur le système portant le nom du numéro du processus (PID). Chacun de ces répertoire contient les fichiers cmdline (contient la ligne de commande qui a créé le processus), status (contient des informations sur l'état du processus : en attente, en exécution, propriétaire, exe qui est un lien vers le fichier exécutable utilisé par le processus. C'est aussi dans le répertoire /proc qu'on trouve des fichiers contenant des informations matérielles comme le fichier cpuinfo, meminfo, etc…
- /root : répertoire de l'administrateur. Egal à peu près à /home/alain.
- /sbin : Les outils GNU indispensables au système (exécutables système essentiels).
- /tmp : les fichiers temporaires. Ils sont effacés à chaque redémarrage de l'ordinateur.
- /usr : (Unix System Ressources) hiérarchie secondaire, répertoire d'installation des logiciels. Un gros morceau, contient les programmes et bibliothèques utiles aux utilisateurs.
Le répertoire /usr contient de nombreux sous répertoires et on y retrouve presque la même organisation que pour la racine, mais le contenu est destiné aux utilisateurs plus qu'au système lui-même. C'est en général ici que l'ensemble des fichiers formant ce qu'on appelle un programme se trouve; ses librairies appelées aussi bibliothèques (/usr/lib), ses fichiers de configuration (/usr/etc), ses binaires exécutables (/usr/bin) etc… Les sources du noyau (si il y a) se trouvent dans /usr/src. On y trouve également la quasi totalité de la documentation des programmes dans /usr/doc ou bien /usr/share (répertoire des documentations partagées).
/usr/local (comme /opt) contient les paquets pour applications supplémentaires, installées hors gestionnaire de paquets(extrait de arborescence des répertoires d’Ubuntu).
- /var : contient l'ensemble des données variables, il évolue donc souvent.
C'est donc ici que l'on trouvera les fichiers contenant les "PID" des processus du système en cours (/var/run), le cache applicatif (/var/cache), les boîtes mail (/var/mail), les logs (journaux d'activité) du système (/var/log) etc. Sur un serveur, ce répertoire est séparé sur une autre partition de taille assez conséquente (essentielle pour la quantité de log non négligeable).
ATTENTION : ces répertoires sont indispensables à la bonne marche d'Ubuntu, ne pas essayer de les supprimer.
Voir (faire recherche avec arborescence ubuntu)
http://doc.ubuntu-fr.org/initiation?s[]=arborescence&s[]=ubuntu
http://doc.ubuntu-fr.org/arborescence-repertoires?s[]=arborescence
http://www.cdprof.com/formation/linux/formation_linux4.php
http://www.cdprof.com/formation/linux/index.php
http://www.michel-eudes.net/blog/index.php?2006/11/08/20-l-arborescence-linux
http://www.commentcamarche.net/faq/sujet-6353-l-arborescence-du-systeme-de-fichiers-de-linux
http://www.linux-france.org/article/sys/fhs/fhs-toc.html
http://www.quebecos.com/modules/wiwimod/index.php?page=Arborescence+d'un+syst?me+Gnu+Linux
http://mediatux.com/
http://membres-lig.imag.fr/arrighi/INF122/LINUX3.PDF
http://www.linux-france.org/article/kafkafr/node19.html
http://fr.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
Représentation schématique de l'arborescence
On peut la représenter de 2 manières :
pwd & which : où suis-je ?
Lors de l'installation d'Ubuntu, un grand nombre de programmes sont préinstallés. Le nombre de dossiers et fichiers présents est énorme. Comment se repérer dans l'arborescence des dossiers ?
pwd : afficher le dossier actuel
Quand on ouvre la console pour la première fois, Linux nous place dans notre dossier personnel "home".
Code : Console
alain@alain-pc01:~$
Rappel : sous Linux, le symbole "~" est un synonyme de notre dossier personnel. Autrement dit, je suis sous /home/alain.
Même si cela est pratique, il existe un autre moyen pour connaître le nom du dossier actuel. C'est la commande pwd.
pwd est l'abréviation de "Print Working Directory", c'est-à-dire "Afficher le dossier actuel".
C'est une commande simple, sans paramètre.
Code : Console
alain@alain-pc01:~$ pwd
/home/alain
which : connaître l'emplacement d'une commande
Chaque commande sous Linux correspond à un programme. Ainsi, pwd qu'on vient de voir est un programme.
Une commande n'est rien d'autre qu'un programme qu'on peut appeler n'importe quand n'importe où dans la console.
La commande which prend un paramètre : le nom de la commande dont on veut connaître l'emplacement.
Code : Console
alain@alain-pc01:~$ which pwd
/bin/pwd
pwd se trouve donc dans le dossier /bin/ ! Le "pwd" à la fin n'est pas un dossier mais le nom du programme lui-même.
Nota. Sous Linux, les programmes ne possède pas en général d'extension.
Tous les programmes ne sont pas situés dans un même dossier. Si on prend un autre programme, which, pourquoi pas
Code : Console
alain@alain-pc01:~$ which which
/usr/bin/which
Le programme se trouve cette fois-ci dans /usr/bin/
ls : lister les fichiers et dossiers
Détail de la commande ls et de ses nombreux paramètres.
Tapons d'abord "ls" sans paramètre depuis son dossier personnel :
Code : Console
alain@alain-pc01:~$ ls
Desktop Examples images log tutos
Ubuntu active la coloration des fichiers et dossiers par défaut. Les dossiers apparaissent en bleu foncé. Le dossier Examples est en bleu clair, cela signifie que c'est un raccourci vers un dossier qui se trouve en fait ailleurs sur le disque.
 |
Si la couleur ne s'affiche pas, on peut rajouter le paramètre --color=auto , comme ceci : ls --color=auto
Si au contraire, on ne veut pas de la couleur , essayer le paramètre --color=none .
Pour éviter à chaque fois d'avoir à retaper ce paramètre, il faut modifier un fichier de configuration, voir plus loin. |
La commande ls accepte un grand nombre de paramètres. Ci-dessous quelques uns parmi les plus utiles.
-a : afficher tous les fichiers et dossiers cachés
Sous Linux, on peut "cacher" des fichiers et dossiers. Pas par protection, car on peut toujours les réafficher si on veut, mais pour éviter d'encombrer l'affichage de la commande "ls".
Le dossier home est un très bon exemple car il est rempli de fichiers et dossiers cachés. En ajoutant le paramètre -a, on peut voir tous ces fichiers et dossiers cachés :
Code : Console
alain@alain-pc01:~$ ls -a
. | .gnome | .nano_history |
.. | .gnome2 | .nautilus |
.bash_history | .gnome_private | .openoffice.org2 |
.bash_logout | .gstreamer-0.10 | .pgpass |
.blender | .icons | .profile |
.config | images | .recently-used |
Examples | .inkscape | .themes |
.fontconfig | .java | tutos |
.gaim | .local | .update-notifier |
.gconf | log | .vlc |
.gimp-2.2 | .macromedia | .xine |
Normalement, il y en a beaucoup plus, c'est encombrant. C'est pourquoi, ces fichiers et dossiers sont cachés.
Certains éléments commençant par un point "." sont des dossiers, d'autres sont des fichiers. La meilleure façon de faire la distinction est de comparer les couleurs : les dossiers en bleu, le reste dans la couleur par défaut (par exemple le blanc ou le noir).
Voyons les 2 premiers éléments "." et ".".
"." représente le dossier actuel, ".." représente le dossier parent (le dossier précédent dans l'arborescence).
Là, je suis dans /home/alain, ".." représente donc le dossier /home.
 |
Le paramètre -A (A majuscule au lieu de a minuscule) a pratiquement la même signification : ça affiche la même chose sauf les éléments "." et "..". Attention aux majuscules ! |
-F : indique le type d'élément
Paramètre utile si on n'a pas (ou ne veut pas) afficher la couleur dans la console.
Il rajoute à la fin des éléments un symbole pour qu'on puisse faire la distinction entre les dossiers, fichiers, raccourcis…
Code : Console
alain@alain-pc01:~$ ls
Desktop/ Examples@ images/ log/ tutos/
On voit bien que tous ces éléments sont des dossiers, sauf Examples qui est un raccourci (d'où la présence du @).
-l : liste détaillée
Le paramètre "-l" (L minuscule) affiche une liste détaillant chaque élément du dossier :
Code : Console
alain@alain-pc01:~$ ls -l
total 16
drwxr-xr-x | 2 | alain | alain | 4096 | 2009-02-28 | 11:18 | Desktop |
lrwxrwxrwx | 1 | alain | alain | 26 | 2009-02-05 | 22:15 | Examples -> /usr/share/example-content |
drwxr-xr-x | 2 | alain | alain | 4096 | 2009-01-18 | 19:30 | images |
drwxr-xr-x | 3 | alain | alain | 4096 | 2009-01-24 | 21:07 | tutos |
Il y a un élément par ligne.
Chaque colonne a sa propre signification. De gauche à droite :
1. Droits sur le fichier (fonctionnement des droits sous Linux développé plus loin).
2. Nombre de liens physiques.
3. Nom de la personne propriétaire du fichier. Si le fichier avait été créé par quelqu'un d'autre, on verrait son nom à la place.
4. Groupe auquel appartient le fichier (on en parle dans le chapitre sur les droits). Il se peut que le nom du groupe soit le même que celui du propriétaire.
5. Taille du fichier, en octets.
6. Date de dernière modification.
7. Nom du fichier (ou dossier).
Nota. Dans le cas du raccourci (on parle de
lien symbolique), la commande précise vers où pointe le raccourci (en l'occurence /usr/share/example-content).
-h : afficher la taille en Ko, Mo, Go…
-t : trier par date de dernière modification
On voit en premier le dernier dossier ou fichier modifié. Si on veut inverser l'ordre, combiner -t avec -r, ce qui se formule :
ls -lrt
.
On peut combiner tous ces paramètres, ce qui donne :
ls -larth
.
 |
Plutôt que de réécrire "ls -larth" à chaque fois, on peut créer un alias, c'est-à-dire une commande synonyme. Par exemple, on peut créer l'alias "ll" (deux fois L) qui est automatiquement transformé par Linux en "ls -larth".
Voir comment créer des alias avec un éditeur de fichiers. |
cd : changer de dossier
cd, abréviation de "Change Directory" (changer de dossier).
La commande cd ne prend pas qu'un seul paramètre : le nom du dossier dans lequel on souhaite aller.
Exemple si on veut aller à la racine :
Code : Console
alain@alain-pc01:~$ cd /
alain@alain-pc01:/$ pwd
/
Après avoir tapé cd /, on se retrouve à la racine. L'invite de commandes a changé et le ~ a été remplacé par un /. Et en tapant pwd, cela confirme que l'on est bien dans /
Listons les fichiers et dossiers contenus dans / :
Code : Console
alain@alain-pc01:/$ ls -F /
bin/ | dev/ | initrd/ | lib/ | mnt/ | root/ | sys/ | var/ |
boot/ | etc/ | initrd.img@ | lost+found/ | opt/ | sbin/ | tmp/ | vmlinuz@ |
cdrom@ | home/ | initrd.img.old@ | media/ | proc/ | srv/ | usr/ | vmlinuz.old@ |
Allons dans le sous-dossier usr :
Code : Console
alain@alain-pc01:/$ cd usr
Voyons ce qu'il y a dedans :
Code : Console
alain@alain-pc01:/usr$ ls -F
bin/ | games/ | include/ | lib/ | local/ | sbin/ | share/ | src/ | X11R6/ |
Il n'y a que des dossiers. Allons maintenant dans le dossier games
Code : Console
alain@alain-pc01:/usr$ cd games
alain@alain-pc01:/usr/games$
Schématiquement, on vient de faire ça :
Pour revenir au dossier précédent, il faut utiliser les 2 points :
Code : Console
alain@alain-pc01:/usr/games$ cd ..
alain@alain-pc01:/usr$
On est revenu au dossier parent.
Si on avait voulu reculer de 2 dossiers parents, on aurait écrit ../.. (reviens en arrière, puis reviens en arrière). Ça nous aurait ramené à la racine :
Code : Console
alain@alain-pc01:/usr/games$ cd ../..
alain@alain-pc01:/$
Remarque. On est allé à la racine de 2 façons : en tapant cd / et après en tapant cd ../..
Il y a en fait 2 façons de changer de dossier : en indiquant un chemin relatif, ou en indiquant un chemin absolu.
Les chemins relatifs
Un chemin relatif est un chemin qui dépend du dossier dans lequel on se trouve. Précédemment, on est allé dans le sous-dossier games de /usr en tapant juste son nom :
Code : Console
alain@alain-pc01:/usr$ cd games
En faisant cela, on utilise un chemin relatif, c'est-à-dire relatif au dossier actuel. Quand on met juste le nom d'un dossier comme ici, cela indique que l'on veut aller dans un sous-dossier.
Si on fait
cd games
depuis la racine, ça va planter :
Code : Console
alain@alain-pc01:/$ cd games
bash: cd: games: Aucun fichier ou répertoire de ce type
Il n'y a pas de dossier games dans /
Pour se rendre dans games, il faut d'abord indiquer le dossier qui le contient (usr) :
Code : Console
alain@alain-pc01:/$ cd usr/games
alain@alain-pc01:/usr/games$
Les chemins absolus
Contrairement aux chemins relatifs, les chemins absolus fonctionnent quel que soit le dossier dans lequel on se trouve.
Un chemin absolu est facile à reconnaître : il commence toujours par la racine (/). On doit ensuite faire la liste des dossiers dans lesquels on veut entrer. Par exemple, je suis dans /home/alain et je souhaite aller dans /usr/games. Avec un chemin absolu :
Code : Console
alain@alain-pc01:~$ cd /usr/games
alain@alain-pc01:/usr/games$
Le schéma montre bien qu'on part de la racine / pour indiquer où on veut aller.
Si on avait voulu faire la même chose à coup de chemin relatif, il aurait fallu écrire :
Code : Console
alain@alain-pc01:~$ cd ../../usr/games
alain@alain-pc01:/usr/games$
Ce qui signifie "
reviens en arrière (donc dans /home) puis reviens en arrière (donc dans /), puis aller dans usr, puis aller dans games".
 |
Un chemin absolu est facile à reconnaître, car on part toujours de la racine /.
Un chemin relatif peut aussi s'avérer très pratique et plus court (ça dépend des cas). |
Retour au répertoire home
Pour retourner dans son répertoire home personnel, il y a plusieurs solutions :
- La brutale : il suffit d'écrire le chemin absolu en entier. Cela donne :
Code : Console
alain@alain-pc01:/usr/games$ cd /home/alain
alain@alain-pc01:~$
- La maligne : plus court et plus pratique, on peut utiliser l'alias ~ qui signifie la même chose. Cela donne :
Code : Console
alain@alain-pc01:/usr/games$ cd ~
alain@alain-pc01:~$
- La super maligne : si on ne met aucun paramètre à la commande cd, ça nous ramène aussi dans notre répertoire personnel
Code : Console
alain@alain-pc01:/usr/games$ cd
alain@alain-pc01:~$
Autocomplétion du chemin
Astuce essentielle.
L'idée est simple : taper cd /usr/games/trucbidule c'est parfois un peu long de tout écrire. Alors on va demander à l'ordinateur de compléter le chemin tout seul.
L'autocomplétion de chemin fonctionne de la même manière que l'autocomplétion de commande qu'on a vu chapitre sur la console : avec la touche Tab (Tabulation). Pour faire le test, on commence par se placer dans /usr :
Code : Console
alain@alain-pc01:~$ cd /usr
alain@alain-pc01:/usr$
On tape juste ensuite
cd ga
, puis on appuie sur Tab. Le nom du dossier a été automatiquement complété
Code : Console
alain@alain-pc01:~$ cd games/
Revenons maintenant dans /usr (en faisant cd .. par exemple) et essayons de taper juste cd l, puis faire Tab. Rien ne se passe : cela signifie que l'ordinateur n'a pas trouvé de dossier qui corresponde au début de notre recherche, ou alors qu'il y en plusieurs qui commencent par "l". Refaire encore Tab :
Code : Console
alain@alain-pc01:/usr$ cd l
lib/ local/
alain@alain-pc01:/usr$ cd l
On nous donne la liste des dossiers qui commencent par "l". Cela signifie qu'il faut préciser notre recherche parce que sinon l'ordinateur ne peut pas deviner dans quel dossier on veut entrer. Ça tombe bien, la commande a été réécrite en-dessous, on n'a plus qu'à ajouter une lettre plus précise, par exemple "o" pour que Linux devine que l'on veut aller dans le dossier "local". Taper donc "o", puis à nouveau Tab, et le nom sera complété
Code : Console
alain@alain-pc01:/usr$ cd local/
du : taille occupée par les dossiers
La commande "du", pour Disk Usage (utilisation du disque) donne des informations sur la taille qu'occupe les dossiers sur le disque.
Exemple en se plaçant dans /usr/games et taper "du" :
Code : Console
alain@alain-pc01:~$ cd /usr/games
alain@alain-pc01:/usr/games$ du
5732 .
Comme ce dossier ne contient pas de sous-dossier, la commande "du" nous renvoie la taille totale que font les fichiers contenus dans le dossier.
Si on va dans home en revanche, celui-ci contient beaucoup de sous-dossiers. Dans ce cas, la commande "du" va renvoyer la taille de chacun des sous-dossiers, puis la taille totale à la fin (".").
-h : la taille pour les humains
Les commandes reprennent souvent les mêmes paramètres. Ainsi, on avait vu -h pour ls, eh bien ce paramètre est le même pour avoir des tailles "humaines" avec "du".
-a : afficher la taille des dossiers ET des fichiers
Par défaut, "du" n'affiche que la taille des dossiers. Pour avoir aussi la taille des fichiers qu'ils contiennent, rajouter l'option -a (all)
-s : avoir juste le grand total
Pour n'avoir que l'espace total occupé par le dossier et donc ne pas afficher le détail des sous-dossiers, utiliser -s (que l'on peut combiner à -h pour plus de lisibilité)
Code : Console
alain@alain-pc01:~$ du -sh
81M .
On voit que le dossier home fait 81 Mo (rappel : le symbole point "." signifie "
le dossier actuel").