Au fil du temps, votre lecteur de disque peut être encombré de nombreux fichiers inutiles occupant une grande quantité d'espace disque. Généralement, les systèmes Linux manquent d'espace disque en raison de fichiers journaux ou de sauvegarde volumineux.
Ce tutoriel explique comment trouver les fichiers et répertoires les plus volumineux dans les systèmes Linux à l'aide de find
et du
commandes.
Rechercher des fichiers volumineux à l'aide de find
Commande #
Le find
La commande est l'un des outils les plus puissants de l'arsenal des administrateurs système Linux. Il vous permet de rechercher des fichiers et des répertoires en fonction de différents critères, notamment la taille du fichier.
Par exemple, pour rechercher des fichiers dont la taille est supérieure à 100 Mo, dans le répertoire de travail actuel, vous exécuterez la commande suivante :
sudo find . -xdev -type f -size +100M
Remplacez .
avec le chemin d'accès au répertoire dans lequel vous souhaitez rechercher les fichiers les plus volumineux. La sortie affichera une liste de fichiers sans aucune information supplémentaire.
/var/lib/libvirt/images/centos-7-desktop_default.img
/var/lib/libvirt/images/bionic64_default.img
/var/lib/libvirt/images/win10.qcow2
/var/lib/libvirt/images/debian-9_default.img
/var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
/var/lib/libvirt/images/centos-7_default.img
Le find
La commande peut également être utilisée en combinaison avec d'autres outils tels que ls
ou sort
pour effectuer des opérations sur ces fichiers.
Dans l'exemple ci-dessous, nous transmettons la sortie de find
commande à ls
qui imprimera la taille de chaque fichier trouvé, puis dirigera cette sortie vers le sort
commande pour le trier en fonction de la 5e colonne qui correspond à la taille du fichier.
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r
La sortie ressemblera à ceci :
-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2
-rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img
-rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img
-rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
-rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img
-rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img
Si la sortie contient beaucoup de lignes d'informations, vous pouvez utiliser le head
commande pour n'imprimer que les 10 premières lignes :
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head
Décomposons la commande :
find . -xdev -type f -size +100M -print
- rechercher uniquement les fichiers (-type f
) dans le répertoire de travail courant (.
), supérieure à 100 Mo (-size +100M
), ne pas descendre les répertoires sur d'autres systèmes de fichiers (-xdev
) et imprimez le nom complet du fichier sur la sortie standard, suivi d'une nouvelle ligne (-print
).xargs ls -lh
- la sortie de lafind
la commande est redirigée versxargs
qui exécute lels -lh
commande qui imprimera la sortie dans un format long lisible par l'homme.sort -k5,5 -h -r
- trier les lignes en fonction de la 5ème colonne (-k5,5
), comparer les valeurs dans un format lisible par l'homme (-h
) et inverser le résultat (-r
).head
:imprime uniquement les 10 premières lignes de la sortie canalisée.
Le find
La commande est livrée avec de nombreuses options puissantes. Par exemple, vous pouvez rechercher des fichiers volumineux datant de plus de x jours, des fichiers volumineux avec une extension spécifique ou des fichiers volumineux appartenant à un utilisateur particulier.
Rechercher des fichiers et répertoires volumineux à l'aide de du
Commande #
Le du
La commande est utilisée pour estimer l'utilisation de l'espace fichier, et elle est particulièrement utile pour trouver des répertoires et des fichiers qui consomment de grandes quantités d'espace disque.
La commande suivante imprimera les fichiers et répertoires les plus volumineux :
du -ahx . | sort -rh | head -5
La première colonne comprend la taille du fichier et la seconde le nom du fichier :
55G .
24G ./.vagrant.d/boxes
24G ./.vagrant.d
13G ./Projects
5.2G ./.minikube
Explication de la commande :
du -ahx .
:estimer l'utilisation de l'espace disque dans le répertoire de travail courant (.
), compte à la fois les fichiers et les répertoires (a
), tailles d'impression dans un format lisible par l'homme (h
) et ignorer les répertoires sur différents systèmes de fichiers (x
).sort -rh
:trier les lignes en comparant les valeurs dans un format lisible par l'homme (-h
) et inverser le résultat (-r
).head -5
:imprime uniquement les cinq premières lignes de la sortie canalisée.
Le du
La commande a de nombreuses autres options qui peuvent être utilisées pour affiner la sortie de l'utilisation de l'espace disque.
Conclusion #
Nous vous avons montré comment trouver les fichiers et répertoires les plus volumineux à l'aide de find
et du
commandes.
Maintenant que vous savez comment trouver les fichiers les plus volumineux de votre système, vous pouvez lire notre guide sur la suppression de fichiers et de répertoires à l'aide de la ligne de commande Linux.
Si vous avez des questions ou des remarques, veuillez laisser un commentaire ci-dessous.