commande ls
La commande ls affiche le contenu d’un répertoire. Si aucune option n’est fourni à la commande ls, cette dernière affiche le contenu du répertoire courant.
Par défaut, la commande ls n’affiche pas les fichiers commençant par un point ‘.’ (c’est à dire les fichiers cachés).
L’option -a affiche les fichiers cachés (ceux commençant par un point). L’option -l permet d’afficher la taille de chacun des fichiers.
Listez le contenu du répertoire courant
Dans cet exemple, nous listons le contenu du répertoire courant. Nous utilisons la commande ls sans option, le résultat s’affiche directement sur la sortie standard.
1 2 | [romain@arch_machine Programmation]$ ls file.c hello.c Makefile memcpy.c memset.c prod test.c test.o |
Ci-dessus, nous pouvons observer que la commande ls, liste les fichiers et répertoire(s) contenus dans le répertoire courant (c’est à dire celui dans lequel nous nous trouvons).
Listez les fichiers avec des informations détaillées
L’option -l de la commande ls permet d’afficher les informations suivantes :
- le type de fichier;
- – pour les fichiers ordinaires;
- d pour les répertoires (directory);
- b pour les fichiers spéciaux en mode bloc (la taille est remplacée par le numéro mineur et majeur du périphérique);
- c pour les fichiers spéciaux en mode caractère (idem que précédement concernant la taille);
- l pour les liens symboliques;
- p pour les fifo (pipes);
- s pour les socket;
- les permissions d’accès;
- le nombre de liens physiques;
- le nom du propriétaire et du groupe;
- la taille en octets;
- l’horodatage (date de dernière modification).
1 2 3 4 5 6 7 8 9 10 | [romain@arch_machine Programmation]$ ls -l total 32 -rw-r--r-- 1 romain romain 5 11 juil. 2015 file.c -rw-r--r-- 1 romain romain 639 23 sept. 21:25 hello.c -rw-r--r-- 1 romain romain 161 23 sept. 21:28 Makefile -rwxrwxrwx 1 romain romain 341 11 juil. 2015 memcpy.c -rwxrwxrwx 1 romain romain 389 11 juil. 2015 memset.c drwxr-xr-x 2 romain romain 4096 1 mars 10:34 prod -rw-r--r-- 1 romain romain 117 22 sept. 20:48 test.c -rw-r--r-- 1 romain romain 1496 22 sept. 20:41 test.o |
Taille totale :
Dans l’exemple ci-dessus, la première ligne total 32 indique la taille totale des fichiers listés, cette dernière est exprimée en blocs de 512octets. Le bloc (ou en anglais cluster) est la plus petite unité de stockage du système de fichiers.
Type de fichiers :
Le premier caractère est un tiret -, il s’agit donc d’un fichier ordinaire. S’il s’agissait d’un répertoire il y aurait eu d (directory).
Permissions d’accès :
Le champ rw-r--r-- indique les permissions d’accès, ce dernièr se décompose en trois parties :
- Première partie :
Concerne les droits d’accès du propriétaire. Ce dernier possède un accès en lecture (r pour read) et écriture (w pour write). Le fichier ne peut donc pas être éxécuté sauf si la lettre x avait été présente.
- Deuxième partie :
Concerne les droits d’accès du groupe. Ici r indique que le fichier est accèssible uniquement en lecture pour le groupe auquel appartient le fichier.
- Troisième partie :
Concerne les droits d’accès des autres (n’appartenant pas au groupe). Ici r indique un acceès possible qu’en lecture.
Nombre de liens physiques :
L’indication 1 indique qu’il existe qu’un seul lien physique sur ce fichier.
Propriéataire et groupe :
Le fichier appartient donc à l’utilisateur romain et au groupe du même nom.
Taille :
Le fichier a une taille de 5 octets.
Dernière date de modification :
Sa dernière date de modification est le 11 juil. 2015
Nom :
Le nom du fichier est file.c
Affichez les fichiers cachés en utilisant ls -a
Par défaut, sous linux, tous les fichiers ne sont pas affichés. Les fichiers dont le nom commence par un point « . » ne sont pas affichés. Pour demander à la commande ls d’afficher ces fichiers utilisez l’option -a.
Exemple :
1 2 | [romain@arch_machine Programmation]$ ls -a . .. .file file.c hello.c Makefile memcpy.c memset.c prod test.c test.o |
Ci-dessus on peut voir qu’en ajoutant l’option -a, ls affiche trois résultats suplémentaires :
- . correspond au répertoire courant;
- .. correspond au répertoire supérieur (parent);
- .file correspond à un fichier caché.
Affichez la taille des fichiers de manière plus lisible (en kilo, méga, et giga octets)
Utilisez l’option -h ( --human-readable ) pour afficher la taille des fihiers d’une façon plus compréhensible :
1 2 3 4 | [romain@arch_machine test]$ ls -lh total 22M -rw-r--r-- 1 romain romain 1,1M 14 mai 2015 Fichier2.tar.gz -rw-r--r-- 1 romain romain 21M 14 janv. 2014 Fichier.rar |
Listez les fichiers en triant par date en utilisant ls -t
Par defaut les fichiers sont triés par ordre alphabétique. L’option -t permet de trier le contenu du répertoire à partir de la date :
1 2 3 4 5 6 7 8 9 10 | [romain@arch_machine Programmation]$ ls -lt total 32 drwxr-xr-x 2 romain romain 4096 1 mars 10:34 prod -rw-r--r-- 1 romain romain 161 23 sept. 21:28 Makefile -rw-r--r-- 1 romain romain 639 23 sept. 21:25 hello.c -rw-r--r-- 1 romain romain 117 22 sept. 20:48 test.c -rw-r--r-- 1 romain romain 1496 22 sept. 20:41 test.o -rw-r--r-- 1 romain romain 5 11 juil. 2015 file.c -rwxrwxrwx 1 romain romain 389 11 juil. 2015 memset.c -rwxrwxrwx 1 romain romain 341 11 juil. 2015 memcpy.c |
L’option -r permet d’inverser l’ordre du tri afin d’avoir la date de modification la plus récente en bas :
1 2 3 4 5 6 7 8 9 10 | [romain@arch_machine Programmation]$ ls -lrt total 32 -rwxrwxrwx 1 romain romain 341 11 juil. 2015 memcpy.c -rwxrwxrwx 1 romain romain 389 11 juil. 2015 memset.c -rw-r--r-- 1 romain romain 5 11 juil. 2015 file.c -rw-r--r-- 1 romain romain 1496 22 sept. 20:41 test.o -rw-r--r-- 1 romain romain 117 22 sept. 20:48 test.c -rw-r--r-- 1 romain romain 639 23 sept. 21:25 hello.c -rw-r--r-- 1 romain romain 161 23 sept. 21:28 Makefile drwxr-xr-x 2 romain romain 4096 1 mars 10:34 prod |
Ajoutez de la couleur avec –color=auto
L’option
--color=auto permet d’ajouter de la couleur aux résultats de la commande ls :
Une astuce conssiste à ajouter cette option dans vos alias :
alias ls='ls --color=auto'
Utilisez les expressions régulières avec ls
Ci-dessous, on affiche uniquement les fichiers qui finissent par l’extension .c
1 2 | [romain@arch_machine Programmation]$ ls *.c file.c hello.c memcpy.c memset.c test.c |
Ci-dessous on n’affiche tout sauf les fichiers qui finissent avec l’extension .c
1 2 | [romain@arch_machine Programmation]$ ls -I "*.c" Makefile prod test.o |
Listez seulement les répertoires
Ci-dessous la commande ls liste seulement les répertoires :
1 2 3 4 5 6 7 8 | [romain@arch_machine ~]$ ls -ld */ drwxr-xr-x 2 romain romain 4096 17 août 2015 bin/ drwxr-xr-x 3 romain romain 4096 1 mars 12:18 Desktop/ drwxr-xr-x 2 romain romain 4096 1 mars 13:47 Documents/ drwxr-xr-x 3 romain romain 4096 1 mars 11:33 Images/ drwxr-xr-x 2 romain romain 4096 22 oct. 2014 Musique/ drwxr-xr-x 4 romain romain 4096 8 juil. 2015 Travail/ drwxr-xr-x 2 romain romain 4096 22 oct. 2014 Vidéos/ |
Listez récursivement le contenu des répertoires en utilisant ls -R
L’option -R permet d’afficher le contenu des répertoires de façon récursive :
1 2 3 4 5 6 | [romain@arch_machine Programmation]$ ls -R .: file.c hello.c Makefile memcpy.c memset.c prod test.c test.o ./prod: test |
Affichez un fichier par ligne avec ls -1
Utilisez l’option -1 pour afficher un fichier par ligne comme ci-dessous :
1 2 3 4 5 6 7 8 9 | [romain@arch_machine Programmation]$ ls -1 file.c hello.c Makefile memcpy.c memset.c prod test.c test.o |
Affichez le numero d’inode en utilisant ls -i
Pour la maintenance du système il peut parfois être nécessaire de connaître le numéro d’inode d’un fichier, utilisez alors l’option -i comme ci-dessous :
1 2 3 | [romain@arch_machine Programmation]$ ls -i 8781925 file.c 8783476 Makefile 8781999 memset.c 8783472 test.c 8783474 hello.c 8782000 memcpy.c 8914906 prod 8783470 test.o |
Affichez l’UID et le GID en utilisant ls -n
Par défaut, ls -l affiche le nom du propriétaire et le groupe, pour afficher ces informations dans un format numérique, utilisez l’option -n comme ci-dessous :
1 2 3 4 | [romain@arch_machine Programmation]$ ls -l file.c -rw-r--r-- 1 romain romain 5 11 juil. 2015 file.c [romain@arch_machine Programmation]$ ls -n file.c -rw-r--r-- 1 1000 1000 5 11 juil. 2015 file.c |
Classifier les fichiers en utilisant ls -F
L’option -F permet d’ajouter à la fin de chaque fichier un caractère permettant d’identifier son type plus rapidement. Les fichiers réguliers exécutables sont suivis d’un *'. Les répertoires sont suivis de
/’, les liens symboliques d’un @', les FIFOs d'un
|’. Les fichiers réguliers non-exécutables ne sont suivis d’aucun caractère.
1 2 | [romain@arch_machine Programmation]$ ls -F file.c hello.c Makefile memcpy.c* memset.c* prod/ test.c test.o |
Afficher les informations du fichier cible en utilisant ls -L
Pour afficher les informations du fichier cible au lieu du lien lui même, utilisez l’option -L comme ci-dessous :
1 2 3 4 5 6 7 8 9 | [romain@arch_machine Programmation]$ ls -l total 32 -rw-r--r-- 1 romain romain 639 23 sept. 21:25 hello.c lrwxrwxrwx 1 romain romain 7 1 mars 14:27 hellop -> hello.c [romain@arch_machine Programmation]$ ls -lL total 36 -rw-r--r-- 1 romain romain 639 23 sept. 21:25 hello.c -rw-r--r-- 1 romain romain 639 23 sept. 21:25 hellop [romain@arch_machine Programmation]$ |