我给定文件夹的大小($ 1),以字节为单位。 (bash ubuntu)

时间:2016-03-09 16:38:11

标签: bash

我需要找到给定文件夹的总大小($ 1),我想将其输出为$ totalSize,以便以下工作。它必须以字节为单位。

if [[ -d $1 ]]; then
    totalsize=$(....)
        echo "The total size of the given folder is $totalSize bytes"
else
    echo "$1 is not a directory..."
fi

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式获取总大小:

#!/bin/bash

sizeko=$(du --max-depth=0 "$1" | sed 's/\([0-9]*\).*/\1/')
totalsize=$(( $sizeko * 1024 ))
echo $totalsize

du以千字节为单位输出结果。

如果你想要它以字节为单位,juste计算它(磁盘上的大小总是1024的倍数)。

如果您想要dir中文件的实际大小而不是磁盘占用的空间,请向-b添加du

#!/bin/bash

totalsize=$(du -b --max-depth=0 "$1" | sed 's/\([0-9]*\).*/\1/')
echo $totalsize