du 命令用来显示文件或目录所占用的磁盘空间情况
格式:
du [选项] 文件或目录
选项:
-h 人性化显示容量信息,以k(kb) m(mb) g(gb) 为单位显示统计结果(默认kb) -s 显示文件或者整个目录的大小 单位kb 查看目录本身大小,s表示求和,如果不加该选项,则会显示指定目录下所有子目录和文件的大小 -b 以字节为单位显示文件大小或显示目录下所有文件的大小 -sh 以人性化的格式显示文件或目录大小 例如300mb 1.2Gb等 -sm 以mb为单位显示文件或者目录大小
举例1:显示当前目录下所有文件的大小
[root@localhost tmp]# du -sh ./* 4.0K ./1-1.txtaa 4.0K ./1.txt 4.0K ./2.txt
举例2:显示当前linux tmp目录下p1目录的总大小
[root@localhost tmp]# du -sh ./p1 12K ./p1
由于Linux系统在磁盘中是以block 块 为单位存储数据,
一个块的大小大概是4kb
因此,当执行ls命令时,查看的文件大小是文件的实际大小
而执行du命令时查看的文件大小是文件实际所占用的磁盘空间大小
实例:新建一个文件test 添加一个字符 a 由于英文字符在计算机中以ASCII码的形式存放,并且在每行的末尾还会自动添加一个换行符\n ,
所以执行ls命令查看到的文件
实际大小为2个字节,而执行du命令查看到的文件所占用的磁盘空间大小为4kb
[root@iZ2zea4u8pasyhtllbo54oZ ~]# cd /tmp/ [root@iZ2zea4u8pasyhtllbo54oZ tmp]# echo 'a' > test [root@iZ2zea4u8pasyhtllbo54oZ tmp]# ll -h test -rw-r--r-- 1 root root 2 May 25 09:22 test [root@iZ2zea4u8pasyhtllbo54oZ tmp]# du -h test 4.0Ktest