Vous recherchez une série de commandes qui me montreront les fichiers les plus volumineux sur un lecteur.
command-line
disk-usage
Ryan Detzel
la source
la source
Réponses:
Si vous avez juste besoin de trouver de gros fichiers, vous pouvez utiliser
find
cette-size
option. La commande suivante listera tous les fichiers de plus de 10 Mo (à ne pas confondre avec 10 Mo ):Si vous souhaitez rechercher des fichiers d'une taille donnée, vous pouvez les combiner avec une recherche de "taille inférieure à". La commande suivante recherche les fichiers entre 10 Mo et 12 Mo:
apt-cache search 'disk usage'
répertorie certains programmes disponibles pour l'analyse de l'utilisation du disque. Une application qui semble très prometteuse estgt5
.De la description du paquet:
Sur la section "packages associés" de gt5 , j'ai trouvé
ncdu
. De sa description du paquet:la source
-ls
sortie est hardcoded (voir le code sourcepred_fls
et list_file fonctions). Vous pouvez essayer d’approximer la sortie en utilisant l’-printf
option, post-traiter la sortie avec awk ou utiliser quelque chose du genre:find ... -type f -exec ls -ldh {} \; | column -t
Je viens d'utiliser une combinaison de
du
etsort
.Ensuite, c'est un cas de rinçage et de répétition . Ciblez les sous-répertoires que vous jugez trop volumineux, exécutez la commande pour eux et vous découvrez la cause du problème.
Remarque: J'utilise l'option
du
's-x
pour garder les choses limitées à un système de fichiers (j'ai un arrangement assez compliqué d'éléments croisés entre SSD et RAID5).Note 2:
2>/dev/null
redirige tous les messages d'erreur dans l'oubli. S'ils ne vous dérangent pas, ce n'est pas obligatoire.la source
du
page de manuel: "Résumez l'utilisation du disque de chaque fichier, de manière récursive pour les répertoires."Ma solution préférée utilise un mélange de plusieurs de ces bonnes réponses.
du
arguments:-a
pour "tous" les fichiers et les répertoires. Ne le laissez que pour les répertoires-BM
pour afficher les tailles en mégaoctets (M) tailles de bloc (B)2>/dev/null
- exclure les messages d'erreur "autorisation refusée" (merci @Oli)sort
arguments:-n
pour "numérique"-r
pour "inverse" (du plus grand au plus petit)head
arguments:-n 50
pour le juste top 50 résultats.more
si vous utilisez un nombre plus petitRemarque: préfixez de manière
sudo
à inclure les répertoires auxquels votre compte n'est pas autorisé à accéder.Exemple montrant les 10 plus gros fichiers et répertoires dans / var (y compris le grand total).
la source
Pour afficher les 20 plus grands répertoires (récursivement) dans le dossier en cours, utilisez la ligne suivante:
ou (plus orienté Unix):
Pour les 20 plus gros fichiers du répertoire en cours (récursivement):
ou avec des tailles lisibles par l'homme:
Il est donc utile d’avoir ces alias dans vos fichiers rc (chaque fois que vous en avez besoin):
la source
La réponse de qbi est correcte mais elle sera très lente s'il y a beaucoup de fichiers, car un nouveau processus ls sera lancé pour chaque élément.
Une version beaucoup plus rapide utilisant find sans générer de processus enfants serait d'utiliser printf pour imprimer la taille en octets (% s) et le chemin d'accès (% p)
find "$directory" -type f -printf "%s - %p\n" | sort -n | tail -n $num_entries
la source
Cela semble être l'application idéale pour
find
:Cette commande trouvera tous les fichiers dans le répertoire
$DIRECTORY
et s’exécuterals -s
dessus. La dernière commande imprime la taille allouée d'un fichier plus le nom du fichier. Le résultat est trié numériquement et les cinq dernières entrées sont affichées. Donc, comme résultat, vous verrez les 5 plus gros fichiers$DIRETORY
ou n’importe quel sous-répertoire. Si vous entrez,tail -n 1
vous ne verrez que le fichier le plus volumineux.En outre, vous pouvez jouer beaucoup avec
find
. Par exemple, vous pouvez rechercher des fichiers de moins de n jours (-ctime -n
) ou appartenant à des utilisateurs spéciaux (-user johndoe
).la source
Lorsque j'ai besoin de libérer de l'espace sur les serveurs, j'utilise cette commande. Il trouve tous les fichiers de plus de 50 Mo et "du -h" fait une meilleure liste de fichiers et "sort -n" après la liste de tubes crée numericcaly triée par taille.
la source
Essayez Baobab, il vous donne un aperçu graphique des fichiers et des dossiers, vous pouvez voir où se trouvent les vrais porcs et les supprimer en un clic https://help.ubuntu.com/community/Baobab
la source
Par exemple, pour trouver tous les fichiers GB, je voudrais utiliser du et grep, bien que les autres méthodes mentionnées ici semblent également très bien.
Vous pouvez aussi vous amuser avec l'option --except que du a.
la source
Vous pouvez également trier les fichiers par taille:
Il ne trouve que les fichiers et s’exécute
du -h
pour chaque fichier, ce qui indique la taille du fichier. Enfin, nous trions la sortie defind
/du
selon la première colonne (au format lisible par l'homme).Le dernier fichier imprimé est le plus gros.
la source
Vous pouvez utiliser la commande pour voir les fichiers les plus volumineux tout en sautant les répertoires:
Pour trouver tous les fichiers de plus de 100 Mo (ceci n'est pas 100 Mo, voyez ici si vous êtes confus):
la commande ci-dessous affichera les 5 plus gros fichiers du dossier
$DIRECTORY
:USING
du
: La commande ci-dessous qui utilise du, affiche les répertoires avec les 20 plus grandes tailles dans le dossier de travail initial:Maintenant, afin d'afficher les plus grands répertoires / fichiers, y compris les sous-dossiers, exécutez:
Utilisant
ls
:Pour répertorier les 5 plus gros fichiers du répertoire / bin, lancez la commande ci-dessous:
Vous pouvez également utiliser l'analyseur d'utilisation du disque ou Baobao, comme indiqué ici, par exemple.
la source
Un excellent outil convivial référencé dans la réponse à une question similaire est l'
NCurses Disk Usage
outil:la source