La commande ls

Lister les fichiers d’un répertoire (ls)

La commande ls et ses très nombreuses options vous permettront d’obtenir beaucoup d’informations sur les fichiers présents dans un répertoire : déplaçons nous par exemple dans le répertoire « /bin » et listons le contenu de ce répertoire :
[delcros@mistra bin]$ cd /bin
[delcros@mistra /bin]$ ls

arch           dd             gzip           nisdomainname  su
ash            df             hostname       ping           sync
awk            dmesg          kill           ps             tar
cp             fgrep          mount          sh             ypdomainname
cpio           gawk           mt             sleep          zcat
csh            grep           mv             sort           zsh
date           gunzip         netstat        stty           ls

Ceci est un listing « brut » du répertoire /bin qui contient les utilitaires de base de linux. On reconnaît par exemple la commande ls
De la même manière que sous MS-DOS (avec la commande dir), nous pouvons demander à Linux de lister seulement les fichiers dont les noms contiennent des caractères donnés. Demandons par exemple uniquement les noms des fichiers commençant par la lettre « l » :
[delcros@mistra /bin]$ ls l*
ln login ls
[delcros@mistra /bin]$

Voici quelques options intéressantes de la commande ls (les options sous UNIX suivent la commande et sont le plus souvent précédées d’un tiret) :
L’option ls -l permet de lister les attributs des fichiers (les droits de lecture, d’écriture et d’exécution, le propriétaire, le groupe, la taille en octets, sa date de création ou de modification) :
[delcros@mistra /bin]$ ls -l

total 3615

-rwxr-xr-x 1 root root 2716 Apr 23 02:09 arch

-rwxr-xr-x 1 root root 56380 Dec 23 1996 ash

lrwxrwxrwx 1 root root 4 May 10 20:01 awk -> gawk

-rwxr-xr-x 1 root root 300668 Sep 4 1996 bash

lrwxrwxrwx 1 root root 3 May 10 19:59 bsh -> ash

-rwxr-xr-x 1 root root 16584 Dec 16 1996 cat

-rwxr-xr-x 1 root root 17408 Nov 26 1996 chgrp

Notes : Ici, tous les fichiers appartiennent à l’administrateur système (root) et à son groupe (root), comme les sections consacrées à chmod et à chown l’exposerons). Nous traiterons du sens de la fin de chaque ligne, qui contient parfois une flèche visible ici sur la ligne awk -> gawk, dans la section consacrée aux liens ln.

ls -a liste tous les fichiers du répertoire, y compris les fichiers cachés. Cette option est très utile lorsque l’on se trouve dans son répertoire personnel car il contient les fichiers de configuration de l’utilisateur dont les noms commencent généralement par un point et seule l’option -a permet de détecter leur existence.

Exemple avec le répertoire de l’administrateur système :
voici une partie des fichiers listés avec la commande ls sans option :
[root@mistra /root]# ls

bookmarks.sgml mc.hint scrsh2 2494.html

Desktop ftape.o mc.hlp scrsh3

FAQ.services.html kbanner.kssrc mc.lib xdm-config

Et voici une partie du résultat avec la commande ls -a.
[root@mistra /root]# ls -a

. .kvtrc .xquadkey

.. .letter .xquadkey~

.BitchX .mc.ext 2494.html

.Xmodmap~ .peruser-newsrc-working

.amaya .peruser_config Desktop

.applications .peruser_spool FAQ.services.html

On peut maintenant connaître tout (option ‘a’ : penser au mot « all ») le contenu du répertoire.

D’autres options de ls sont utiles :
ls -m  :
Affiche les fichiers en les séparant par une virgule au lieu de les présenter en colonnes.

ls -t  :
Affiche les fichiers par date, c’est-à-dire en les classant du récent au plus ancien.

ls -lu  :
Affiche les fichiers par date de dernier accès et indique cette date.

ls -F :
Affiche les fichiers par type. Ainsi un fichier suivi d’un slash (/) est un répertoire, un fichier suivi d’une étoile est un fichier exécutable et un fichier suivi d’un « @ » est un lien (nous reviendrons sur les liens dans la section consacrée à ln).

ls -S :
Affiche les fichiers triés par ordre de taille décroissante.

ls -X :
Affiche les fichiers par type d’extension.

ls -r  :
Affiche les fichier en ordre alphabétique inverse.
Cette option à la particularité d’inverser l’effet de tous les tris requis. Par exemple, la commande ls -tr affichera les fichiers par date en commençant par les plus anciens pour finir par les plus récents.