Perché questa directory vuota è 3,5 MB?


16

Ho appena letto questa domanda: cosa significa la dimensione di una directory nell'output del comando 'ls -l'?

... che non risponde alla mia domanda. Fondamentalmente, sto spostando i file su un NAS. Le cartelle che ho già spostato sono completamente vuote, senza file nascosti o altro, e tuttavia duriportano ancora le loro dimensioni a 3,5 MB. Certo, in precedenza contenevano un gran numero di file, con nomi di file lunghi.

Questa dimensione è semplicemente dovuta alla quantità e alla lunghezza dei nomi dei file che si trovavano in quella directory? Perché la dimensione non è diminuita ora che le cartelle sono vuote (filesystem ext4)?


1
du tende a pensare diversamente rispetto alle persone, fornisce un rapporto basato su alcune impostazioni del filesystem. puoi controllare con '--apparent-size' qui: gnu.org/software/coreutils/manual/html_node/du-invocation.html .
Hermann Ingjaldsson,

Quando si copiano directory vuote appena create sul NAS, cosa indicano le dimensioni? Inoltre, hai accesso al NAS dove puoi eseguire tune2fs, ad esempio?
slm

Hai tenuto conto delle istantanee?
mdpc,

@slm - escono alla normale dimensione 4096 (byte?).
shearn89,

@mdpc - snapshot?
shearn89,

Risposte:


16

Quando si eliminano tutti i file da una directory, per la maggior parte dei file system, la directory rimane della stessa dimensione.

Se la directory è vuota,

rmdir ./directory_name; mkdir ./directory

La nuova directory risultante sarà più piccola. Ma con l'aggiunta dei file diventerà più grande. Non preoccuparti per le dimensioni dei file di directory tanto quanto il numero di file in una singola directory. Enormi numeri di file in una singola directory influiscono negativamente sulle prestazioni di ricerca dei file. Anche con ampia memorizzazione nella cache degli inode.


4
Il gran numero di file in 1 directory conta davvero solo per i filesystem ext. Altri come xfs, btrfs, reiser, ecc. Non hanno lo stesso problema.
Patrick,

2
È corretto. Comunque ufs ha il problema come fanno gli altri. Mentre questa domanda è rigorosamente ext4, il problema è onnipresente, quindi l'ho menzionato.
jim mcnamara,

A parte i problemi di prestazioni, l'inserimento di troppi file in una directory può causare altri problemi: fare ciò rm *potrebbe causare problemi se si hanno più di 1024 file.
Sean McSomething il

@SeanMcSomething Quali problemi intendi?
Hatshepsut,

1
@SeanMcSomething Non ne ho idea, da dove hai preso questa merda. La riga di comando di un processo può essere almeno mezzo megabyte. Non ha nulla a che fare con il conteggio dei file, la dimensione totale della riga di comando ha un limite, che è molto più alto come dici tu.
Peter - Ripristina Monica il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.