GNU/Linux >> Tutoriels Linux >  >> Linux

Comment trouver des fichiers volumineux Linux avec les commandes find et du

Les commandes Linux find et du viendra à votre secours.

Utiliser la commande du

Le du La commande est utilisée pour estimer l'utilisation de l'espace fichier sur le système Linux. Il affiche les informations d'utilisation du disque.

Utilisons du pour vérifier le contenu de /boot :

# du
0   ./efi/EFI/centos
0   ./efi/EFI
0   ./efi
2400    ./grub2/i386-pc
3176    ./grub2/locale
2504    ./grub2/fonts
8096    ./grub2
4   ./grub
250556  .

Les valeurs à l'extrême gauche sont l'utilisation du disque, suivies du répertoire spécifique responsable de cette utilisation. La ligne du bas est un résumé de l'intégralité de /boot/ répertoire.

Voici une liste des du importants choix

  • -h , --human-readable imprime les sorties de taille dans un format lisible par l'homme.
  • -s , --summarize peut être combiné avec -h obtenir un résumé de l'utilisation du répertoire dans un format lisible par l'homme.
  • -a , --all répertorie les tailles de tous les fichiers et répertoires dans le chemin de fichier donné. Vous pouvez combiner avec -h

Maintenant, dans notre cas, nous voudrions classer l'utilisation de l'espace et vérifier le plus grand en premier, nous pouvons les trier en utilisant le sort commande. Si nous voulons limiter notre résultat, le head commande sera utile,

Obtenir les fichiers les plus volumineux avec du :

du -a / | sort -n -r | head -n 20

La commande ci-dessus utilise du pour obtenir l'utilisation du disque, alors le contenu est redirigé vers le tri, puis head n'affichera que les 20 premiers éléments.

Sortie :

# du -a / | sort -n -r | head -n 20

du: cannot access ‘/proc/20633/task/20633/fd/3’: No such file or directory
du: cannot access ‘/proc/20633/task/20633/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/20633/fd/4’: No such file or directory
du: cannot access ‘/proc/20633/fdinfo/4’: No such file or directory
43855216    /
38679004    /var
38558036    /var/log
38486524    /var/log/asterisk
18136900    /var/log/asterisk/full.prod-asterisk
15786756    /var/log/asterisk/debug.prod-asterisk
2408012 /var/log/asterisk/cdr-custom
2105416 /usr
2101960 /var/log/asterisk/cdr-csv/Master.csv
2101960 /var/log/asterisk/cdr-csv
2074504 /var/log/asterisk/cdr-custom/Master.csv
1014364 /opt
1002432 /usr/lib
635300  /home/centos
635300  /home
634528  /home/centos/debug.prod-asterisk
490704  /tmp
480260  /tmp/pip.log
403512  /opt/instana/agent
403512  /opt/instana

Souvent, vous obtiendrez des erreurs avant d'obtenir votre liste de fichiers volumineux. Cela provient souvent de fichiers auxquels vous n'êtes pas autorisé à accéder ou de toute sortie stderr. Utilisez 2>/dev/null pour ignorer ceux comme dans cette commande :

du -a / 2>/dev/null | sort -n -r | head -n 20

Utiliser la commande de recherche

Vous pouvez utiliser le find pour cibler uniquement les fichiers dans une recherche et trouver la taille de chacun, puis utiliser une combinaison de tri et de tête pour filtrer le contenu.

Exemple :

find / -type f -printf '%s %p\n' | sort -nr | head -10

La commande ci-dessus recherche tous les fichiers du système, puis imprime la taille et le chemin à l'aide de %s and %p directives. Le résultat est ensuite canalisé pour trier pour filtrer du plus grand au plus petit puis la tête se limitera à 10 résultat. Le -n est pour le tri numérique et le -r passé à trier inversera le résultat des comparaisons.

Sortie :

# find / -type f -printf '%s %p\n' | sort -nr | head -10
140737486266368 /proc/kcore
18595594900 /var/log/asterisk/full.prod-asterisk
16179399327 /var/log/asterisk/debug.prod-asterisk
2146986543 /var/log/asterisk/cdr-csv/Master.csv
2114553859 /var/log/asterisk/cdr-custom/Master.csv
649754355 /home/centos/debug.prod-asterisk
484122304 /tmp/pip.log
309011589 /var/log/asterisk/cdr-custom/Simple.csv
141488931 /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/lib/modules
106075056 /usr/lib/locale/locale-archive

Conclusion

À partir de l'explication ci-dessus, vous avez appris comment obtenir les fichiers et répertoires les plus volumineux et les plus volumineux sous Linux. Nous avons également appris à utiliser le sort commande pour trier la sortie renvoyée et le head commande pour limiter uniquement le résultat au nombre que nous avons spécifié.

Pour en savoir plus sur les commandes que nous avons utilisées, n'hésitez pas à utiliser les pages de manuel. Utilisez ces commandes :

man du  
man find  
man sort  
man head  
man tail

Linux
  1. Comment rechercher et trier des fichiers en fonction de la date et de l'heure de modification sous Linux

  2. Comment trouver des fichiers avec des autorisations SUID et SGID sous Linux

  3. Comment rechercher des fichiers avec la commande fd sous Linux

  4. Comment rechercher et supprimer des répertoires et des fichiers vides sous Linux

  5. Comment trouver tous les fichiers se terminant par .rb avec Linux ?

Comment utiliser les commandes de recherche et de localisation sous Linux :Guide du débutant

Trouver des fichiers volumineux sous Linux

Comment utiliser sed pour rechercher et remplacer une chaîne dans des fichiers

Comment rechercher et supprimer des fichiers en double sous Linux

Comment rechercher des fichiers avec la commande fd sous Linux

Comment trouver des fichiers en double sous Linux et les supprimer