Skip to Content

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.ini

Voyons 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.