Temps de lecture estimé : 6 minutes
Points clés à retenir
- ls -l affiche permissions, propriétaire, taille et date sur 10 caractères
- ls -a révèle les fichiers cachés commençant par un point
- ls -lh combine format long et tailles lisibles (Ko, Mo, Go)
- Un alias dans .bashrc comme ll=’ls -alh’ fait gagner du temps au quotidien
- ls -d */ liste uniquement les répertoires sans les fichiers
Qu’est-ce que la commande ls sous Linux
La commande ls Linux est la première chose que j’ai apprise en ouvrant un terminal, et franchement, c’est aussi la plus utilisée. Free-Work la classe en 1re position des commandes Linux indispensables, et ça ne m’étonne pas — je l’utilise littéralement à chaque session de travail.
Le nom vient de « list » — lister le contenu d’un répertoire. Elle fait partie du paquet GNU Core Utilities, installé par défaut sur toutes les distributions Linux, de Ubuntu à Fedora en passant par Debian.
On l’utilise dans le terminal en usage interactif, mais aussi massivement dans les scripts shell pour automatiser des vérifications de fichiers. Sur Windows, l’équivalent est dir, mais les options et la logique de sortie diffèrent complètement — dir est plus verbeux par défaut, ls reste minimaliste tant qu’on ne lui demande rien.

Syntaxe de base de la commande ls
On va droit au but : la structure est ls [options] [fichiers/répertoires]. Tapée seule, sans aucun argument, elle liste le contenu du répertoire courant.
$ ls Documents Images Musique projet.py README.md
On peut aussi cibler un ou plusieurs répertoires précis en les passant en argument :
ls /var/log /etc affichera le contenu des deux dossiers l’un après l’autre, avec le nom du dossier en en-tête. C’est utile quand on compare rapidement deux emplacements sans changer de répertoire courant.
Les options essentielles de ls
Ce que personne ne te dit vraiment, c’est que la vraie puissance de ls ne vient pas de la commande nue, mais de ses options. Red Hat en recense 11 façons différentes de l’utiliser en administration système, et je m’en sers quotidiennement.
-l : le format de liste longue
L’option -l transforme l’affichage en une liste détaillée, colonne par colonne :
$ ls -l -rw-r--r-- 1 camille staff 4096 6 sept. 09:12 README.md drwxr-xr-x 3 camille staff 96 5 sept. 18:03 Documents
La première colonne affiche le type et les permissions sur 10 caractères : le premier caractère indique le type de fichier, les neuf suivants les droits (lecture, écriture, exécution) pour le propriétaire, le groupe et les autres. Il existe 8 types de fichiers identifiables par ce premier caractère : le tiret pour un fichier normal, « d » pour un répertoire, « l » pour un lien symbolique, et aussi « b », « c », « n », « p », « s » pour des types plus spécifiques (périphériques, sockets, tubes).
Suivent le propriétaire, le groupe, la taille en octets, la date de modification et le nom du fichier.
-a et -A : afficher les fichiers cachés
Sous Linux, un fichier dont le nom commence par un point est masqué par défaut. -a les affiche tous, y compris « . » (le dossier courant) et « .. » (le parent). -A fait la même chose mais masque ces deux entrées, ce que je trouve plus lisible au quotidien.
-h et -R
-h convertit les tailles en Ko, Mo, Go ou To lisibles par un humain, à combiner obligatoirement avec -l. -R liste récursivement tous les sous-répertoires, pratique pour explorer une arborescence complète en une seule commande.
Trier et filtrer les résultats avec ls
Le tri alphabétique est le comportement par défaut de ls, sans aucune option. Mais dans mon expérience, ce n’est presque jamais le tri dont j’ai besoin sur un serveur en production.
- -t trie par date de modification, du plus récent au plus ancien
- -S trie par taille, du plus gros au plus petit
- -r inverse l’ordre de tri, quel qu’il soit
- -X trie par extension de fichier
Pour lister uniquement les répertoires d’un dossier, sans les fichiers, j’utilise ls -d */ — le vrai game-changer ici, c’est le slash final qui filtre tout ce qui n’est pas un dossier.
Combinaisons d’options les plus utiles au quotidien
La communauté sysadmin recense plus de 17 combinaisons d’options ls jugées les plus utiles. Voici celles que j’utilise vraiment, testées sur mes propres serveurs.
Pour visualiser ces commandes en contexte réel, cette vidéo de Julien Code détaille plusieurs cas d’usage d’administration système avec ls et ses combinaisons.
- ls -la pour un audit complet d’un dossier, fichiers cachés compris
- ls -lh quand je veux des tailles lisibles sans calculer les octets
- ls -lt ou ls -lrt pour repérer les fichiers modifiés récemment (le « r » inverse pour avoir les plus récents en bas, pratique en scroll de terminal)
- ls -R pour explorer une arborescence complète avant un nettoyage de disque
Erreurs courantes et messages d’erreur avec ls
Soyons honnêtes. Tout le monde tombe un jour sur « Permission denied » en tapant ls sur un dossier système. Ce message apparaît quand l’utilisateur courant n’a pas les droits de lecture sur le répertoire ciblé. La solution la plus rapide est de préfixer la commande par sudo, mais je recommande de vérifier d’abord les permissions avec ls -l sur le dossier parent avant de sortir l’artillerie lourde.
Évite d’abuser de sudo par réflexe. Comprendre pourquoi l’accès est refusé évite bien des mauvaises surprises sur un serveur de production.
Autre piège fréquent : la différence entre ls repertoire et ls -d repertoire. Sans -d, ls liste le contenu du dossier. Avec -d, elle affiche une ligne d’information sur le dossier lui-même, sans entrer dedans. Indispensable si on combine avec -l pour connaître les permissions d’un dossier précis.
Enfin, la colonne type du format long distingue bien un lien symbolique (d marqué « l ») d’un fichier ou d’un dossier classique. J’ai testé, j’ai raté, et voilà ce que j’en retiens : un lien cassé pointe vers un fichier qui n’existe plus, et ls l’affiche quand même en rouge clignotant sur la plupart des terminaux configurés avec des couleurs.
Aller plus loin avec ls dans les scripts et alias
Dans les coulisses de mon propre .bashrc, j’ai un alias qui me fait gagner un temps fou : alias ll='ls -alh'. Il suffit d’ajouter cette ligne à la fin du fichier ~/.bashrc puis de recharger avec source ~/.bashrc pour que « ll » devienne mon raccourci quotidien.
Ls devient encore plus utile combinée à d’autres commandes dans un pipeline. Par exemple, ls -l | grep ".log" filtre uniquement les fichiers journaux, et ls | wc -l compte le nombre d’éléments dans un dossier — un réflexe que j’utilise pour vérifier rapidement la volumétrie d’un répertoire avant une sauvegarde.
Des alternatives modernes comme exa, lsd ou tree proposent des sorties colorées et arborescentes plus lisibles, mais ls reste le socle universel présent sur toute machine Linux, sans installation supplémentaire. Et franchement, ça change tout de maîtriser d’abord l’outil natif avant de se tourner vers ces surcouches — la commande ls Linux restera toujours la base sur laquelle tout le reste s’appuie.



