Calculer la consommation d'espace total de fichiers spécifiques dans le terminal unix

StackOverflow https://stackoverflow.com/questions/3505203

  •  29-09-2019
  •  | 
  •  

Question

J'ai un dossier contenant des fichiers .tcb et .TCH. Je dois savoir ce que la taille de tous les fichiers .tcb ensemble, respectivement de tous les fichiers .TCH est. Je l'ai fait comme ceci:

1) Je crée un dossier temporaire puis:

mv *tch temp

2), puis:

du -sk temp

Je trouve la commande dans l'Internet et wikipedia dit ceci: « du (abrégé de l'utilisation du disque) est un programme Unix standard utilisé pour estimer l'utilisation de l'espace de fichier ». Je pense que la raison pour laquelle il est dit qu'il est une estimation est que s'il y a des liens alors la taille du lien sera affiché au lieu du fichier lié.

Mais si je fais

ls -l

dans le dossier temporaire (qui contient tous les * .TCH) fichiers et puis on additionne les tailles qui sont affichées dans le terminal, j'ai une autre taille de fichier. Pourquoi est-ce le cas?

Eh bien, en somme, ce que je dois une commande qui me montre le fichier réel * taille de tous les fichiers .TCH dans un dossier , qui peut également contenir d'autres types de fichiers .

J'espère que quelqu'un peut me aider. Merci beaucoup!

Était-ce utile?

La solution

Vous pouvez utiliser l'option -L à du si vous voulez suivre les liens symboliques (qui est, calculer la taille de la cible du lien, et non du lien lui-même). Vous pouvez également utiliser l'option -c pour afficher un grand total à la fin.

Armé de ces options, essayez du -skLc *.tch.

Pour plus de détails sur du, consultez cette page de manuel .

Autres conseils

Regardez la page de manuel spécifique pour votre version de du car ils varient considérablement dans la façon dont ils comptent.

"approximative" peut-être parce que:

  1. Les blocs utilisés ou octets utilisés peuvent être signalés avec des blocs trop indiquant la taille des fichiers qui ne sont pas des multiples exacts de la taille du bloc, mais représente plus précisément « l'espace utilisé que je ne peux pas utiliser pour d'autres denrées »
  2. Les fichiers Unix peuvent avoir des « trous » créés en cherchant un long chemin et de l'écriture. Le système d'exploitation n'alloue pas vraiment d'espace pour les trous sautée.
  3. Les liens symboliques peuvent ou peuvent ne pas être déréférencé au fichier réel qu'ils pointent.

Si vous voulez juste l'utilisation de bytecount wc -c *.tcb

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top