LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


commande:ls

— page corrigée — oh!rocks 2009/05/09 18:49

ls : lister le contenu d'un répertoire

<note>Un signe $ précède les commandes qui ne nécessitent pas de droits administrateur ; un signe # précède celles qui nécessitent des droits administrateur (ces signes ne font PAS partie des commandes). Les lignes qui ne commencent pas par un signe $ ou # correspondent au résultat de la commande précédente.
Les touches utilisées sont indiquées entre crochets, exemple [ctrl] pour la touche “contrôle”</note>

Pour savoir ce qui se trouve dans un répertoire, vous pouvez en faire un listing avec la commande ls:

$ ls /home/tux/recettes-tartes
chocolat	pommes		tourterelle
coco		rhubarbe
mirabelles	salées

Le listing est en général coloré par type de fichier (répertoires, fichiers texte…, l'option “--color” est activée par défaut) et ordonné alphabétiquement. Pour lister par taille on peut utiliser l'option “-S”, et pour lister par date de modification, l'option “-t”.

Si vous voulez obtenir un listing ordonné sur une seule colonne, avec de nombreuses informations additionelles (droits, taille, liens symboliques…), utilisez l'option “-l” :

$ ls -l /
total 96
drwxr-xr-x   2 root root  4096 avr 14 10:21 bin
drwxr-xr-x   3 root root  4096 avr 16 01:22 boot
lrwxrwxrwx   1 root root    11 jun  1  2008 cdrom -> media/cdrom
drwxr-xr-x  15 root root 14720 avr 18 08:48 dev
drwxr-xr-x   3 root root  4096 jun  1  2008 emul
drwxr-xr-x 140 root root 12288 avr 18 09:05 etc
drwxr-xr-x   5 root root  4096 avr 10 15:10 home
drwxr-xr-x   2 root root  4096 jun  1  2008 initrd
lrwxrwxrwx   1 root root    34 avr  3 19:04 initrd.img -> boot/initrd.img-2.6.29.1-vanilla64
lrwxrwxrwx   1 root root    34 mar 24 08:05 initrd.img.old -> boot/initrd.img-2.6.28.9-vanilla64
drwxr-xr-x  14 root root  4096 avr 17 11:02 lib
lrwxrwxrwx   1 root root    20 jun  1  2008 lib32 -> /emul/ia32-linux/lib
lrwxrwxrwx   1 root root     4 jun  1  2008 lib64 -> /lib
drwx------   2 root root 16384 jun  1  2008 lost+found
drwxr-xr-x   7 root root  4096 avr 18 08:41 media
drwxr-xr-x   5 root root  4096 mar 24 15:14 mnt
drwxr-xr-x   3 root root  4096 avr  7 11:49 opt
dr-xr-xr-x 145 root root     0 avr 18 08:41 proc
drwxr-xr-x  22 root root  4096 avr 17 10:17 root
drwxr-xr-x   2 root root 12288 avr 17 11:02 sbin
drwxr-xr-x   7 root root     0 avr 18 08:41 selinux
drwxr-xr-x   3 root root  4096 jun  1  2008 srv
drwxr-xr-x  12 root root     0 avr 18 08:41 sys
drwxrwxrwt   9 root root  4096 avr 18 10:38 tmp
drwxr-xr-x  11 root root  4096 déc 15 22:37 usr
drwxr-xr-x  14 root root  4096 fév 17 20:57 var
lrwxrwxrwx   1 root root    31 avr  3 19:04 vmlinuz -> boot/vmlinuz-2.6.29.1-vanilla64
lrwxrwxrwx   1 root root    31 mar 24 08:05 vmlinuz.old -> boot/vmlinuz-2.6.28.9-vanilla64

Les liens sont indiqués par la lettre “l” en début de ligne et leur cible par “->”.
Un “d” en début de ligne indique un répertoire.

Si vous voulez inclure les fichiers cachés (ceux dont le nom commence par un “.” (point), comme “.bashrc”), utilisez l'option “-a”.

Vous pouvez cumuler les options. Par exemple, pour obtenir un listing ordonné (-l) incluant les fichiers cachés (-a) et classé par taille (-S) :

$ ls -laS

Pour aller plus loin

Listage des fichiers en console

En console, on obtient la liste des fichiers et répertoires d'un répertoire en faisant simplement:

ls  

Mais si on veut en plus les informations sur les droits de ces fichiers, il faut faire (le “l” est un “L” minuscule):

ls -l  

Par exemple, listage dans la console du répertoire “/etc/cups”:

Signification des différentes colonnes:

  • Colonne 1: ce sont les droits. Le 1er caractère donne le type de fichier:
    • “-” pour un fichier normal (ex: /etc/cups/command.types)
    • “d” pour un répertoire (ex: /etc/cups)
    • “c” pour un périphérique “caractère” (ex: un modem comme /dev/rtc)
    • “b” pour un périphérique “bloc” (ex: un disque comme /dev/hda ou /dev/sda)
    • “l” pour un lien symbolique (ex: /boot/vmlinuz)
    • “s” pour une socket locale (ex:/dev/log)
    • “p” pour un tube nommé (ex: /dev/bootplash ou /dev/xconsole)
  • Colonne 2: (sans intérêt courant: il s'agit d'un comptage de liaisons)
  • Colonne 3: propriétaire
  • Colonne 4: groupe
  • Colonne 5: taille en octets
  • Colonne 6, 7 et 8: date et heure de la dernière modification
  • Colonne 9: nom du fichier

Par defaut, le listage présente les fichiers triés par ordre alphabétique, mais vous pouvez changer cet ordre en ajoutant des options (voir page man de ls). Par contre, les répertoires et les fichiers sont mélangés, contrairement à la pratique des navigateurs graphiques.

S'il y a plus de fichiers qu'il n'y a de ligne dans la console, vous ne pouvez jamais voir les 1ers qui défilent trop vite: pour voir quand même tous les fichiers, vous pouvez faire (exemple avec le répertoire /bin):

ls -l /bin | more  

On peut aussi demander le listage en utilisant des jokers (wildmark en anglais) avec “?” pour remplacer un seul caractère, et “*” pour remplacer plusieurs caractères (ou aucun). Par exemple pour lister le contenu des 2 répertoires /bin et /boot:

ls -l /b*  

Et pour lister tous les fichiers et répertoires de /bin qui contiennent “ou” en seconde position (ex: “mount”, “mountpoint” et “touch”):

ls -l /bin/?ou*  

Vous pouvez aussi demander le listage d'un répertoire et de ses sous-répertoires (listage récursif) en ajoutant l'option “-R” (que vous combinez avec le “-l”). Par exemple avec le listage du répertoire /srv:

ls -lR /srv  

Et si vous voulez pouvoir regarder ce listage “à tête reposée” (comme disait Louis XVI :-) ), mettez-le dans un fichier (ce fichier sera créé: mettez-le donc dans un répertoire où vous avez le droit de le faire, par exemple, dans votre home ou dans /tmp):

ls -lR /srv > /home/votrelogin/toto.txt  

NB: méfiez-vous comme de peste de l'option “-R” avec des jokers. Cette option “-R” permet de traiter toute une arborescence, mais peut avoir des effets inattendus. Par exemple, vous êtes dans un répertoire dont vous voulez lister les fichiers cachés. Intuitivement, vous faites: “ls -R .*”. Le problème, c'est que listerez aussi le répertoire situé au dessus, parce que “..” fait partie de “.*”. Imaginez alors les dégâts que vous auriez fait avec la commande d'effacement “rm”!!!

Listage des fichiers avec konqueror sous KDE

Listage dans konqueror du même répertoire /etc/cups:

NB: Pour obtenir ce résultat détaillé avec konqueror, il faut intervenir dans ses préférences: ce n'est pas le mode d'affichage par défaut. Dans tous les cas, pour des travaux d'administration, demandez l'affichage par liste, et non par icône, et demander en plus l'affichage des droits des fichiers.

listagekonqueror.jpg “cliquez sur l'image pour agrandir”

Listage des fichiers avec nautilus sous gnome

Listage dans nautilus du même répertoire /etc/cups:

NB: Pour obtenir ce résultat avec nautilus, il faut intervenir dans ses préférences: ce n'est pas le mode d'affichage par défaut.Dans tous les cas, pour des travaux d'administration, demandez l'affichage par liste, et non par icône, et demander en plus l'affichage des droits des fichiers.

listagenautilus.jpg “cliquez sur l'image pour agrandir”

Voilà pour les bases. Pour plus d'options, consultez le manuel : “man ls”.

commande/ls.txt · Dernière modification : 2018/11/17 12:52 de 127.0.0.1