<p class="spip">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 :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code> [user@localhost]$ ls -la <br />
drwx------   11 root      root         1024 nov  5 15:31 ./<br />
drwxr-xr-x   20 root      root         1024 nov  5 15:30 ../<br />
-rw-------    1 root      root         9821 nov  4 15:19 .viminfo<br />
-rw-------    1 root      root        11748 nov  5 13:10 .bash_history<br />
lrwxrwxrwx    1 root      root           47 nov  5 13:10 .odbc -> /etc/skel/odbc.ini</code></div>
<p class="spip">Voyons la signification de chaque colonne :</p>

<h2>Colonne 1 : Attributs des fichiers</h2>
<h3>Le premier caractère donne le type de fichier </h3>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Caractère</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">-</strong> </td><td>pour un fichier ordinaire </td></tr>
<tr class="row_odd"><td><strong class="spip">d</strong> </td><td>pour un répertoire </td></tr>
<tr class="row_even"><td><strong class="spip">l</strong> </td><td>pour un lien symbolique </td></tr>
<tr class="row_odd"><td><strong class="spip">s</strong> </td><td>pour une socket </td></tr>
<tr class="row_even"><td><strong class="spip">p</strong> </td><td>pour un pipe nommé </td></tr>
<tr class="row_odd"><td><strong class="spip">b</strong> </td><td>fichier spécial (de périphérique) en mode bloc </td></tr>
<tr class="row_even"><td><strong class="spip">c</strong> </td><td>fichier spécial (de périphérique) en mode caractère </td></tr>
</tbody>
</table>
<h3>Les 9 caractères suivants (en fait 3 groupes de 3) donnent les modes (droits) d’accès du fichier : </h3>
<p class="spip">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 :</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Caractère </strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">r</strong></td><td>droit en lecture (<strong class="spip">r</strong>ead). - Tout fichier qui possède cette caractéristique peut être lu. </td></tr>
<tr class="row_odd"><td><strong class="spip">w</strong></td><td>droit en écriture (<strong class="spip">w</strong>rite). Le fichier pourra être supprimé, renommé ou son contenu modifié. </td></tr>
<tr class="row_even"><td><strong class="spip">x</strong></td><td>droit d’exécution (pour un fichier) ou de parcours (pour un répertoire) (e<strong class="spip">x</strong>ecute). Sous unix, il n’y a pas d’extension standard pour les fichiers programmes tels que <i class="spip"> .exe, .com, .bat </i>... 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. </td></tr>
<tr class="row_odd"><td><strong class="spip">s</strong></td><td>set uid ou set gid. Nous n’en parlerons pas pour l’instant. </td></tr>
<tr class="row_even"><td><strong class="spip">t</strong></td><td>sticky bit. Nous n’en parlerons pas pour l’instant. </td></tr>
</tbody>
</table>
<p class="spip">Pour résumer :</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Le premier triplet indique les droits du propriétaire du fichier.</strong></th><th scope='col'><strong class="spip">Le second indique les droits des membres du groupe du propriétaire du fichier.</strong></th><th scope='col'><strong class="spip">Le dernier indique les droits pour le reste du monde sur le fichier.</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>r w x</td><td>r w x</td><td>r w x</td></tr>
</tbody>
</table>
<h2>Colonne 2 : Liens physiques </h2>
<p class="spip">On trouve dans cette colonne le nombre de liens physiques sur le fichier. Je passe sur cette notion dans l’immédiat.</p>

<h2>Colonne 3 : Propriétaire </h2>
<p class="spip">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é.</p>

<h2>Colonne 4 : Groupe </h2>
<p class="spip">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é.</p>

<h2>Colonne 5 : Taille </h2>
<p class="spip">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.</p>

<h2>Colonne 6, 7 et 8 : Date et heure </h2>
<p class="spip">C’est la date et l’heure de la dernière modification du fichier.</p>

<h2>Colonne 9 : Nom </h2>
<p class="spip">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 :</p>

<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Caractère </strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td><strong class="spip">/</strong></td><td>pour un répertoire. </td></tr>
<tr class="row_odd"><td><strong class="spip">@</strong></td><td>pour un lien symbolique. </td></tr>
<tr class="row_even"><td><strong class="spip">=</strong></td><td>pour un socket. </td></tr>
</tbody>
</table>
<h2>Récapitulatif </h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Type </strong></th><th scope='col'><strong class="spip">Propriétaire </strong></th><th scope='col'><strong class="spip">Groupe </strong></th><th scope='col'><strong class="spip">Autres </strong></th><th scope='col'><strong class="spip">Liens </strong></th><th scope='col'><strong class="spip">Prop. </strong></th><th scope='col'><strong class="spip">Groupe </strong></th><th scope='col'><strong class="spip">Taille </strong></th><th scope='col'><strong class="spip">Date - heure </strong></th><th scope='col'><strong class="spip">Nom </strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>d</td><td>rwx</td><td>&mdash;</td><td>--</td><td>11</td><td>root</td><td>root</td><td>1024</td><td>nov 5 15:31</td><td>./</td></tr>
<tr class="row_odd"><td>d</td><td>rwx</td><td>r-x</td><td>r-x</td><td>20</td><td>root</td><td>root</td><td>1024</td><td>nov 5 15:30</td><td>../</td></tr>
<tr class="row_even"><td>-</td><td>rw-</td><td>&mdash;</td><td>--</td><td>1</td><td>root</td><td>root</td><td>9821</td><td>nov 4 15:19</td><td>.viminfo</td></tr>
<tr class="row_odd"><td>-</td><td>rw-</td><td>&mdash;</td><td>--</td><td>1</td><td>root</td><td>root</td><td>11748</td><td>nov 5 13:10</td><td>.bash_history</td></tr>
<tr class="row_even"><td>l</td><td>rwx</td><td>rwx</td><td>rwx</td><td>1</td><td>root</td><td>root</td><td>47</td><td>nov 5 13:10</td><td>.odbc -> /etc/skel/odbc.ini</td></tr>
</tbody>
</table>
<h2>Historique des modifications</h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>2002</td><td><strong class="spip">Thierry COLAS</strong>, auteur original du document « Lignes de commandes - le pense bête de COAGUL »</td></tr>
<tr class="row_odd"><td>0.2</td><td>2004</td><td><strong class="spip">Marc P</strong><strong class="spip">OIROUD</strong> pour la conversion en LATEX , PDF et HTML. <strong class="spip">Gnunux</strong>, pour sa relecture</td></tr>
<tr class="row_even"><td>0.3</td><td>11/03/05</td><td><strong class="spip">Tony</strong> pour la conversion au format OOo / Spip et le découpage en 7 articles.</td></tr>
</tbody>
</table>