Rechercher des fichiers sous Linux

La commande find permet de rechercher rapidement des fichiers dans une arborescence linux en permettant d’exécuter une commande complémentaire.

Voici 3 exemples :

#Rechercher tous les fichiers et dossiers qui commencent par cron
find / -name cron*

#Rechercher tous les fichiers dont la taille est supérieure à 100 Mo et les lister avec les tailles
find / -type f -size +100M -exec ls -lh {} \;

#Recherche tous les fichiers log dans le répertoire /home/root/log qui ont plus de 7 jours et les supprimer
find /home/root/log/ -name '*.log' -mtime +7 -exec rm {} \; 

Afficher la taille des dossiers sous Linux

Pour voir rapidement la taille d’un ensemble de sous-dossiers (en prenant en compte toute la profondeur des répertoires), en ligne de commande sous Linux c’est tout simple :

du -sh */

Explication

du : Pour la commande Disk Usage.
s : option de calcul total de l’élément
h : pour afficher un résultat compréhensible pour un humain (Kilo,Mega,Giga-Octet …)
*/ : permet de prendre tous les sous-dossiers

Le réponse sera du type :

76M     backup/
410M    cache/
16K     lost+found/
11T     shares/

Comparer des nombres en Bash

Dans le cadre de conditions de type if then on peut vouloir comparer des variables numériques.

Vérification d’une égalité numérique entre 2 variables

#!/bin/bash

#Exemple de script utilisant l'égalité
read -p "Ecrire le chiffre 1 : " nombre

if [ $nombre -eq 1 ]
then
        echo "Vous avez écrit 1."
else
        echo "Vous n'avez pas écrit 1 mais "$nombre"."
fi

C’est donc l’opérateur -eq qui teste l’égalité des variables de la condition.

Liste des différents opérateurs disponible en bash :

-eq # égalité
-ge # plus grand ou égal
-gt # strictement plus grand
-le # plus petit ou égal
-lt # strictement plus petit
-ne # différent

Documentation Bash (En)