La dimensione della directory di Centos 6.5 non è corretta usando il comando du


2

Sto eseguendo il comando du su una delle mie directory web e sto ottenendo 2 risultati diversi, sono confuso quale sia preciso e perché c'è una grande differenza, qui sia il comando che l'output.

du -hsc directory_name/
5.3G    directory_name/
5.3G    total


du -hsc directory_name/*
4.0K    directory_name/announcements.php
4.0K    directory_name/articles.php
1.2M    directory_name/election2011
4.3M    directory_name/error_log
78M directory_name/files
3.0G    directory_name/php
3.1G    total

Grazie

Risposte:


0

Potresti pubblicare il comando e le uscite in un formato di facile lettura usando le righe successive?

Sospetto che le dimensioni non siano affatto diverse ...

Quando digiti " du -hsc dir_name ", stai chiedendo la dimensione di" dir_name ".

Ma quando digiti " du -hsc dir_name/* ", stai chiedendo la dimensione di tutte le directory e file all'interno di" dir_name ". Quindi la somma di tutti i file ottenuti da" du -hsc dir_name/* "dovrebbe ammontare alla somma di" du -hsc dir_name ".

Spero che sia d'aiuto.

MODIFICARE

Ho trovato il seguente ( http://www.linfo.org/du.html ):

"Un rapporto un po 'simile viene fornito utilizzando il carattere jolly asterisco (*), che corrisponderà a qualsiasi carattere o carattere. Ad esempio, il comando seguente elencherà le dimensioni di tutte le directory presenti nell'albero che iniziano con la directory corrente:

du *

Tuttavia, gli unici file elencati sono quelli nella directory padre, non quelli nelle sue sottodirectory. Inoltre, non viene fornito alcun totale per l'albero di directory nel suo complesso.

L'uso dell'opzione -s e il carattere jolly stellare insieme causerebbero du di riportare i nomi e le dimensioni solo dei file e delle directory contenuti direttamente nella directory di livello superiore stesso (e di non elencare i nomi di nessuna delle sue sottodirectory e dei file in loro). La dimensione di ogni directory elencata è, ovviamente, comprensiva di tutti i suoi file e sottodirectory (inclusi tutti i file in essi contenuti). Ad esempio, tale rapporto sull'albero della directory che inizia con la directory corrente verrà fornito come segue:

du -hs *

Il carattere jolly può anche essere utilizzato per filtrare l'output per elencare solo gli elementi il ​​cui nome inizia, contiene o termina con determinati caratteri o sequenze di caratteri. Ad esempio, quanto segue riporterebbe i nomi e le dimensioni di tutte le directory e i file nella directory corrente i cui nomi iniziano con la lettera s, nonché i nomi e le dimensioni di tutti i livelli delle sottodirectory di tali directory indipendentemente da quale sia il loro nome con:

du -h s * "

Nota dove sono in grassetto. Sembra che il carattere jolly riceva solo le directory nella directory superiore e non viene fornita alcuna somma.


Grazie, ho formattato l'output, quindi ora è più facile da leggere. Non capisco la tua risposta. se sto usando "du -hsc nome_dir" dovrei ottenere la dimensione totale di esso compresi i file secondari e le directory è questo che cosa dovrei aspettarmi o mi manca qualcosa?
user1731872

Ho fatto una modifica.
Josh Jobin

0

Se directory_name ha file nascosti, verranno conteggiati nel primo comando, ma non nel secondo. Il modello directory_name / * non include alcun file che inizi con a. (questo include il disco per la directory directory_name).


No, non vedo alcun file o directory nascosti in quella directory. Grazie!
user1731872
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.