Découvrez la Commande ls

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 ! 🚀