GNU/Linux >> Tutoriels Linux >  >> Linux

Trouver des fichiers volumineux sous Linux

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 la find la commande est redirigée vers xargs qui exécute le ls -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.


Linux
  1. Comment trouver les fichiers modifiés récents ou d'aujourd'hui sous Linux

  2. 5 outils de ligne de commande pour trouver rapidement des fichiers sous Linux

  3. 25 exemples pratiques de commande de recherche utiles sous Linux

  4. Trouver des fichiers et des répertoires sous Linux comme un pro

  5. Commandes de recherche Linux

Comment trouver des fichiers en fonction de leurs autorisations sous Linux

3 façons de trouver des fichiers et des répertoires sous Linux

Comment déplacer un grand nombre de fichiers sous Linux

Comment copier un grand nombre de fichiers sous Linux

Trouvez facilement des fichiers et des répertoires sur Linux

Rechercher du texte dans des fichiers sous Linux à l'aide de grep