ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux学习笔记3--du命令

Linux学习笔记3--du命令

原创 Linux操作系统 作者:wghao 时间:2007-11-16 09:55:54 0 删除 编辑
上次学习了查看磁盘空间的命令df,昨天再学习了du的命令,现在记录一下学习过程。[@more@]先man du查看du命令的说明:
du - estimate file space usage
SYNOPSIS
du
[OPTION] [FILE]
DESCRIPTION
Summarize disk usage of each FILE
, recursively for directories.
Mandatory arguments to long options are mandatory for short options
too.
-a
, --all
write counts for all files
, not just directories
--apparent-size
print apparent sizes
, rather than disk usage; although the
apparent size is usually smaller, it may be larger due to holes
in (鈥榮parse鈥? files
, internal fragmentation, indirect blocks,
and the like
-B
, --block-size=SIZE use SIZE-byte blocks

-b
, --bytes
equivalent to 鈥?-apparent-size --block-size
=1鈥?

-c
, --total
produce a grand total

-D
, --dereference-args
dereference FILEs that are symbolic links

-H like --si
, but also evokes a warning; will soon change to be
equivalent to --dereference-args (-D)

-h
, --human-readable
print sizes in human readable format (e.g.
, 1K 234M 2G)

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

-k like --block-size
=1K

-l
, --count-links
count sizes many times if hard linked

-L
, --dereference
dereference all symbolic links

-P
, --no-dereference
don鈥檛 follow any symbolic links (this is the default)

-
0, --null
end each output line with
0 byte rather than newline

-S
, --separate-dirs
do not include size of subdirectories

-s
, --summarize
display only a total for each argument

-x
, --one-file-system
skip directories on different filesystems

-X FILE
, --exclude-from=FILE
Exclude files that match any pattern in FILE.

--exclude
=PATTERN Exclude files that match PATTERN.

--max-depth
=N
print the total for a directory (or file
, with --all) only if
it is N or fewer levels below the command line argument
;
--max-depth=0 is the same as --summarize
中文解释

du(disk usage)
功能说明:显示目录或文件的大小。

语  法:
du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]

补充说明:
du会显示指定的目录或文件所占用的磁盘空间。
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或--dereference-args 显示指定符号连接的源文件大小。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-k或--kilobytes 以1024 bytes为单位。
-l或--count-links 重复计算硬件连接的文件。
-L<符号连接>或--dereference<符号连接>
显示选项中所指定符号连接的源文件大小。
-m或--megabytes 以1MB为单位。
-s或--summarize 仅显示总计。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。

操作过程:
[root@CentOS4 ~]# cd ok_008 --转到OK_008目录
[root@CentOS4 ok_008]# du -sh --统计OK_008目录的文件大小
32K .
[root
@CentOS4 ok_008]# du -sH --统计OK_008目录的文件大小,注意这里的H大写,与上一条命令不同。
du: WARNING: use --si, not -H; the meaning of the -H option will soon
change to be the same as that of
--dereference-args (-D)
33k
. --由于统计单位的不同,所以显示的大小不一样,其实物理都是都是一样。
[root
@CentOS4 ok_008]# du -Sh --统计当前各子目录大小。
8.0K ./ok/008
8.0K ./ok
16K
. --细心发现这里是16K,而上面使用du -sh显示的是32k,那么其中的16k哪里去了呢。

[root
@CentOS4 ok_008]# cd ..
[root@CentOS4 ~]# du -Sh
16K ./.gstreamer-0.8
8.0K ./.gnome/mime-info
8.0K ./.gnome/application-info
8.0K ./.gnome
52K
./.gconfd

8.0K ./ok_008/ok/008 --这里我们可以发现,原来/ok_008目录就占了16k的大小。
8.0K ./ok_008/ok --由此我们可以区别命令du -Sh 和du -sH的不同之处。
16K
./ok_008
..

--为了更方便的验证命令du -Sh 和du -sH的不同,我们可以这样:
命令du
-Sh 和du -sH
[root
@CentOS4 ~]# cd ok_008 --除了显示ok_008目录或文件的大小外,同时也显示所有子目录或文件的总和。
[root@CentOS4 ok_008]# du -ch
8.0K ./ok/008
16K
./ok
32K
.
32K total
--其实就是如数学中的数的累加一样,统计目录或文件的大小。

[root
@CentOS4 ok_008]# du -cb --这是以字节为单元大小表示。
4096 ./ok/008
8192 ./ok
12301 .
12301 total

[root
@CentOS4 ok_008]# du -ck --这命令与du -ch有点相似点,这里只不过少了单位k。
8 ./ok/008
16 ./ok
32 .
32 total

--为了更好的验证命令du -ck 和命令du -ch的不同,可以使用测试:
[root
@CentOS4 ~]# du -ck
16 ./.gstreamer-0.8
8 ./.gnome/mime-info
8 ./.gnome/application-info

24 ./.thumbnails/fail
32 ./.thumbnails
8 ./ok_008/ok/008
16 ./ok_008/ok
32 ./ok_008
1116 .
1116 total

[root
@CentOS4 ~]# du -ch
16K ./.gstreamer-0.8
8.0K ./.gnome/mime-info
8.0K ./.gnome/application-info

24K
./.thumbnails/fail
32K
./.thumbnails
8.0K ./ok_008/ok/008
16K
./ok_008/ok
32K
./ok_008
1.1M .
1.1M total

--不难看出命令du -ck 是以k单位来统计,而du -ch在统计过程中自动根据实际以K,M,G为单位,达到提高信息的可读性。


[root
@CentOS4 ok_008]# du -h mytest --查看文件mytest的大小
8.0K mytest
[root
@CentOS4 ok_008]# du -h /ok --查看ok目录包含ok所有子目录的大小
8.0K /ok/008
16K
/ok

怎么样查多的文件大大小呢?
现在我们使用vi建立一新的文件叫oktest
[root
@CentOS4 ok_008]# vi oktest
随便输入一些数据然后保存oktest文件。

[root
@CentOS4 ok_008]# ls -l
total 24
-rw-r--r-- 1 root root 13 Sep 13 22:36 mytest
drwxr
-xr-x 3 root root 4096 Sep 13 22:51 ok
-rw-r--r-- 1 root root 21 Sep 17 20:45 oktest
现在我们要查询文件mytest和oktest的大小。可以这样:
[root
@CentOS4 ok_008]# du -h mytest oktest
8.0K mytest
8.0K oktest

我们还可以同时查文件与目录的大小,如:
[root
@CentOS4 ok_008]# du -h mytest /ok
8.0K mytest --文件
8.0K /ok/008 --目录
16K
/ok --目录


另外:
[root
@CentOS4 ok_008]# du -h ./
8.0K ./ok/008
16K
./ok
40K
./
[root
@CentOS4 ok_008]# du -h
8.0K ./ok/008
16K
./ok
40K
.
这两个命令等效。习惯du
-h 这样写法。




在学习过程中感觉参数-D或--dereference-args显示指定符号连接的源文件大小,
目前还不知道具体怎么样使用。当然这一参数不影响学习的进程,到以后用到的时候,再回头了解
也不迟。


好了,今天就学到这里,同事要休息,不能边开音响边学习,也该休息了,闪了,做个好梦!~-~

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7764484/viewspace-982562/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Linux学习笔记2
下一篇: 一条LIKE查询问题
请登录后发表评论 登录
全部评论

注册时间:2007-12-19

  • 博文量
    57
  • 访问量
    231533