Android

Trouver de gros fichiers sous Linux

Recherche sous Linux avec find sous Ubuntu

Recherche sous Linux avec find sous Ubuntu

Table des matières:

Anonim

Au fil du temps, votre lecteur de disque peut être encombré de nombreux fichiers inutiles occupant de grandes quantités d'espace disque. Habituellement, les systèmes Linux manquent d'espace disque en raison de fichiers journaux ou de sauvegarde volumineux.

Ce didacticiel explique comment rechercher les fichiers et les répertoires les plus volumineux dans les systèmes Linux à l'aide des commandes find et du .

Rechercher des fichiers volumineux à l'aide de la commande find

La commande find 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, si vous souhaitez rechercher des fichiers d'une taille supérieure à 100 Mo, dans le répertoire de travail actuel, vous utiliserez 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

La commande find 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 la commande find à ls qui imprimera la taille de chaque fichier trouvé, puis redirige cette sortie vers la commande sort pour la trier en fonction de la 5e colonne qui est 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 la commande head pour imprimer uniquement 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 find. -xdev -type f -size +100M -print - recherche uniquement les fichiers ( -type f ) dans le répertoire de travail actuel ( . ), supérieurs à 100 Mo ( -size +100M ), ne descendez pas les répertoires sur d'autres systèmes de fichiers ( -xdev ) et imprimer le nom de fichier complet sur la sortie standard, suivi d'une nouvelle ligne ( -print ). xargs ls -lh - la sortie de la commande find est redirigée vers xargs qui exécute la commande ls -lh qui imprimera la sortie dans une liste longue au format lisible par l'homme. sort -k5, 5 -h -r - trie les lignes en fonction de la 5ème colonne ( -k5, 5 ), compare les valeurs au format lisible par l'homme ( -h ) et inverse le résultat ( -r ). head : imprime uniquement les 10 premières lignes de la sortie canalisée.

La commande find 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.

Recherche de fichiers et de répertoires volumineux à l'aide de la commande du

La commande du 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 imprime 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 actuel ( . ), compter les fichiers et les répertoires ( a ), imprimer les tailles dans un format lisible par l'homme ( h ) et ignorer les répertoires sur différents systèmes de fichiers ( x ). sort -rh : triez les lignes en comparant les valeurs dans un format lisible par l'homme ( -h ) et inversez le résultat ( -r ). head -5 : imprime uniquement les 5 premières lignes de la sortie canalisée.

La commande du inclut d'autres options que vous pouvez utiliser pour affiner la sortie de l'utilisation de l'espace disque.

Conclusion

La recherche de fichiers volumineux est très utile lorsque votre disque est plein et que vous souhaitez le libérer.

Maintenant que vous avez trouvé les fichiers les plus volumineux sur votre système, vous pouvez lire notre guide sur la façon de supprimer des fichiers et des répertoires à l'aide de la ligne de commande Linux.

trouver un terminal de disque