Comment lister tous les fichiers d'un dossier dans un fichier texte
Table des matières:
Lorsque vous répertoriez le contenu d'un répertoire à l'aide de la commande
ls
, vous avez peut-être remarqué que la taille des répertoires est presque toujours de 4096 octets (4 Ko). C'est la taille de l'espace sur le disque qui est utilisée pour stocker les méta-informations pour le répertoire, pas ce qu'il contient.
La commande que vous voudrez utiliser pour obtenir la taille réelle d'un répertoire est
du
, qui est l'abréviation de «utilisation du disque».
Obtenir la taille d'un répertoire
La commande
du
affiche la quantité d'espace fichier utilisée par les fichiers ou répertoires spécifiés. Si le chemin spécifié est un répertoire,
du
résume l'utilisation du disque de chaque sous-répertoire de ce répertoire. Si aucun chemin n'est spécifié,
du
signale l'utilisation du disque du répertoire de travail actuel.
Lorsqu'il est appelé sans aucune option,
du
affiche l'utilisation du disque du répertoire donné et de chacun de ses sous-répertoires en octets.
En règle générale, vous souhaitez afficher l'espace occupé par le répertoire dans un format lisible par l'homme. Par exemple, pour obtenir la taille totale du répertoire
/var
, vous devez exécuter la commande suivante:
sudo du -sh /var
La sortie ressemblera à ceci:
85G /var
Expliquons la commande et ses arguments:
- La commande commence par
sudo
car la plupart des fichiers et répertoires du répertoire/var
appartiennent à l'utilisateur root et ne sont pas lisibles par les utilisateurs réguliers. Si vous omettezsudo
la commandedu
affichera «du: ne peut pas lire le répertoire».s
- Affiche uniquement la taille totale du répertoire spécifié, n'affiche pas les totaux de taille de fichier pour les sous-répertoires.h
- Tailles d'impression dans un format lisible par l'homme (h
)./var
- Le chemin du répertoire dont vous souhaitez obtenir la taille.
Que faire si vous souhaitez afficher l'utilisation du disque des sous-répertoires de premier niveau? Vous avez deux options. La première consiste à utiliser le symbole astérisque (
*
) comme indiqué ci-dessous, ce qui signifie «faire correspondre tout ce qui ne commence pas par un point (
.
)». L'option
-c
indique à
du
d'imprimer un grand total de toutes les tailles:
sudo du -shc /var/*
24K /var/db 4.0K /var/empty 4.0K /var/games 77G /var/lib 4.0K /var/local 0 /var/lock 3.3G /var/log 0 /var/mail 4.0K /var/opt 0 /var/run 196K /var/spool 28K /var/tmp 85G total
Une autre façon d'obtenir un rapport sur l'utilisation du disque des sous-répertoires de premier niveau consiste à utiliser l'option
--max-depth
:
sudo du -h --max-depth=1 /var
77G /var/lib 24K /var/db 4.0K /var/empty 4.0K /var/local 4.0K /var/opt 196K /var/spool 4.0K /var/games 3.3G /var/log 5.0G /var/cache 28K /var/tmp 85G /var 85G total
Par défaut, la commande
du
affiche l'espace disque utilisé par le répertoire ou le fichier. Pour trouver la taille apparente d'un répertoire, utilisez l'option
--apparent-size
. La «taille apparente» d'un fichier est la quantité de données réellement présentes dans le fichier.
sudo du -sh --apparent-size /var
Lorsque vous transférez un répertoire via SCP, Rsync. Ou SFTP, la quantité de données transférées sur le réseau est la taille apparente des fichiers. C'est pourquoi la taille de l'espace sur le disque utilisé sur la source lorsqu'il est affiché avec
du
(sans
--apparent-size
) n'est pas la même que la taille sur la cible.
La commande
du
peut également être combinée avec d'autres commandes avec des tuyaux.
Par exemple, pour imprimer les 5 plus grands répertoires du répertoire
/var
, vous dirigeriez la sortie de
du
vers la commande sort pour trier les répertoires selon leur taille, puis
head
la sortie vers la commande
head
qui imprimera uniquement les 5 premiers répertoires:
sudo du -h /var/ | sort -rh | head -5
85G /var/ 77G /var/lib 75G /var/lib/libvirt/images 75G /var/lib/libvirt 5.0G /var/cache/pacman/pkg
Conclusion
Sous Linux, vous pouvez obtenir la taille d'un répertoire en utilisant la commande
du
.
Commande pwd sous linux (répertoire de travail actuel)
Le répertoire de travail actuel est le répertoire dans lequel l'utilisateur travaille actuellement. Dans cet article, nous allons vous montrer comment déterminer votre répertoire de travail actuel à l'aide de la commande pwd
Comment ajouter un répertoire au chemin sous Linux
Lorsque vous tapez une commande, le shell recherche dans tous les répertoires spécifiés dans la variable utilisateur $ PATH un fichier exécutable de ce nom. Cet article montre comment ajouter des répertoires à votre `PATH dans les systèmes Linux.
Comment supprimer (supprimer) le répertoire sous Linux
Il existe plusieurs façons de supprimer des répertoires dans les systèmes Linux. Dans cet article, nous expliquerons comment supprimer des répertoires à l'aide des commandes rmdir, rm et find.