Ls est l’une des commandes de base que tout utilisateur Linux devrait savoir.
La commande ls répertorie les fichiers et les répertoires dans le système de fichiers et affiche des informations détaillées sur eux.
Il fait partie du package GNU Core Utilities qui est installé sur toutes les distributions Linux.
Ce tutoriel vous montrer comment utiliser la commande ls via des exemples pratiques et des explications détaillées des options ls les plus courantes.
Table des matières
- 1 Comment utiliser la commande LS
- 2 Exemples d’utilisation de la commande LS
- 2.1 Format de la liste longue de la commande ls
- 2.2 Lister les fichiers du répertoire courant ou le répertoire parent avec ls
- 2.3 Lister les fichier du répertoire /root ou /home de l’utilisateur
- 2.4 Lister que les répertoires sans les fichiers
- 2.5 Lister la taille de fichiers avec la commande ls
- 2.6 Afficher les fichiers cachés avec la commande ls
- 2.7 Tri de la sortie de ls
- 2.8 Liste des sous-répertoires récursives
- 3 Liens
Comment utiliser la commande LS
La syntaxe de la commande LS est la suivante :
ls [OPTIONS] [FICHIERS]
Lorsqu’il est utilisé sans options et arguments, LS affiche une liste des noms de tous les fichiers du répertoire de travail actuel:
debian@linux:/$ ls
bin boot dev etc home initrd.img initrd.img.old lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin srv sys tmp usr var vmlinuz vmlinuz.old
Pour afficher les fichiers en liste, utilisez l’option -1 :
ls -1
Pour lister les fichiers d’un répertoire spécifique, saisissez le nom de ce dernier.
Par exemple pour lister le contenu du dossier home, saisissez :
ls /home
Vous pouvez spécifier plusieurs répertoires à la suite afin d’en lister le contenu :
ls /etc /home
Lorsque vous tentez d’accéder à un dossier dont vous n’avez pas les autorisations, le message Permission denied s’affiche.
Par exemple, ici je tente de lister le contenu du dossier /root sans être identifié en root.
ls /root/
ls: cannot open directory '/root/': Permission denied
Exemples d’utilisation de la commande LS
Format de la liste longue de la commande ls
L’option la plus utilisé est l’option -l qui affiche le format de liste longue.
Cela affiche des informations précises sur les fichiers dans un ou plusieurs répertoires
ls -l /etc
La première ligne indique la taille totale occupée par le répertoire.
Pour plus de détails, on peut utiliser la commande du ou df.
Puis la commande ls affiche les fichiers et répertoires en liste avec les informations suivantes :
- Le type de fichier
- Les autorisations de fichier
- Nombre de liens durs vers le fichier
- Propriétaire de fichier
- Groupe utilisateur
- Taille du fichier
- Date et l’heure
- Nom de fichier
Selon la distribution Linux, des codes couleurs peuvent s’afficher, par exemple ci-dessus, les répertoires sont en cyan.
Le premier caractère identifie le type de fichier :
- – – Fichier régulier
- b – Bloc de fichier spécial
- c – fichier spécial de caractère
- d – Répertoire
- l – Lien symbolique
- n – fichier réseau
- p – FIFO
- s – socket
Ainsi dans la capture d’écran précédente listant le répertoire /etc, on voit bien les répertoires avec un d en premier caractère.
Ci-dessous une partie du répertoire plugins de munin qui contient beaucoup de liens symboliques.
On voit qu’il début bien par le caractère l.
Puis on trouve les permissions du fichier ou répertoire identifiés comme ceci :
- r – Permission de lire le fichier
- w – Permission d’écrire dans le fichier
- x – Permission d’exécuter le fichier
- s – setgid bit
- t – sticky bit
Pour plus d’informations et explications sur les autorisations, suivre ce didacticiel :
En troisième position, on trouve le propriétaire du fichier/répertoire suivi du groupe suivi par la taille du fichier, montré en octets. Utilisez l’option -h si vous souhaitez imprimer des tailles dans un format lisible par l’homme.
Vous pouvez modifier le propriétaire du fichier à l’aide de la commande chown.
Enfin la dernière date et heure de modification de fichier. La dernière colonne est le nom du fichier.
Lister les fichiers du répertoire courant ou le répertoire parent avec ls
Pour lister les ficheirs du répertoire courant, utilisez la commande ls sans aucune option :
ls
Mais on peut aussi mettre un point :
ls .
ou :
ls ./
Pour lister les fichiers du répertoire parent, indiquez ../
Par exemple, en étant dans le répertoire /etc, cela va lister le contenu de / puisque c’est le répertoire au dessus.
debian@linux:/etc$ ls ../
bin boot dev etc home initrd.img initrd.img.old lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin srv sys tmp usr var vmlinuz vmlinuz.old
Ainsi o peut remonter indéfiniment dans l’arborescence avec ../../ ou ../../../ et ainsi de suite.
debian@linux:/etc/nginx$ ls ../../../
bin boot dev etc home initrd.img initrd.img.old lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin srv sys tmp usr var vmlinuz vmlinuz.old
Lister les fichier du répertoire /root ou /home de l’utilisateur
Pour lister les fichier du répertoire /root :
ls /root
Si vous êtes identifié avec un utilisateur non root, vous devez utiliser la commande sudo :
sudo /root
Pour lister les fichiers du répertoire /home d’un utilisateur, indiquez le répertoire /home suivi du nom de l’utilisateur.
Par exemple pour lister le contenu de l’utilisateur malekalmorte et debian :
ls /home/malekalmorte
ls /home/debian
Si vous souhaitez le faire sur votre répertoire utilisateur, vous pouvez utiliser ~ :
debian@linux:/etc/nginx$ ls ~/
image2.img image3.img image.img Ubuntu.txt
Lister que les répertoires sans les fichiers
Pour ne lister que les répertoires sans les fichiers, utilisez l’option -d suivi de */ :
ls -d */
Mais Il est possible de ne lister que les répertoires avec la commande ls en le combinant avec la commande grep.
Pour cela, il faut lister que les entrées qui débutent par un d.
On peut facilement le faire en capturant ^d avec grep.
debian@linux:/$ ls -lh /etc|grep ^d
drwxr-xr-x 2 root root 4.0K Aug 14 15:40 alternatives
drwxr-xr-x 3 root root 4.0K Jul 15 19:47 apache2
drwxr-xr-x 3 root root 4.0K Aug 14 15:30 apparmor
drwxr-xr-x 7 root root 4.0K Aug 14 15:30 apparmor.d
drwxr-xr-x 7 root root 4.0K Aug 14 15:25 apt
drwxr-xr-x 2 root root 4.0K Aug 14 15:30 bash_completion.d
drwxr-xr-x 2 root root 4.0K Mar 18 19:59 binfmt.d
drwxr-xr-x 3 root root 4.0K Jun 24 11:46 ca-certificates
drwxr-xr-x 2 root root 4.0K Jun 24 11:47 calendar
drwxr-xr-x 4 root root 4.0K Jul 15 01:02 cloud
drwxr-xr-x 2 root root 4.0K Aug 14 15:37 cron.d
drwxr-xr-x 2 root root 4.0K Aug 14 15:37 cron.daily
[...]
Je vous rappelle qu’il existe aussi la commande tree qui permet de lister l’arborescence complète.
Lister la taille de fichiers avec la commande ls
Par défaut lorsque vous utilisez la commande ls avec l’option -l, les tailles de fichiers sont en octets.
Ce qui n’est pas forcément facile à lire pour un humain.
debian@linux:~$ ls -l
total 2705092
-rw-r--r-- 1 debian debian 250000000 Aug 15 14:57 image2.img
-rw-r--r-- 1 debian debian 20000000 Aug 15 14:58 image3.img
-rw-r--r-- 1 debian debian 2500000000 Aug 15 14:57 image.img
-rw-r--r-- 1 debian debian 267 Aug 14 14:12 Ubuntu.txt
Pour rendre la sortie lisible pour un humain, ajoutez l’option -h.
Les tailles de fichiers s’affichent alors en KiloOctet, Megaoctet, Gigaoctet ou Teraoctets, …
debian@linux:~$ ls -lh
total 2.6G
-rw-r--r-- 1 debian debian 239M Aug 15 14:57 image2.img
-rw-r--r-- 1 debian debian 20M Aug 15 14:58 image3.img
-rw-r--r-- 1 debian debian 2.4G Aug 15 14:57 image.img
-rw-r--r-- 1 debian debian 267 Aug 14 14:12 Ubuntu.txt
Afficher les fichiers cachés avec la commande ls
Par défaut, la commande ls n’affiche pas les fichiers cachés. Sur Linux, un fichier caché est n’importe quel fichier qui commence par un point (.).
Pour afficher tous les fichiers, y compris les fichiers cachés, utilisez l’option -a :
debian@linux:~$ ls ~/
image2.img image3.img image.img Ubuntu.txt
debian@linux:~$ ls -a ~/
. .. .bash_history .bash_logout .bashrc .config .gnupg image2.img image3.img image.img .joe_state .lesshst .mysql_history .profile .ssh Ubuntu.txt .viminfo .wp-cli
Tri de la sortie de ls
Par défaut, la commande ls trie les fichiers par ordre alphabétique.
Elle propose quelques options de trie comme par taille de fichiers, date de fichiers.
Enfin l’option -r permet d’inverser le tri.
Inverser l’ordre alphabétique
Pour lister les fichiers dans l’ordre inverse alphabétique :
ls -1r
Ou avec la liste des format long :
ls -lr
Par défaut, les fichiers et les dossiers sont triés ensemble. Si vous préférez trier les dossiers séparément et être affiché avant les fichiers, vous pouvez utiliser la première –group-directories-first.
ls -lr /etc/ --group-directories-first
Par taille de fichiers
Vous pouvez trier le contenu par taille du fichier avec la plus grande taille répertoriée en premier, en utilisant l’option -S.
ls -R
Vous pouvez trier la sortie pour afficher d’abord le fichier le plus petit en utilisant l’option inverse (-R) :
ls -Rr
Par date de modifications de fichiers
Afin de trier le contenu de la dernière heure modifiée, vous devez utiliser l’option -t :
ls -lht
Pour lister les fichiers dans l’ordre inverse de la date de modifications de fichiers :
ls -lhtr
Par extensions de fichiers
Une autre option (-X) offre la possibilité de trier par extension.
Cela vous permet d’afficher des fichiers groupés par des extensions.
ls -lX
Trier ls avec sort
Mais pour trier sur une autre donnée, il faut l’utiliser avec la commande sort.
Pour trier par une colonne particulière, utilisez la commande sort en spécifiant la colonne ou le numéro de champ. Donc, pour trier le nom du propriétaire, qui est dans le champ 3 :
ls -l | sort -k 3
Les options suivantes de la commande sort peuvent être utile.
Notez que ce sont les mêmes options que la commande ls :
- –sort=extension (ou -X ) – Trier l’alphabétiquement par extension
- –sort=size (ou-S) – Trier par taille de fichier
- –sort=time (ou -t) – Trier par délai de modification
- –sort=version (ou-v) – Sorte de version naturelle.
Liste des sous-répertoires récursives
Enfin l’option -R permet de lister un répertoire en récursif.
Cela va donc lister l’intégralité de l’arborescence.
ls -R
Liens
- 12 exemples pour utiliser la commande cat sur Linux
- 6 exemples pour utiliser la commande tail sur Linux
- Comment utiliser la commande less sur Linux avec des exemples
- Utiliser la commande more sur Linux avec des exemples
- La commande cut de Linux : utilisation et exemples
- Comment utiliser la commande AWK avec des exemples
- Commande sed : utilisation et exemples
- 12 exemples de commandes grep sur Linux
- La commande TR : utilisations et exemples
- La commande echo : utilisations et exemples
- La commande sort Linux : utilisations et exemples
- La commande join Linux : utilisations et exemples