La commande ls
est l’une des commandes les plus utilisées et essentielles dans l’environnement Unix/Linux. Elle permet d’afficher la liste des fichiers et des répertoires dans un répertoire donné. Cet article vous guide à travers ses diverses options et comment l’utiliser dans vos scripts.
Utilisation de Base de ls
Pour commencer, la commande de base ls
s’utilise simplement en tapant :
ls
Exemple :
Documents Downloads Music Pictures Videos
Cela affichera tous les fichiers et répertoires dans le répertoire courant. Mais ls
peut faire beaucoup plus avec quelques options supplémentaires.
Options Courantes de ls
Voici quelques-unes des options les plus couramment utilisées :
ls -l
: Affiche les fichiers dans un format détaillé, incluant les permissions, le nombre de liens, le propriétaire, la taille et la date de modification.
ls -l
Exemple :
total 40
drwxr-xr-x 2 user user 4096 Jan 30 10:05 Documents
drwxr-xr-x 2 user user 4096 Jan 30 10:05 Downloads
drwxr-xr-x 2 user user 4096 Jan 30 10:05 Music
drwxr-xr-x 2 user user 4096 Jan 30 10:05 Pictures
drwxr-xr-x 2 user user 4096 Jan 30 10:05 Videos
ls -a
: Affiche tous les fichiers, y compris les fichiers cachés (ceux dont le nom commence par un point).
ls -a
Exemple :
. .. .bashrc .profile Documents Downloads Music Pictures Videos
ls -lh
: Affiche les fichiers avec des tailles lisibles par l’homme (par exemple, 1K, 234M, 2G).
ls -lh
Exemple :
total 40K
drwxr-xr-x 2 user user 4.0K Jan 30 10:05 Documents
drwxr-xr-x 2 user user 4.0K Jan 30 10:05 Downloads
drwxr-xr-x 2 user user 4.0K Jan 30 10:05 Music
drwxr-xr-x 2 user user 4.0K Jan 30 10:05 Pictures
drwxr-xr-x 2 user user 4.0K Jan 30 10:05 Videos
ls -t
: Trie les fichiers par date de modification, du plus récent au plus ancien.
ls -t
Exemple :
Music Videos Downloads Pictures Documents
ls -R
: Affiche les fichiers de manière récursive, y compris ceux des sous-répertoires.
ls -R
Exemple :
.:
Documents Downloads Music Pictures Videos
./Documents:
./Downloads:
./Music:
./Pictures:
./Videos:
Utilisation de ls
dans les Scripts
La commande ls
est également très utile dans les scripts shell pour automatiser des tâches. Voici un exemple simple de script utilisant ls
(attribuer les bons privilèges au script) :
#!/bin/bash
# Afficher la liste des fichiers dans le répertoire courant
echo "Liste des fichiers dans le répertoire courant :"
ls -l
# Afficher la liste des fichiers dans un répertoire spécifique
REPERTOIRE="/chemin/vers/repertoire"
echo "Liste des fichiers dans $REPERTOIRE :"
ls -l $REPERTOIRE
# Stocker la liste des fichiers dans une variable
LISTE_FICHIERS=$(ls)
echo "Les fichiers dans le répertoire courant sont : $LISTE_FICHIERS"
Exemple Pratique
Supposons que vous ayez un répertoire contenant des fichiers journaux (logs) et que vous souhaitiez archiver ceux qui sont modifiés depuis plus de 7 jours. Voici un script qui utilise ls
pour identifier et archiver ces fichiers (attribuer les bons privilèges au script) :
#!/bin/bash
# Répertoire des logs
LOG_DIR="/var/logs/myapp"
# Fichiers modifiés depuis plus de 7 jours
OLD_LOGS=$(ls -t $LOG_DIR | tail -n +8)
# Archiver les anciens fichiers
for log in $OLD_LOGS; do
tar -czf $LOG_DIR/archives/${log}.tar.gz $LOG_DIR/$log
rm $LOG_DIR/$log
echo "Archivé et supprimé : $log"
done
Explication :
ls -t $LOG_DIR
: Trie les fichiers par date de modification.tail -n +8
: Ignore les 7 fichiers les plus récents, listant ainsi ceux modifiés depuis plus de 7 jours.- La boucle
for
archive chaque fichier identifié et le supprime ensuite du répertoire des logs.
Conclusion
La commande ls
est un outil puissant et flexible pour gérer les fichiers et répertoires sous Unix/Linux. En combinant ses différentes options et en l’intégrant dans des scripts, vous pouvez automatiser efficacement vos tâches de gestion de fichiers. Essayez ces commandes et scripts pour mieux maîtriser votre environnement de travail ! 🚀