5 Alternatives au du Command

Auteur : JackTian
Source : Compte public "Jie Ge's IT Journey"
ID : Jake_Internet
Réimpression veuillez contacter l'autorisation (WeChat ID : Hc220088)
Adresse d'origine : 5 outils qui peuvent remplacer la commande du !

Bonjour à tous, je m'appelle Jack.

Dans le dernier article, je vous ai présenté " 10 outils alternatifs dans l'environnement Linux que vous ne connaissez pas ! "comprend principalement : bat, duf, tldr, htop, regards, exa, fd, ag, axel, pydf et leurs applications. Plus tard, j'ai continué à explorer et j'ai trouvé de bonnes alternatives et je les ai résumées.

Eh bien, je crois que cet article est basé sur des commandes natives, comme vous le savez. Dans l'environnement Linux, la commande du est familière à tout le monde. Elle peut calculer et résumer l'utilisation de l'espace des fichiers et des répertoires dans le système Linux.

Lorsque le fichier occupe 80% de l'espace disque et que l'espace ne peut pas être étendu temporairement, nous pouvons trouver les fichiers dans le répertoire spécifique qui occupe une grande quantité d'espace disque dans le système à nettoyer, exécutez simplement la commande suivante pour afficher le l'espace occupé par la taille du dossier.

# du -sh

Entrez le dossier qui occupe un grand espace et exécutez la commande suivante pour trier les fichiers du répertoire courant du plus grand au plus petit.

# du -sh * |sort -rh

Déterminez si les fichiers qui occupent un grand espace après la sortie peuvent être supprimés normalement en fonction de la situation réelle, afin de libérer de l'espace disque et d'observer l'utilisation du disque.

Lorsque le fichier occupe beaucoup d'espace disque, du s'exécutera très lentement, et il sera exécuté à plusieurs reprises à chaque fois pour trouver des fichiers volumineux, ce qui est inefficace ncdu. Ce problème peut être résolu à ce stade.

1. ncdu

ncdu est un analyseur d'utilisation de disque simple et rapide développé à l'aide du langage C et de l'interface ncurses, qui peut être utilisé pour afficher l'espace disque occupé par des répertoires ou des fichiers sur des systèmes locaux ou distants.

Ubuntu 21.10 avec ncdu:

# sudo apt-get install ncdu

options de paramètre ncdu :

  • -h: informations d'aide
  • -q: mode silencieux, l'intervalle de rafraîchissement est de 2 secondes
  • -v: version imprimée
  • -x: même système de fichiers
  • -e: Activer les informations étendues
  • -r: lecture seulement
  • -o FILE: exporte le répertoire de numérisation sous forme de fichier
  • -f FILE: Importer le répertoire de numérisation à partir du fichier
  • -0,-1,-2: UI à utiliser lors de l'analyse (0=aucun,2=complet ncurses)
  • --si: Utiliser le préfixe en base 10 (SI) au lieu de la base 2
  • --exclude PATTERN: Exclure les fichiers correspondant à PATTERN
  • -X, --exclude-from FILE: Exclure les fichiers correspondant à n'importe quel modèle dans le fichier
  • -L, --follow-symlinks: suivre les liens symboliques (hors répertoires)
  • --exclude-caches: Exclure les répertoires contenant CACHEDIR.TAG
  • --exclude-kernfs: Exclure les pseudo-systèmes de fichiers Linux (procfs, sysfs, cgroups...)
  • --confirm-quit:confirmer la sortie
  • --color SCHEME: Définissez le jeu de couleurs

Si vous n'utilisez aucune option de paramètre, vous pouvez directement exécuter la commande dans le répertoire à analyser, ncduet une fois l'analyse ncdu terminée, une interface de terminal interactif apparaîtra.

La taille de chaque répertoire peut être clairement vue, 使用方向键ou la Enterclé peut entrer ou sortir du répertoire spécifique sélectionné.

Lorsqu'il est constaté qu'un certain répertoire ou fichier occupe un grand espace, vous pouvez rechercher le fichier en fonction de l'utilisation du clavier mentionnée ci-dessus et confirmer que s'il peut être supprimé, il n'est pas nécessaire de quitter ncdu. ou le fichier à supprimer, appuyez sur la dtouche pour le supprimer. , si la suppression est terminée, appuyez sur le qbouton pour quitter.

Deux, poussière

dust (du + rust = dust) est un outil du gratuit, open source et plus intuitif écrit en rust, ainsi qu'un outil qui fournit des types de fichiers et des métadonnées.

Poussière d'installation d'Ubuntu 21.10 :

du-dust_0.7.1_amd64.deb est la dernière version du référentiel Dust GitHub, téléchargez le .debfichier à partir de la page de publication Dust et exécutez les commandes suivantes pour télécharger et installer.

wget https://github.com/bootandy/dust/releases/du-dust_0.7.1_amd64.deb
dpkg -i du-dust_0.7.1_amd64.deb

Pour les autres systèmes, vous pouvez vous référer aux autres méthodes d'installation du système d'exploitation de la poussière sur GitHub pour l'installation.

consommation de poussière :

dust [FLAGS] [OPTIONS] [--] [inputs]...

options de paramètres de poussière :

  • -f: répertoire "taille" est le nombre de sous-fichiers/répertoires, pas la taille du disque
  • -s: utilise la longueur du fichier au lieu des blocs
  • -p: les chemins vers les sous-répertoires ne sont pas raccourcis
  • -h: informations d'aide
  • -i: Ne pas afficher les fichiers cachés
  • -x: Ne compte que les fichiers et répertoires qui se trouvent sur le même système de fichiers que le répertoire fourni
  • -b: Aucune barre de pourcentage ou pourcentage ne sera affiché
  • -c: n'imprimera pas en couleur (généralement les plus grands répertoires sont en couleur)
  • -r: imprimer l'arbre à l'envers (le plus grand le plus élevé le plus élevé)
  • -t: affiche uniquement ces types de fichiers
  • -V: informations sur la version imprimée
  • -d: Profondeur d'affichage
  • -e: n'inclut que les fichiers correspondant à cette expression régulière. Pour le type de fichier png : -e ".png$"
  • -X: Exclure tout fichier ou répertoire portant ce nom
  • -v: Exclure les fichiers correspondant à cette expression régulière. Ignorer les types de fichiers png : -v ".png$"
  • -n: Le nombre de lignes de sortie à afficher. C'est la hauteur, (mais h aide) [défaut : 23]
  • -w: spécifie la largeur de la sortie pour remplacer la détection automatique de la largeur du terminal

utilisation de la poussière :

Pour afficher la taille des fichiers dans le répertoire courant et tous les sous-répertoires, vous pouvez exécuter la commande suivante :

# dust

Compte public WeChat : le parcours informatique de Jie Ge
-pLes paramètres peuvent être affichés sous forme de répertoire complet à partir du répertoire courant

# dust -p

Compte public WeChat : le parcours informatique de Jie Ge
Si vous souhaitez uniquement afficher la taille de plusieurs répertoires, il vous suffit de lister ces répertoires en même temps et de les séparer par des espaces :

# dust /bin /etc

insérez la description de l'image ici
Afficher la longueur du fichier :

# dust -s

insérez la description de l'image ici
Afficher seulement 10 répertoires :

# dust -n 10

insérez la description de l'image ici

3. duu

duu est l'abréviation de Directory Usage Utility. C'est un outil écrit en Python pour afficher la taille d'un répertoire spécifié. Il possède des fonctionnalités multiplateformes et peut être utilisé sur les systèmes d'exploitation Windows, Linux et MacOS. C'est un kilo-octet en kilo-octets Les unités indiquent l'utilisation du disque dans le répertoire.

Ubuntu 21.10 Anso duu :

Avant d'installer l'outil duu, vous devez vous assurer que l'environnement Python 3 est installé sur le système. Si ce n'est pas le cas, vous devez l'installer. Si c'est le cas, vous pouvez l'ignorer. Cependant, Python 3 est actuellement disponible dans le logiciel par défaut. référentiels dans la plupart des distributions Linux.

v2.22.tar.gz est la dernière version du package de code source dans le référentiel duu GitHub, téléchargez le .tar.gzfichier à partir de la page de publication duu et exécutez les commandes suivantes pour télécharger et installer.

# wget https://github.com/jftuga/duu/archive/refs/tags/v2.22.tar.gz
# tar -zxvf v2.22.tar.gz

Après décompression, entrez dans le dossier duu-2.22 et vérifiez duu.pysi le fichier existe.

# ls | grep duu
duu-2.22
# cd duu-2.22/
# ls
duu.py  LICENSE  README.md

duu utilisation :

duu.py [-h] [-b] [-e] [-q] [-s STATUS] [-n] [-N] [-f] [-S] [-H] [-T THREADS] [-x EXCLUDE] [-X REGEXPR] [-o OUTPUT] [dname]

options de paramètre duu :

  • -h: affiche ce message d'aide et quitte
  • -b: N'imprime pas les résumés ou les statistiques, utilisés exclusivement pour le tri
  • -e: Extension du fichier récapitulatif
  • -q: n'affiche pas un seul répertoire
  • -s: envoie l'état du traitement à STDERR, nombre de répertoires par STATUS
  • -n: ignore les répertoires commençant par "."
  • -N: pas de récursivité
  • -f: Affiche le nombre de fichiers dans chaque répertoire
  • -S: Afficher les statistiques du fichier moyenne, médiane, mode et écart type
  • -H: Afficher les nombres dans un format plus lisible
  • -T: nombre de threads simultanés, compte tenu du SAN
  • -x: une liste séparée par deux-points de chaînes insensibles à la casse à exclure
  • -X: une liste séparée par deux-points d'expressions régulières insensibles à la casse à exclure
  • -o: sortie vers un fichier CSV

duu utiliser:

Pour voir la taille du répertoire courant, exécutez simplement la commande suivante :

# python3 duu.py

insérez la description de l'image ici
Comme le montre la figure ci-dessus, on peut voir que duu affichera le nombre de fichiers et de répertoires dans le répertoire courant, et affichera la taille totale de ces fichiers en octets, Ko et Mo, ainsi que la taille de chaque fichier .

Pour afficher la taille d'un répertoire, ajoutez simplement le chemin absolu au répertoire :

# python3 duu.py /etc/init.d/

insérez la description de l'image ici

Quatrièmement, diskus

Diskus est également un petit outil open source rapide et remplaçable par des commandes basé sur Rust . Diskus calculera la taille de tous les fichiers dans le répertoire actuel, et l'effet de du -shl'exécution de la commande est le même que celui de .diskusdu -shdu -sh --bytes

Selon le développeur du référentiel diskus GitHub, sur son ordinateur portable 8 cœurs, des dossiers de taille moyenne (15 Go, 100k répertoires, 400k fichiers) ont été testés avec l'outil de benchmark en ligne de commande hyperfin, pour les dossiers plus petits Le test est vraiment inutile, puisque tous les programmes se termineront dans un délai raisonnable sans interrompre votre flux de travail, conduisant à la conclusion que diskus est environ dix fois plus rapide que le cache disque froid et le cache disque chaud trois fois plus.

Voici une comparaison des résultats du cache disque froid et du cache disque chaud en fonction diskusdes tests de commande du -sh, sn p -d0 -j8et .dust -d0

cache disque froid

Commander Moyens] Min [s] Max [s] Relatif
disques 1,746 ± 0,017 1.728 1.770 1,00
du -sh 17,776 ± 0,549 17.139 18.413 10.18
sn p -d0 -j8 18,094 ± 0,566 17.482 18.579 10.36
poussière -d0 21,357 ± 0,328 20.974 21.759 12.23

cache disque chaud

Commander Moyens] Min [s] Max [s] Relatif
disques 500,3 ± 17,3 472.9 530.6 1,00
du -sh 1098,3 ± 10,0 1087.8 1122.4 2.20
sn p -d0 -j8 1122,2 ± 18,2 1107.3 1170.1 2.24
poussière -d0 3532,1 ± 26,4 3490.0 3563.1 7.06

Ubuntu 21.10 Diskus anthropomorphe :

diskus_0.7.0_amd64.deb est la dernière version du référentiel diskus GitHub, téléchargez le .debfichier à partir de la page de publication diskus et exécutez les commandes suivantes pour télécharger et installer.

# wget https://github.com/sharkdp/diskus/releases/download/v0.7.0/diskus_0.7.0_amd64.deb
# dpkg -i diskus_0.7.0_amd64.deb

Pour les autres systèmes, vous pouvez vous référer aux autres méthodes d'installation du système d'exploitation de diskus sur GitHub pour l'installation.

utilisation du disque :

diskus [OPTIONS] [path]...

options de paramètre diskus :

  • -j: définir le nombre de threads (par défaut : 3 x num cœurs), le format de sortie de la taille du fichier (décimal : Mo, binaire : Mio) [par défaut : décimal] [valeurs possibles : décimal, binaire]
  • -v: ne masque pas les erreurs du système de fichiers
  • -b: Calcule la taille apparente au lieu de l'utilisation du disque
  • -h: informations d'aide
  • -v:Information sur la version

diskus utilise :

La du -sh 路径commande utilisée permet de visualiser la taille d'un répertoire, et le -sparamètre indique ici la taille totale de l'affichage.

# du -sh /etc
16M	/etc

S'il est utilisé diskus, il peut directement afficher la taille totale du répertoire courant.

# diskus

Si vous souhaitez vérifier la taille d'un répertoire, vous pouvez diskusajouter un chemin absolu après celui-ci.

# diskus /etc
16.66 MB (16,662,528 bytes)

Cinq, étain-été

tin-summer (sn) est un outil open source écrit en langage Rust et duun remplacement pour les commandes qui peuvent être utilisées pour trouver des fichiers occupant de l'espace disque, avec une meilleure sortie, des commandes et des valeurs par défaut plus propres, et grâce au multithreading, il peut même fonctionner plus rapide que la commande du lors du calcul de la taille de grands répertoires, la différence entre la commande tin-summer et la commande du est que la première lit la taille du fichier, tandis que la seconde lit l'utilisation du disque.

De plus, les développeurs de tin-summer ont également fait une comparaison claire des raisons d'utiliser du et sn.

Raisons d'utiliser du :

  • Utilisation lisible du disque, pas seulement la taille du fichier
  • lien symbolique de déréférencement facultatif
  • Peut être légèrement plus rapide sur les petits répertoires
  • Stable et bien soutenu

Raisons d'utiliser sn :

  • Plus rapide dans les grands répertoires
  • Utilisez des expressions régulières pour l'exclusion, ce qui la rend beaucoup plus rapide que du lorsqu'elle est utilisée avec l'indicateur --exclude.
  • Par défaut, sortie lisible
  • sortie couleur
  • en obtenant une meilleure aide
  • Fournit une sortie triée
  • Trouver des artefacts de build
  • Lire la taille du fichier, pas l'utilisation du disque
  • Extensible en Rouille

Dans le même temps, un test de référence a également été effectué pour comparer les résultats temporels de sn et du exécutant différentes tailles de répertoires.

Taille du répertoire Outil Commander Temps
600 Mo sn snp 60,74 millisecondes
600 Mo sn sn d 99,92 millisecondes
600 Mo du du -hacd2 88,28 millisecondes
4 Go sn snp 185,2 millisecondes
4 Go sn sn d 271,9 millisecondes
4 Go du du -hacd2 195,5 millisecondes
700 Mo sn snp 91,05 ms
700 Mo sn sn d 176,3 millisecondes
700 Mo du du -hacd2 153,8 millisecondes
7 Mo sn snp 19,48 ms
7 Mo sn sn d 12,72 millisecondes
7 Mo du du -hacd2 10,13 millisecondes

Installez tin-summer :

# curl -LSfs https://japaric.github.io/trust/install.sh | sh -s -- --git vmchale/tin-summer

Il peut également être installé à l'aide d'un cargogestionnaire de packages tin-summer, à condition que Rust soit installé sur le système. Si Rust est déjà installé, exécutez la commande suivante :

# cargo install tin-summer

Si les deux méthodes d'installation ci-dessus n'ont pas réussi à installer tin-summer, vous pouvez également télécharger la dernière version des fichiers binaires à partir de la zone de publication du référentiel GitHub tin-summer pour une installation manuelle.

Utilisation de l'étain-été :

Afficher la taille du fichier du répertoire actuel sans ajouter de paramètres. tin-summer affiche également par défaut un format facile à lire. Vous pouvez exécuter la commande suivante :

# sn f

Pour afficher la taille de fichier d'un répertoire spécifique, exécutez la commande suivante :

# sn f <path-to-the-directory>

Pour rechercher dans le répertoire actuel le répertoire contenant les artefacts de build, exécutez la commande suivante :

# sn ar

Pour rechercher des artefacts ou des répertoires contenant des artefacts qui occupent plus de 200 Mo d'espace disque, exécutez la commande suivante :

# sn ar -t200M

Pour obtenir une liste triée des 10 plus grands répertoires dans $DIR, exécutez la commande suivante :

# sn sort $DIR -n12

Sn est en fait plus rapide lors de l'utilisation d'un grand répertoire et relativement lent lors de l'utilisation d'un petit répertoire.

faire référence à

poussière:https://github.com/bootandy/dust/
duu:https://github.com/jftuga/duu
diskus:https://github.com/sharkdp/diskus/
tin-summer:https://github .com/vmchale/tin-summer

finalement

Bien que la plupart d'entre nous utilisent encore l'outil de commande de base par défaut dans notre travail quotidien, lorsque vous le remplacez par les 5 outils de remplacement décrits ci-dessus, il est considéré comme très utile dans de nombreux scénarios. Bien sûr, il peut y avoir plus d'alternatives de ligne de commande Linux, et vous êtes invités à les ajouter dans la zone de commentaires ci-dessous.

C'est tout pour aujourd'hui.

Si vous pensez que cet article vous est utile, veuillez aimer , laisser un commentaire ou transférer cet article afin que plus d'amis puissent le voir, car ce sera la motivation la plus forte pour moi de continuer à produire des articles de plus haute qualité !

Acho que você gosta

Origin blog.csdn.net/jake_tian/article/details/121790267
Recomendado
Clasificación