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, ncdu
et 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 Enter
clé 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 d
touche pour le supprimer. , si la suppression est terminée, appuyez sur le q
bouton 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 .deb
fichier à 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
-p
Les paramètres peuvent être affichés sous forme de répertoire complet à partir du répertoire courant
# dust -p
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
Afficher la longueur du fichier :
# dust -s
Afficher seulement 10 répertoires :
# dust -n 10
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.gz
fichier à 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.py
si 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
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/
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 -sh
l'exécution de la commande est le même que celui de .diskus
du -sh
du -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 diskus
des tests de commande du -sh
, sn p -d0 -j8
et .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 .deb
fichier à 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 -s
paramè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 diskus
ajouter 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 du
un 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 cargo
gestionnaire 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é !