慧鸿网络-小白学习建站,编程,系统必看网站

当前位置:主页 > 系统 >

linux系统如何去获取到文件目录的实际大小方法

linux系统如何去获取到文件目录的实际大小方法

相信很多人都有使用过 Linux 系统,大家都知道Linux系统下的 ls 命令通常被我们用来查看文件目录的内容,但是不知道大家有没有细心留意,ls 命令所显示出来的每一个目录的大小都是只有 4 KB,如下所示:

$ ls -lh | grep ^d

 

drwxr-xr-x 3 alvin alvin 4.0K Aug 2 13:57 Bank_Details

drwxr-xr-x 2 alvin alvin 4.0K Mar 15 2019 alvin

drwxr-xr-x 6 alvin alvin 4.0K Feb 16 2019 drive-alvin

drwxr-xr-x 13 alvin alvin 4.0K Jan 6 2019 drive-mageshm

drwxr-xr-x 15 alvin alvin 4.0K Sep 29 21:32 Thanu_Photos

其实啊,这是因为 Linux 下一切皆文件,相信大家都听过这句话,所以你看到的 4 KB 只是用于存储目录元信息的文件大小而已,并不是我们通常意义上的目录大小。那么问题来了,如何去获取到文件目录的实际大小呢?别急,Linux 下的 du 命令可以帮到你。

du 是英文 disk usage 的缩写,代表磁盘使用率,它是一个标准的 Unix 程序,用于估算当前工作目录中文件空间的使用情况。

下面将以 /home/alvin/Documents 为例,来介绍 du 命令的使用。

查看指定目录的总大小

$ du -hs /home/alvin/Documents

or

$ du -h --max-depth=0 /home/alvin/Documents/

 

20G  /home/alvin/Documents

上面两种方式都可以算出目标目录的总大小,其中:

-h 表示显示成 K、M、G 等大小格式

-s 表示显示总和

--max-depth=N 表示目录级别为 N

查看指定目录下每个目录(包括子目录)的大小

将 -s 选项去掉,不进行统计总和,就能显示每一个目录的大小了,以下仅显示前 20 条:

$ du -h /home/alvin/Documents/ | sort -rh | head -20

 

20G  /home/alvin/Documents/

9.6G  /home/alvin/Documents/drive-alvin

6.3G  /home/alvin/Documents/Thanu_Photos

5.3G  /home/alvin/Documents/Thanu_Photos/Camera

5.3G  /home/alvin/Documents/drive-alvin/Thanu-videos

3.2G  /home/alvin/Documents/drive-mageshm

2.3G  /home/alvin/Documents/drive-alvin/Thanu-Photos

2.2G  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month

916M  /home/alvin/Documents/drive-mageshm/Tanisha

454M  /home/alvin/Documents/drive-mageshm/2g-backup

415M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video

300M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Jan-2017

288M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Oct-2017

226M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Sep-2017

219M  /home/alvin/Documents/Thanu_Photos/WhatsApp Documents

213M  /home/alvin/Documents/drive-mageshm/photos

163M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video/Sent

161M  /home/alvin/Documents/Thanu_Photos/WhatsApp Images

154M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/June-2017

150M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Nov-2016

查看指定目录下每个文件和目录的大小

结合通配符 * 的使用,可以实现显示出指定目录下的文件和目录的大小信息的效果:

$ du -hs /home/alvin/Documents/* | sort -rh | head -10

 

9.6G  /home/alvin/Documents/drive-alvin

6.3G  /home/alvin/Documents/Thanu_Photos

3.2G  /home/alvin/Documents/drive-mageshm

756K  /home/alvin/Documents/Bank_Details

272K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png

172K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png

164K  /home/alvin/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf

132K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png

112K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png

96K  /home/alvin/Documents/distro-info.xlsx

查看指定目录下的每个目录的大小(排除子目录)

使用 -S 选项,以排除子目录的形式来统计大小:

$ du -hS /home/alvin/Documents/ | sort -rh | head -20

 

5.3G  /home/alvin/Documents/Thanu_Photos/Camera

5.3G  /home/alvin/Documents/drive-alvin/Thanu-videos

2.3G  /home/alvin/Documents/drive-alvin/Thanu-Photos

1.5G  /home/alvin/Documents/drive-mageshm

831M  /home/alvin/Documents/drive-mageshm/Tanisha

454M  /home/alvin/Documents/drive-mageshm/2g-backup 

300M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Jan-2017

288M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Oct-2017

253M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video

226M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Sep-2017

219M  /home/alvin/Documents/Thanu_Photos/WhatsApp Documents

213M  /home/alvin/Documents/drive-mageshm/photos

163M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video/Sent

154M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/June-2017

150M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Nov-2016

127M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Dec-2016

100M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Oct-2016

94M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Nov-2017

92M  /home/alvin/Documents/Thanu_Photos/WhatsApp Images

90M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Dec-2017

查看指定目录中的一级子目录的大小

这个就很简单了,将 max-depth 设定为 1 就可以了:

$ du -h --max-depth=1 /home/alvin/Documents/

 

3.2G  /home/alvin/Documents/drive-mageshm

4.0K  /home/alvin/Documents/alvin

756K  /home/alvin/Documents/Bank_Details

9.6G  /home/alvin/Documents/drive-alvin

6.3G  /home/alvin/Documents/Thanu_Photos

20G  /home/alvin/Documents/

查看指定目录的大小(包含统计功能)

使用 -c 选项能够对结果进行统计,可以看到,指定目录下的文件和目录的大小的总和是 20 G,这和上面第一条命令中所得出的 /home/alvin/Documents/ 的大小 20 G 是一致的:

$ du -hsc /home/alvin/Documents/* | sort -rh | head -10

 

20G  total

9.6G  /home/alvin/Documents/drive-alvin

6.3G  /home/alvin/Documents/Thanu_Photos

3.2G  /home/alvin/Documents/drive-mageshm

756K  /home/alvin/Documents/Bank_Details

272K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png

172K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png

164K  /home/alvin/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf

132K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png

112K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png

到此这篇关于Linux系统目录大小通过du命令获取实例的文章就介绍到这了,更多相关linux系统命令的文章,大家点击查看下面相关文章。

  • 上一篇:linux系统怎么安装宝塔到home目录的方法
  • 下一篇:没有了
  • 驱动软件


    多媒体软件


    商务合作

    • 微信公众号
    • QQ交流1群
    • 手机版访问
    站内信 官方群 客服 二维码 返回顶部