La fonction ls

Portrait de aad

Fonction très utile "ls". Allez-y tapez ls dans votre console vous devez avoir un résultat du type

user@ordi:~$ ls
at76_usb-0.17         bashrc  Desktop  MEMOVIF.PDF         rapport.tex  tp3
at76_usb-0.17.tar.gz  bluej   latex    rapport_latin1.tex  tp2          WinDLX

Bien sur c'est surement différent chez vous. Vous avez compris ce que faisait cette fonction : elle liste les fichiers du répertoire courant.

Vous me direz : "C'est bien beau tout ça mais comment on fais pour savoir si on a un dossier ou un fichier exécutable ?"
C'est là que les options interviennent. Pour ls une options pratique est -l :

user@ordi:~$ ls -l
drwxr-xr-x 2 aad users  4096 jan  4 18:31 at76_usb-0.17
-rwx------ 1 aad users 55539 jan  2 02:56 at76_usb-0.17.tar.gz
-rw-r--r-- 1 aad users  2379 jan 10 03:20 bashrc
drwx------ 4 aad users  4096 sep 19 17:51 bluej
drwx------ 2 aad users  4096 sep 27 16:13 Desktop
drwxr-xr-x 4 aad users  4096 jan 10 03:20 latex
-rw------- 1 aad users 49309 jan  2 02:32 MEMOVIF.PDF
-rw-r--r-- 1 aad users  7006 déc  6 18:14 rapport_latin1.tex
-rw-r--r-- 1 aad users  7044 déc  6 18:11 rapport.tex
drwx------ 8 aad users  4096 sep 19 18:17 tp2
drwx------ 6 aad users  4096 sep 27 16:13 tp3
drwxr-xr-x 3 aad users  4096 déc  7 16:30 WinDLX

Là plein de choses sont apparues. Voyons ce que l'on apprend. Tout d'abord le début de la ligne (drwxr-xr-x par exemple pour la première ligne) : cela correspond au type de fichier et aux droits des utilisateurs sur ce fichier. le d signifie directory (dossier) -> on a donc un dossier. Si on a un tiret c'est qu'on a un fichier classique.
Le reste sont les droits en lecture(read), écriture(write), exécution (executable) des utilisateurs ; les trois premières lettres correspondent aux droits du propriétaire, les trois suivantes à ceux des utilisateurs appartenant au groupe du fichier, les trois dernier aux autres utilisateurs.
Après cela on a dans l'ordre : le propriétaire, le groupe, la taille en octet du fichier, la date de la dernière modification du fichier (mois, jour, heure), le nom du fichier.

Une autre option intéressante est -a (all) qui permet d'afficher tous les fichiers (même les cachés). Sous Linux les fichiers cachés commencent par un ".". Testons-la :

user@ordi:~$ ls -a
.                     .fontconfig        .povray
..                    .gconf             .qt
.adobe                .gconfd            rapport_latin1.tex
.appletviewer         .gimp-2.2          rapport.tex
at76_usb-0.17         .gnome             .recently-used.xbel
at76_usb-0.17.tar.gz  .gnome2            .ssh
.bash_history         .gnome2_private    .thumbnails
.bash_logout          .gstreamer-0.10    tp2
.bash_profile         .gtkrc-1.2-gnome2  tp3
bashrc                .ICEauthority      .Trash
.bashrc               .icons             .viminfo
.beagle               .java              .wapi
bluej                 .kde               WinDLX
.bluej                latex              .Xauthority
.config               .macromedia        .xchat2
Desktop               MEMOVIF.PDF        .xscreensaver
.dmrc                 .metacity          .xsession-errors
.fbrc                 .mozilla
.fluxbox              .nautilus

On voit plein de nouveaux fichiers. Ce sont les fichiers de configurations Linux. Pas la peine de s'attarder sur eux pour le moment.

Ce que l'on peut faire maintenant c'est combiner les options. Par exemple :

user@ordi:~$ ls -a -l

On a les deux options à la fois. Ce code donnera la même chose que  user@ordi:~$ ls -al .
D'autres options intéressantes sont : -h, -d, -s. Je vous laisse découvrir par vous même leur utilité. Nous verrons plus loin une méthode pour pouvoir connaitre les options d'une fonction.