====== ls ======
* Objet: commande ls
* Niveau requis :{{tag>débutant avisé}}
* Commentaires : // Commande de base pour lister les fichiers //
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
* Suivi : {{tag>à-compléter}}
* Création par [[user>mattux]] le 03/06/2007
* Testé par [[user>milou]] le 17/12/2015
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?pid=113015#p113015 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Introduction =====
La commande **ls** permet d'obtenir la liste et les caractéristiques des fichiers contenus dans un répertoire. \\
Si aucun argument n'est donné, la commande "ls" affiche la liste des noms de fichiers du répertoire courant.
===== Utilisation de base =====
ls /chemin/
==== Exemple ====
Voici la liste de mon répertoire personnel :
ls
Bureau Documents Images Modèles Musique Public Téléchargements Vidéos
La commande ''ls'' contient de nombreuses options, en voici l'essentiel. \\
Pour connaître les autres options, vous avez deux possibilités.
- Pour les utilisateurs de KDE ou pour ceux qui aiment Konqueror tout simplement, ouvrez celui-ci et tapez dans la barre d'adresse (l’url) : “#commande” (N'oubliez pas le dièse (#) sans espace).
- Pour les autres, vous pouvez obtenir, à tout moment, dans un terminal, la page du manuel de la commande en tapant :
man ls
==== Option -d ====
**Edenris** a écrit : \\
//À quoi sert l'option -d ?//
**raleur** : \\
Par défaut, lorsqu'un argument passé à ls est un répertoire, ls affiche le contenu du répertoire au lieu d'afficher le répertoire lui-même comme il le ferait pour un simple fichier. L'option -d rétablit ce comportement.
**Edenris** a écrit : \\
//Pourquoi sort-elle donc qu'un simple point ?//
**raleur** : \\
Sans argument, ls affiche le contenu du répertoire courant, et avec -d le répertoire courant lui-même symbolisé par ".".
**Edenris** a écrit :
//Comment se fait-il que j'obtiens le même résultat entre "ls" et "ls -p" ?//
**raleur** : \\
L'option -p ajoute un / aux noms de répertoires pour les distinguer des autres types de fichiers. Je suppose que le répertoire courant ne contient aucun répertoire non masqué (nom commençant par ".").
Lien au forum : \\
* https://debian-facile.org/viewtopic.php?pid=309055#p309055
==== Option -p ====
Cette option permet de distinguer les répertoires des fichiers dans le retour de commande en ajoutant / après le nom de chaque répertoire . \\
Exemple
ls -p /etc/apt
apt.conf.d/ preferences.d/ sources.list.d/ trusted.gpg.d/
listchanges.conf sources.list trusted.gpg
apt.conf.d, preferences.d, sources.list.d, et trusted.gpg.d sont des sous-répertoires du répertoire système apt. \\
listchanges.conf sources.list trusted.gpg sont des fichiers contenus dans le répertoire apt. \\
Cette option est utile pour distinguer facilement les répertoires des fichiers.
==== Option -a ====
Pour ajouter à la liste les répertoires cachés, ajouter l'option -a :
ls -a
===== Option : commande ls -l =====
L'option ''-l'' permet d'afficher une liste détaillée des caractéristiques de chaque fichier du répertoire (aide pour voir les droits du fichier).
==== Exemple ====
Voila ce que affiche l'option ''-l'' :
ls -l
total 32
drwxr-xr-x 2 ddd ddd 4096 nov. 5 08:16 Bureau
drwxr-xr-x 2 ddd ddd 4096 nov. 5 08:16 Documents
drwxr-xr-x 2 ddd ddd 4096 nov. 5 11:51 Images
drwxr-xr-x 2 ddd ddd 4096 nov. 5 08:16 Modèles
drwxr-xr-x 2 ddd ddd 4096 nov. 5 08:16 Musique
drwxr-xr-x 2 ddd ddd 4096 nov. 5 08:16 Public
drwxr-xr-x 2 ddd ddd 4096 nov. 5 08:16 Téléchargements
drwxr-xr-x 2 ddd ddd 4096 nov. 5 08:16 Vidéos
Il est d'usage d'ajouter l'option ''-h'' à ''-l'' afin d'obtenir les informations de poids d'occupation en plus lisible pour un humain plutôt qu'en **octet** (moins parlant pour un humain... d'où -h pour human readable, c'est à dire lisible pour un humain;)) Avec cette option ls va adapter son affichage en utilisant l'unité la plus adaptée. (imaginez, le nombre en octets de plusieurs **méga** octects, c'est difficile à lire !) \\
Ainsi :
ls -lh
total 32K
drwxr-xr-x 2 ddd ddd 4,0K nov. 5 08:16 Bureau
drwxr-xr-x 2 ddd ddd 4,0K nov. 5 08:16 Documents
drwxr-xr-x 2 ddd ddd 4,0K nov. 5 11:51 Images
drwxr-xr-x 2 ddd ddd 4,0K nov. 5 08:16 Modèles
drwxr-xr-x 2 ddd ddd 4,0K nov. 5 08:16 Musique
drwxr-xr-x 2 ddd ddd 4,0K nov. 5 08:16 Public
drwxr-xr-x 2 ddd ddd 4,0K nov. 5 08:16 Téléchargements
drwxr-xr-x 2 ddd ddd 4,0K nov. 5 08:16 Vidéos
Pour le décodage de la sortie de ls : [[:doc:systeme:droits-unix|droit unix]]
==== Exemple pour les UUID des partitions ====
[[doc:systeme:uuid_des_partitions| Les UUID des partitions]]
===== Tableau des options =====
^ Option ^ Résultat^
|ls -R |pour récursif, permet d'afficher une liste des caractéristiques de chaque fichier dans tous les répertoires à partir d'où nous sommes. |
|ls -lR |permet d'afficher une liste des caractéristiques de chaque fichier de tous les répertoires à partir d'où nous sommes avec les caractéristiques des droits. |
|ls -t |permet de trier le contenu des répertoires en fonction de la date et non pas en ordre alphabétique. Les fichiers les plus récents sont présentés en premier. |
|ls -u |permet d'employer la date des derniers accès aux fichiers plutôt que la date de modification, autant pour l’affichage (option -l) que pour le tri (option -t). |
|ls -a |permet d'afficher tous les fichiers et dossiers d'un répertoire, y compris ceux qui sont cachés (ceux qui commencent par un point ''« . »''). |
|ls -d |permet d'afficher une liste des répertoires __sans leur contenu__ à partir d'où nous sommes. |
===== Utilisation avec un motif =====
Il peut être intéressant dans certaines circonstances de vouloir lister uniquement les fichiers qui commencent par une certaine lettre. Je voudrais, par exemple, lister les fichiers qui commencent par la lettre g dans le répertoire /sbin.
Pour ce faire, je vais taper la commande suivante :
Se placer dans le répertoire concerné
cd /sbin
ls g*
Ce qui va donner le résultat :
getcap getpcaps getty
===== TP - Créer une liste de sous-répertoire =====
Se placer dans le répertoire maître puis taper et valider :
ls > liste_repertoires.txt
Et pour visionner le résultat :
cat liste_repertoires.txt
Voir les tutos [[doc:programmation:shell:chevrons|chevron]] et [[doc:systeme:cat|cat]].
//Un Krô merci à **framend** qui m'a dépanné sur le coup.// :-)
On peut utiliser [[doc:systeme:tree|tree]] à la place de ls pour consulter également les contenus des répertoires.
===== Ressources =====
* [[utilisateurs:enicar:tutos:peregrination-autour-de-ls-l|Pérégrination autour de ls -l]]