我们在统计目录时,不是想看父目录下的子目录名和子文件名到底占用了多少空间,而是想看父目录下的子目录和子文件的总磁盘占用量大小,这时就需要使用 du
命令才能统计目录的真正磁盘占用量大小。
du命令的格式如下:
du [选项] [目录或文件名]
选项:
-a:显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h:使用习惯单位显示磁盘占用量,如KB、MB或GB等
-s:统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量
通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。
查询当前目录总大小可以使用du -sh,其中s代表统计汇总的意思,即只输出一个总和大小。
通过命令du -h –max-depth=0 *,可以只显示直接子目录文件及文件夹大小统计值。
如果只想查看指定目录的总大小,可以使用du -sh 目录名称。
对于指定文件夹也可以指定显示层次深度,如du -h --max-depth=0 software/及du -h --max-depth=1
software/
使用du命令和df命令去统计分区的使用情况时,得到的数据是不一样的。那是因为df命令是从文件系统的角度考虑的,通过文件系统中未分配的空间来确定文件系统中已经分配的空间大小。也就是说,在使用df命令统计分区时,不仅要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)。
而du命令是面向文件的,只会计算文件或目录占用的磁盘空间。也就是说,df命令统计的分区更准确,是真正的空闲空间。
在Linux中,可以使用du命令来查看目录占用空间大小。Linux du命令
du是统计目录或文件所占磁盘空间大小的命令。
需要注意的是,使用ls -r命令是可以看到文件的大小的。但是大家会发现,在使用ls
-r命令查看目录大小时,目录的大小多数是4kb,这是因为目录下的子目录名和子文件名是保存到父目录的block中的,如果父目录下的子目录和子文件并不多,一个block就能放下,那么这个父目录就只占用一个block大小。
大家可以将其想象成图书馆的书籍目录和实际书籍。如果我们用ls
-r命令查看,则只能看到这些书籍占用了1页纸的书籍目录,但是实际书籍到底有多少是看不到的,哪怕它堆满了几个房间。
但是我们在统计目录时,不是想看父目录下的子目录名和子文件名到底占用了多少空间,而是想看父目录下的子目录和子文件的总磁盘占用量大小,这时就需要使用du命令才能统计目录的真正磁盘占用量大小。
du命令格式
du[选项][目录或文件名]
du常用选项
-h 以人类可读的方式显示
-a 显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
-s 显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
-c 显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
--apparent-size 显示目录或文件自身的大小
-l 统计硬链接占用磁盘空间的大小
-L 统计符号链接所指向的文件占用的磁盘空间大小
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)