一天一个shell命令 linux好管家-磁盘-du命令详解
一天一个shell命令 linux好管家-磁盘-du命令详解
发布时间:2016-12-28 来源:查字典编辑
摘要:du命令磁盘管理du命令也是查看使用空间的,但是与df命令不同的是Linuxdu命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些...

du命令

磁盘管理

du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

语法

du [选项][文件]

选项

-a或-all 显示目录中个别文件的大小。

-b或-bytes 显示目录或文件大小时,以byte为单位。

-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。

-k或--kilobytes 以KB(1024bytes)为单位输出。

-m或--megabytes 以MB为单位输出。

-s或--summarize 仅显示总计,只列出最后加总的值。

-h或--human-readable 以K,M,G为单位,提高信息的可读性。

-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。

-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。

-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。

-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。

--exclude=<目录或文件> 略过指定的目录或文件。

-D或--dereference-args 显示指定符号链接的源文件大小。

-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。

-l或--count-links 重复计算硬件链接的文件。

实例

1、显示目录或者文件所占空间:

[root@localhost test]# du 608 ./test6 308 ./test4 4 ./scf/lib 4 ./scf/service/deploy/product 4 ./scf/service/deploy/info 12 ./scf/service/deploy 16 ./scf/service 4 ./scf/doc 4 ./scf/bin 32 ./scf 8 ./test3 1288 .

2、只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小

显示指定文件所占空间:

复制代码 代码如下:

[root@localhost test]# du log2012.log

300 log2012.log

3、查看指定目录的所占空间:

[root@localhost test]# du scf 4 scf/lib 4 scf/service/deploy/product 4 scf/service/deploy/info 12 scf/service/deploy 16 scf/service 4 scf/doc 4 scf/bin 32 scf

4、显示多个文件所占空间:

[root@localhost test]# du log30.tar.gz log31.tar.gz 4 log30.tar.gz 4 log31.tar.gz 只显示总和的大小: [root@localhost test]# du -s 1288 . [root@localhost test]# du -s scf 32 scf [root@localhost test]# cd .. [root@localhost soft]# du -s test 1288 test

下面是书生的一些补充资料:

说明

du 是disk usage的缩写,主要用于总结每个文件的磁盘大小,以及统计多个文件

相关命令

df

简单实例

我建立两个文件

复制代码 代码如下:

$du --help>du.txt

$man du > mandu.txt

1. 查看文件大小

$du du.txt mandu.txt

如图:

一天一个shell命令 linux好管家-磁盘-du命令详解1

解释:同时打印du.txt 和 mandu.txt的大小(默认单位是字节bytes)

2. 查看一个目录下文件大小,

$du –a tmp/

如图:

一天一个shell命令 linux好管家-磁盘-du命令详解2

解释: 图中 tmp/ 就是目录 大小为84比特

3. 统计几个文件的大小

$du –c du.txt mandu.txt

一天一个shell命令 linux好管家-磁盘-du命令详解3

du的help

用法:du [选项]... [文件]...

或:du [选项]... --files0-from=F

总结每个<文件>的磁盘用量,目录则取总用量。

长选项必须用的参数在使用短选项时也是必须的。

说明

-a, --all 打印所有文件,包括目录

--apparent-size 打印可见内容的大小,比du命令准确。虽然通常apparent size更小一些,但由于硬盘碎片等原因,可能会比du更大

-B, --block-size=SIZE 用户自己定义单位(b,k,m)

-b, --bytes 单位为1byte 等同于 `--apparent-size --block-size=1'

-c, --total 统计大小

-D, --dereference-args dereference FILEs that are symbolic links 用于软连接文件

--files0-from=F 统计文件大小,被统计文件文件要以NUL结尾,并且在文件F中被指定名称

-H 单位1000而不是1024;等同于 --dereference-args (-D)

-h, --human-readable 按照易读性方式打印(e.g., 1K 234M 2G)

--si like -h, but use powers of 1000 not 1024

-k like --block-size=1K

-l, --count-links 如果是硬链接就统计多次

-m like --block-size=1M

-L, --dereference 查看所有软连接

-P, --no-dereference 不查看软连接文件(默认)

-0,(这里是“零”) --null 每个输出行用0字节代替新起一行(同时输出多个文件时候,就是一行)

-S, --separate-dirs 不包括子目录大小

-s, --summarize 只显示总大小(-c 在这里还会有一些其他统计信息)

-x, --one-file-system 跳过其他文件系统的分支

-X FILE, --exclude-from=FILE 排除符合正则表达式FILE的文件.

--exclude=PATTERN Exclude files that match PATTERN.

--max-depth=N 打印目录下所有文件 (or 文件, 用命令 --all),只有 目录深度少于等于 参数命令N; --max-depth=0 等同于 --summarize 即全部

--time 显示所有文件的最后修改时间,包括子目录的

--time=WORD

用以下单词(WROD)代替显示最后修改时间的输出:atime, access, use, ctime or status

--time-style=STYLE

show times using style STYLE:

full-iso, long-iso, iso, +FORMAT

FORMAT is interpreted like `date'

--help 显示此帮助信息并退出

--version 输出版本信息并退出

[大小]可以是以下的单位(单位前可加上整数):

kB 1000,K 1024,MB 1000000,M 1048576,还有 G、T、P、E、Z、Y

讲解help

有关-0(这里是零)

看看区别:

$du –a ./

如图:

一天一个shell命令 linux好管家-磁盘-du命令详解4

$du –a0 ./

加上-0,效果如图:

一天一个shell命令 linux好管家-磁盘-du命令详解5

实例:

1.$du -b du.txt

文件太小,你可以用-m, -k,甚至自己定义大小

效果如图:

一天一个shell命令 linux好管家-磁盘-du命令详解6

2.$du –ak dir | sort –nrk 1 | head

-a 列出所有 -k是用1kb单位, sort排序,head打印前10个,dir是目录

如图:

一天一个shell命令 linux好管家-磁盘-du命令详解7

收尾

这里简单说明一下,如果直接复制文中的命令,注意符号“-” 实际上被变了,需要修改一下。

本文出自 “书生” 博客

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新linuxshell学习
热门linuxshell学习
脚本专栏子分类