ディレクトリ(フォルダ)内のすべてのファイルの合計集計サイズ(ディスク使用量)を表示する簡単なコマンドはありますか?
私はこれらを試してみましたが、彼らは私が望むことをしません:
-
ls -l
これは、ディレクトリ内の個々のファイルのサイズのみを表示します。 -
df -h
これは、私のディスク上の空き領域と使用されている領域のみを表示します。
ディレクトリ(フォルダ)内のすべてのファイルの合計集計サイズ(ディスク使用量)を表示する簡単なコマンドはありますか?
私はこれらを試してみましたが、彼らは私が望むことをしません:
ls -l
これは、ディレクトリ内の個々のファイルのサイズのみを表示します。 df -h
これは、私のディスク上の空き領域と使用されている領域のみを表示します。コマンド du
"ディレクトリに対して再帰的に、各ファイルのディスク使用量を要約します。",
du -hs /path/to/directory
-h
"人間が読める"数字を取得することです。 140M
の代わりに 143260
(Kバイト単位のサイズ)-s
要約のためのものです(そうでなければ、フォルダのサイズだけでなく、すべてのものも取得します で フォルダ別)あなたが使用しているように -h
以下を使用して、人間が読める値を並べ替えることができます
du -h | sort -h
その -h
上のフラグ sort
"人間が読める"サイズ値を考慮します。
すべてのファイルとディレクトリを再帰的に一覧表示しないようにしたい場合は、次のように指定できます。 --max-depth
表示される項目の数を制限するパラメータ。 最も一般的には, --max-depth=1
du -h --max-depth=1 /path/to/directory
最近、私はすぐにあなたのディレクトリサイズについての概要を提供します偉大な、ncursesベースの対話型ツールを、発見しました。 何年もの間、そのようなツールを検索しました。
それを次のように考えてください バオバブ コマンドラインの場合:
apt-get install ncdu
これにより、サイズが再帰的に検索され、各フォルダ名の横に配置され、合計サイズが下部に表示されます。
du -hsc *
以下は、合計、フォルダ、およびファイルサイズを印刷するために使用しているものです:
$ du -sch /home/vivek/* | sort -rh
------------------------------------------------------------ -c, --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -s, --summarize display only a total for each argument ------------------------------------------------------------- -h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G) -r, --reverse reverse the result of comparisons
70M total 69M /home/vivek/Downloads/gatling-charts-highcharts-bundle-2.2.2/lib992K /home/vivek/Downloads/gatling-charts-highcharts-bundle-2.2.2/results292K /home/vivek/Downloads/gatling-charts-highcharts-bundle-2.2.2/target 52K /home/vivek/Downloads/gatling-charts-highcharts-bundle-2.2.2/user-files
tree
この仕事のための別の便利なコマンドですか:
を経由してインストールするだけで sudo apt-get install tree
次のように入力します:
tree --du -h /path/to/directory......33.7M used in 0 directories, 25 files
から マンツリー:
-h Print the size of each file but in a more human readable way, e.g. appending a size letter for kilo‐ bytes (K), megabytes (M), gigabytes (G), terabytes (T), petabytes (P) and exabytes (E).--du For each directory report its size as the accumulation of sizes of all its files and sub-directories (and their files, and so on). The total amount of used space is also given in the final report (like the 'du -c' command.)
答えはそれを明らかにしました du
ディレクトリの合計サイズを見つけるためのツールです。 ただし、考慮すべきいくつかの要因があります:
たまには, du
出力は、個々のファイルのサイズの合計とは異なる可能性があるファイルシステムによって割り当てられたスペースを報告するため、誤解を招く可能性 通常、ファイルシステムは、1文字だけを格納していても、ファイルに4096バイトを割り当てます。
2の力および10単位の力による出力相違。 その -h
に切り替える du
バイト数を次のように除算します2^10 (1024), 2^20 (1048576) などは、人間が読める出力を与えるために。 多くの人々は、10の累乗(例えば、1K=1000、1M=1000000)を見ることにもっと慣れていて、結果に驚くかもしれません。
ディレクトリ内のすべてのファイルのサイズの合計をバイト単位で見つけるには、次のようにします:
find <dir> -ls | awk '{sum += $7} END {print sum}'
例:
$ du -s -B 1255729664$ find . -ls | awk '{sum += $7} END {print sum}'249008169
あなたはツールのほこりを使用することができます:
PS C:\git> dust 0B ┌── templates │ █ │ 0% 0B ┌─┴ git-core │ █ │ 0% 0B ┌─┴ share │ █ │ 0% 76B ├── readme.md │ █ │ 0% 156K │ ┌── less.exe │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█ │ 2% 2.7M │ ├── git-remote-https.exe│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█████████████████ │ 42% 3.6M │ ├── git.exe │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██████████████████████ │ 56% 6.5M │ ┌─┴ git-core │███████████████████████████████████████ │ 100% 6.5M ├─┴ libexec │███████████████████████████████████████ │ 100% 6.5M ┌─┴ . │███████████████████████████████████████ │ 100%
私の例はWindowsからのものですが、LinuxとAppleもサポートされています:
私はに条件付けられています ll
にエイリアスされているコマンド ls -alF
. それはちょうど一番下にファイルのファイル数とサイズが不足しています。 私は一緒に遊んだ du
と tree
しかし、私は必要な合計を得ることができませんでした。 だから私は作成しました lll
私のためにそれを行うには。
あなたの中で ~/.bashrc
次の場所に配置します:
lll () { ls -alF "$@" arr=($(ls -alF "$@" | awk '{TOTAL+=$5} END {print NR, TOTAL}')) printf " \33[1;31m ${arr[0]}\33[m line(s). " printf "Total size: \33[1;31m ${arr[1]}\33[m\n"# printf "Total size: \33[1;31m $(BytesToHuman <<< ${arr[1]})\33[m\n"}
ファイルを保存し、それを使用してリソース . ~/.bashrc
(または、端末を再起動することもできます)。
についての素晴らしいこと ll
出力はそれの色です。 これは以下で維持されます lll
しかし、使用するときに失われた find
または du
:
あなたがに加えることができるボーナス機能 ~/.bashrc
と呼ばれています BytesToHuman()
. これは、ほとんどのコンソールユーザーが大量の数値をMiB、GiBなどに変換することを期待しています:
function BytesToHuman() { # https://unix.stackexchange.com/questions/44040/a-standard-tool-to-convert-a-byte-count-into-human-kib-mib-etc-like-du-ls1/259254#259254 read StdIn b=${StdIn:-0}; d=''; s=0; S=(Bytes {K,M,G,T,E,P,Y,Z}iB) while ((b > 1024)); do d="$(printf ".%02d" $((b % 1024 * 100 / 1024)))" b=$((b / 1024)) let s++ done echo "$b$d ${S[$s]}"} # BytesToHuman ()
次の二つの行の間のコメントを反転します lll ()
このように見える関数:
# printf "Total size: \33[1;31m ${arr[1]}\33[m\n" printf "Total size: \33[1;31m $(BytesToHuman <<< ${arr[1]})\33[m\n"
これで、出力は次のようになります:
いつものようにと再ソースすることを忘れないでください . ~/.bashrc
変更を加える時はいつでも。 (またはもちろん端末を再起動します)
PS-自己検疫で二週間は、最終的に私にこの五歳の目標に取り組むための時間を与えました。
du /foldername
フォルダのサイズを知るための標準コマンドです。 マニュアルページを読んでオプションを見つけることをお勧めします:
man du
あなたはmanページ(利用可能)を読むべきです オンライン)コマンドを使用する前に。
BtrfsのようなCoWファイルシステムではほぼゼロの意味を持つかもしれないという友好的なメモ。