Niveau débutant

Lister le contenu d’un dossier avec ls

La commande ls dans un shell sous Mac OS X
Première publication : 15 septembre 2002.
Mise en ligne: 18 février 2007.
Modifié le : 21 février 2007.
Par Frédéric Guerrier
Lister le contenu d'un dossier avec ls, Mac, , OS X, , Terminal, , ls, , Shell, , Lister, , Fichiers, , Dossier, , Commande, , Fichier, , Répertoire

Dans un shell du Terminal de Mac OS X, lister le contenu d’un dossier est une opération basique qu’il faut savoir maîtriser. Si vous ne savez pas ce qu’est l’application Terminal, je vous invite à lire l’article sur l’introduction au Terminal.

La commande ls

La commande ls permet de naviguer dans le système de fichiers afin d’en déterminer le contenu. Lorsque l’on tape ls, on obtient toujours la liste du contenu du répertoire courant.

Ouvrez un shell et commençons par voir ce que vous avez dans le dossier de départ de votre compte (symbolisé dans le Finder par une icône qui représente une maison), pour cela tapez dans le shell à la suite de l’invite la commande ls, puis appuyez sur la touche entrée pour exécuter cette commande :


$ ls
Desktop         Faxes           Movies          Pictures        Sites
Documents       Library         Music           Public          bin

Le résultat de ls affiche donc la liste de tous les dossiers et fichiers présents à la racine du dossier votre_nom, évidemment, il se peut que votre dossier de départ ne soit pas identique à ceci !

Je vous conseille de bien respecter les majuscules/minuscules lorsque vous entrez du texte sur la ligne de commande. Bien que cela ne soit pas toujours nécessaire, un système Unix est sensible à la casse, ainsi /Applications est différent de /applications.

Des options pour ls

La commande ls dispose d’un grand nombre d’options qui influent sur le résultat retourné :
-  Soit sur son contenu,
-  soit sur son format,
-  soit sur le tri des objets de la liste.

En effet, on peut avoir besoin d’afficher différentes informations sur le système de fichier en fonction du contexte. Vous pouvez vous poser un grand nombre de questions sur vos fichiers, par exemple :
-  Quelles sont les tailles des fichiers ?
-  Quels sont les fichiers et les répertoires ?
-  De quand datent-ils ?
-  Quels sont les fichiers cachés ?
-  Etc.

- L’option C :

Lorsqu’un répertoire contient un grand nombre de fichiers, il est utile de pouvoir afficher le résultat sur plusieurs colonnes, on utilise alors l’option C :


$ ls -C
Desktop         Faxes           Movies          Pictures        Sites
Documents       Library         Music           Public          bin

C’est le mode d’affichage par défaut du résultat de ls sous Mac OS X. Il se peut que sous d’autres systèmes Unix ou Linux, ce comportement de base soit différent.

- L’option a :

Vous savez peut-être que Mac OS X, comme tout système Unix, traite chaque fichier dont le nom commence par un . (point) comme un fichier caché. Votre répertoire de départ en contient quelques-un, qui regroupent par exemple les préférences du shell et d’autres applications. Pour lister ces fichiers invisibles, vous devez utiliser l’option a :


$ ls -a

(Pour des raisons de taille de la liste obtenue et de sécurité, je n’affiche pas le résultat de cette option)

- L’option F :

Une autre option très pratique permet d’ajouter des suffixes aux fichiers, afin d’en indiquer leur type lors d’un listing normal du dossier :


$ ls -F
Desktop/        Faxes/          Movies/         Pictures/       Sites/
Documents/      Library/        Music/          Public/         bin/
  • Les noms listés sont alors suivis de symboles :
    • Un / identifie les dossiers.
    • Une étoile * pour les programmes exécutables.
    • Un @ détermine les liens symboliques
    • tout le reste correspond à des fichiers ordinaires.

- L’option m :

L’option m de la commande ls provoque l’affichage des fichiers sous la forme d’une liste d’éléments séparés par des virgules, c’est souvent utile pour vérifier rapidement le contenu d’un répertoire :


$  ls -m
Desktop, Documents, Faxes, Library, Movies, Music, Pictures, Public, Sites, bin

- L’option 1 :

Au contraire, lorsque l’on souhaite afficher le résultat de la commande ls sur une seule colonne, on lui ajoute l’option 1 (un) :


$ ls -1
Desktop
Documents
Faxes
Library
Movies
Music
Pictures
Public
Sites
bin

- L’option s :

L’option s quant à elle se charge de vous reinseigner sur le poids des fichiers, exprimés en octets. Il est curieux de constater que sous Mac OS X, cette option ne fonctionne pas pour les répertoires (certainement pour économiser des ressources processeur, et éviter ainsi au système de calculer le poids de chaque dossier à chaque fois) :


ls -s
total 0
0 Desktop       0 Documents     0 Faxes         0 Library       0 Movies        0 Music         0 Pictures      0 Public        0 Sites         0 bin

Elle fonctionne par contre correctement pour les fichiers.

Modifier les options de tri

Il se peut que les options de tri par défaut (c’est à dire par ordre alphabétique) du résultat de la commande ls ne vous conviennent pas, ou tous simplement que vous souhaitiez les modifier pour certaines raisons pratiques que nous allons examiner.

- L’option x :

L’option x provoque un tri par ligne de gauche à droite et de haut en bas, plutôt qu’un tri par colonnes :


$ ls -x
Desktop         Documents       Faxes           Library         Movies          Music           Pictures
Public          Sites           bin

- L’option t :

L’option t provoque un tri par date de dernière modification des fichiers :


$ ls -t
Desktop         bin             Library         Music           Public
Documents       Pictures        Sites           Movies          Faxes

- L’option u :

L’option u provoque un tri par date de dernière utilisation des fichiers :


$ ls -u
Desktop         Faxes           Movies          Pictures        Sites
Documents       Library         Music           Public          bin

- L’option r :

L’option r inverse l’ordre de tri quel qu’il soit :


$ ls -r
bin             Public          Music           Library         Documents
Sites           Pictures        Movies          Faxes           Desktop

La liste longue d’un répertoire

Le format long de la commande ls est de loin le plus utile et bavard. On l’obtient avec l’option l (L minuscule) :


$ ls -l
drwx------    12 502  502    408 Feb 18 17:26 Desktop
drwx------   361 502  502  12274 Feb 17 19:54 Documents
drwxr-x---     2 502  502     68 Jun  8  2006 Faxes
drwx------    51 502  502   1734 Feb  8 19:10 Library
drwx------    12 502  502    408 Dec 22 11:13 Movies
drwx------    75 502  502   2550 Jan  7 10:44 Music
drwx------   115 502  502   3910 Feb 14 02:00 Pictures
drwxr-xr-x     5 502  502    170 Jun 16  2006 Public
drwxr-xr-x    19 502  502    646 Jan 21 12:40 Sites
drwx------    96 502  502   3264 Feb 15 11:15 bin

-  La première colonne indique le type et les droits d’accès au fichier ou dossier de la ligne.

  • En ce qui concerne le type de fichier :
    • - correspond à un fichier
    • d correspond à un répertoire
    • l correspond à un lien symbolique (alias)
    • s correspond à un socket
  • En ce qui concerne les droits d’accès aux fichiers :

-  La deuxième colonne indique le nombre de fichiers que contient le répertoire (comme chaque répertoire contient au moins les fichiers . et .., ce nombre est toujours au moins égal à 2)

-  Les troisième et quatrième colonnes indiquent le possesseur et le groupe du fichier.

-  La cinquième colonne indique le poids en octets du fichier.

Une astuce qui facilite la lecture consiste à ajouter l’option h à l’option l pour obtenir le poids en kilo-octets

$ ls -lh
Il se peut que sous Mac OS X, en fonction de certains réglages, le poids des dossiers ne soit pas calculé.

-  La sixième et septième colonne la date et l’heure de modification du fichier.

-  Et enfin la huitième colonne le nom de ce fichier.

Lister un autre dossier

Notez qu’il est possible de lister des répertoires sans changer d’emplacement, par exemple, vous pouvez lister un sous-dossier de votre dossier de départ (celui dans lequel vous vous trouvez par défaut) :


$ ls Public/
Drop Box

Mais également n’importe quel dossier du système en précisant son chemin d’accès :


$ ls -F /usr
X11R6/          include/        libexec/        sbin/           standalone/
bin/            lib/            local/          share/

Je suis dans mon dossier de départ et je liste le dossier usr situé à la racine de la partition de démarrage du système, que l’on représente avec le caractère /.

Vous pouvez aussi indiquer plusieurs répertoires à lister depuis l’endroit où vous vous trouvez :


$ ls /var Public
/var:
at      backups db      launchd mail    named   root    rwho    spool   vm      yp
audit   cron    empty   log     msgs    netboot run     samba   tmp     xgrid

Public:
Drop Box

Je suis dans mon dossier de départ et je veux lister le répertoires var situé à la racine du système et le dossier Public situé dans mon dossier. C’est très utile pour comparer le contenu de deux dossiers par exemple.

Vous avez certainement remarqué que lorsque l’on utilise l’option a, apparaissent deux fichiers étranges nommés . (point) et .. (point point), le point correspond au répertoire courant, et le point point au répertoire parent, ce sont en quelque sorte des raccourcis.

Un astuce très pratique consiste à pouvoir lister le répertoire parent dans lequel on se trouve. Pour ce faire, on peut utiliser :


$ ls ..
Shared          fredericguerrier

Lister récursivement des répertoires

Pour lister récursivement un dossier, il faut utiliser l’option R :


$ ls -R

Cela permet d’afficher le contenu du dossier, et si celui-ci en contient d’autres, cette option affiche aussi leur contenu, mais aussi le contenu des dossiers contenus dans ceux-ci, faites donc bien attention où vous exécutez cette commande, car elle peut retourner une très longue liste de fichiers. Par exemple si vous exécutez :


$ ls -R /

Le résultat sera la liste de tous les fichiers de votre Mac ! Ce qui peut prendre un certain temps. Pour interrompre éventuellement le listing si il est trop long, vous pouvez utiliser la combinaison de touches ctrl c.

Combiner plusieurs options

Vous connaissez maintenant des options d’ls très utiles, mais que faire si vous souhaitez afficher les suffixes avec l’option F, sur tous les fichiers d’un répertoire, même ceux qui sont cachés ?

Il est très simple de combiner plusieurs options d’une commande, il suffit de les regrouper et de les faire précéder d’un tiret :


$ ls -Fa

(Pour des raisons de taille de la liste obtenue et de sécurité, je n’affiche pas le résultat de cette option)

Il est aussi possible de séparer les options tant que chacune d’elles est précédée d’un tiret :


$ ls -a -1
.
..
.CFUserTextEncoding
.DS_Store
.Trash
.Xauthority
.bash_history
.bash_logout
.bash_profile
.bashrc
.dvdcss
.profile
Desktop
Documents
Faxes
Library
Movies
Music
Pictures
Public
Sites
bin

(Même si j’ai enlevé un certain nombre de fichiers du résultat de cette option, cela ressemble à ce que vous obtiendrez)

Avec les options a et 1, on affiche tous les fichiers et dossiers du dossier courant (pour l’instant c’est le dossier votre_nom) y comprit les fichiers invisibles, sous la forme d’une seule colonne.

L’ordre des /ptions importe peu, tout comme le fait de répéter la même option d’une commande plusieurs fois.

Alors dans la mesure où l’on peut combiner autant d’options que l’on souhaite, quelle est la combinaison la plus utile finalement ? Cet article ne serait pas complet sans un semblant de réponse à cette question. Je répondrai donc que chacun fait comme il veut, toutefois je vais me risquer à une suggestion :


$ ls -Flash

Le ls Flash, un petit moyen mémotechnique pour se souvenir facilement d’options utiles, cette combinaison permet d’afficher la liste longue de tous les fichiers et dossiers d’un répertoire, même ceux cachés par le système d’exploitation, et exprime leurs tailles dans une unité de mesure plus compréhensible par un être humain. Cerise sur le gâteau, le suffixe qui permet de reconnaître rapidement le type de fichier est ajouté.

Conclusion

Vous pouvez désormais combiner des options de ls pour formater la sortie de cette commande. Il existe de nombreuses autres options à la commande ls, n’oubliez pas que vous pouvez en obtenir la liste complète et les explications détaillées (en anglais) en tapant :


$ man ls

Pour être à l’aise avec l’utilisation du shell, il est important de bien s’entraîner et de maîtriser la commande ls, puis ensuite, de comprendre comment se déplacer dans l’arborescence de dossiers avec la commande cd.

Envoyer
L'e-mail du destinataire :

Votre Nom :

Votre e-mail :


 |  Imprimer |  Réagir
Lister le contenu d’un dossier
 le 19 janvier 2006 - Menu du forum
 

et le tres pratique ls -lh pour voir les tailles des fichiers de façon plus adaptée à notre oeil

ne pas oublier d’aliaser vos options favorites sous ll par exemple ...

 
Lister le contenu d’un dossier
Par Gilles D. le 17 janvier 2006 - Menu du forum
 
Voilà une bonne intro a la commande ls, couplée avec les alias* c’est le top !
 
alias de commmande - xrings
 
complement sur ls
Par allmighty le 10 juin 2006 - Menu du forum
 

salut des fois la liste de ls -lh est tres longue vous pourrez par exemple ajouter comme alias ; alias p="fc -s |less" donc cette alias relance la derniere commande cette fois avec un less sous pipe

//je vous remercie pour ce cours qui ma fait aimer //MacOS et je demande un lien pour tout(sur terminal) // imprimé une seule fois

 
complement sur ls
 
Copyright 2002-2017 xrings - Tous droits réservés - Mentions légales - Propulsé par SPIP - Webdesigner et référencement Frédéric Guerrier