Les propriétés des fichiers sous Linux
Dans le monde UNIX, tout est fichier. Par exemple, la communication avec les périphériques physiques de l’ordinateur se fait au moyen de fichiers d’un type particulier. Les caractéristiques des fichiers peuvent être visualisées à l’aide de la commande :
[user@localhost]$ ls -la
drwx------ 11 root root 1024 nov 5 15:31 ./
drwxr-xr-x 20 root root 1024 nov 5 15:30 ../
-rw------- 1 root root 9821 nov 4 15:19 .viminfo
-rw------- 1 root root 11748 nov 5 13:10 .bash_history
lrwxrwxrwx 1 root root 47 nov 5 13:10 .odbc -> /etc/skel/odbc.iniVoyons la signification de chaque colonne :
Colonne 1 : Attributs des fichiers
Le premier caractère donne le type de fichier
| Caractère | Commentaire |
|---|---|
| - | pour un fichier ordinaire |
| d | pour un répertoire |
| l | pour un lien symbolique |
| s | pour une socket |
| p | pour un pipe nommé |
| b | fichier spécial (de périphérique) en mode bloc |
| c | fichier spécial (de périphérique) en mode caractère |
Les 9 caractères suivants (en fait 3 groupes de 3) donnent les modes (droits) d’accès du fichier :
Tout fichier dans le monde Unix possède un certain nombre de droits qui vont caractériser les opérations possibles sur ce fichier. Ces droits sont :
| Caractère | Commentaire |
|---|---|
| r | droit en lecture (read). - Tout fichier qui possède cette caractéristique peut être lu. |
| w | droit en écriture (write). Le fichier pourra être supprimé, renommé ou son contenu modifié. |
| x | droit d’exécution (pour un fichier) ou de parcours (pour un répertoire) (execute). Sous unix, il n’y a pas d’extension standard pour les fichiers programmes tels que .exe, .com, .bat ... C’est le droit d’éxécution qui fait d’un fichier qu’il est exécutable, et ce, quelque soit son nom ou son éventuelle extension. Dans le cas des répertoires, ce droit permet de traverser le répertoire. Attention traverser ne veut pas dire lire ou écrire. Je peux traverser un répertoire sur lequel je n’ai pas de droit en lecture ou en écriture, ce sont deux choses différentes. |
| s | set uid ou set gid. Nous n’en parlerons pas pour l’instant. |
| t | sticky bit. Nous n’en parlerons pas pour l’instant. |
Pour résumer :
| Le premier triplet indique les droits du propriétaire du fichier. | Le second indique les droits des membres du groupe du propriétaire du fichier. | Le dernier indique les droits pour le reste du monde sur le fichier. |
|---|---|---|
| r w x | r w x | r w x |
Colonne 2 : Liens physiques
On trouve dans cette colonne le nombre de liens physiques sur le fichier. Je passe sur cette notion dans l’immédiat.
Colonne 3 : Propriétaire
On trouve le nom (user name) du propriétaire du fichier. Si le propriétaire n’est pas connu sur le système (pas d’entrée dans /etc/passwd), c’est le numéro d’utilisateur (user id) qui est indiqué.
Colonne 4 : Groupe
On trouve le nom du groupe (user group) du propriétaire du fichier. Si le groupe n’est pas connu sur le système (pas d’entrée dans /etc/group), c’est le numéro de groupe (group id) qui est indiqué.
Colonne 5 : Taille
On trouve ici la taille du fichier. Elle peut être affichée en octets (o), kilo-octets (ko), méga-octets (Mo), ...suivant les cas.
Colonne 6, 7 et 8 : Date et heure
C’est la date et l’heure de la dernière modification du fichier.
Colonne 9 : Nom
La dernière colonne informe sur le nom du fichier et dans le cas de certains shells (bash par exemple) le dernier caractère indique le type de fichier :
| Caractère | Commentaire |
|---|---|
| / | pour un répertoire. |
| @ | pour un lien symbolique. |
| = | pour un socket. |
Récapitulatif
| Type | Propriétaire | Groupe | Autres | Liens | Prop. | Groupe | Taille | Date - heure | Nom |
|---|---|---|---|---|---|---|---|---|---|
| d | rwx | — | -- | 11 | root | root | 1024 | nov 5 15:31 | ./ |
| d | rwx | r-x | r-x | 20 | root | root | 1024 | nov 5 15:30 | ../ |
| - | rw- | — | -- | 1 | root | root | 9821 | nov 4 15:19 | .viminfo |
| - | rw- | — | -- | 1 | root | root | 11748 | nov 5 13:10 | .bash_history |
| l | rwx | rwx | rwx | 1 | root | root | 47 | nov 5 13:10 | .odbc -> /etc/skel/odbc.ini |
Historique des modifications
| Version | Date | Commentaire |
|---|---|---|
| 0.1 | 2002 | Thierry COLAS, auteur original du document « Lignes de commandes - le pense bête de COAGUL » |
| 0.2 | 2004 | Marc POIROUD pour la conversion en LATEX , PDF et HTML. Gnunux, pour sa relecture |
| 0.3 | 11/03/05 | Tony pour la conversion au format OOo / Spip et le découpage en 7 articles. |
