zoukankan      html  css  js  c++  java
  • linux中du与df的区别和联系

    1,两者区别
    du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在
    的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
    df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不
    是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已
    经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除
    的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
    当文件系统也确定删除了该文件后,这时候du与df就一致了。

    2,du查看目录大小,df查看磁盘使用情况。
    我常使用的命令(必要时,sudo使用root权限),
    1).查看某个目录的大小:du -hs /home/master/documents
    查看目录下所有目录的大小并按大小降序排列:sudo du -sm /etc/* | sort -nr | less
    2).查看磁盘使用情况(文件系统的使用情况):sudo df -h
    df --block-size=GB
    -h是使输出结果更易于人类阅读;du -s只展示目录的使用总量(不分别展示各个子目录情况),-m是以
    MB为单位展示目录的大小(当然-k/-g就是KB/GB了)。

    3,du使用详细案例
    a:显示全部目录和其次目录下的每个档案所占的磁盘空间
    s:只显示各档案大小的总合
    b:大小用bytes来表示
    x:跳过在不同文件系统上的目录不予统计
    a:递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数
    ...
    使用du进行查看
    root@tech163:/home/htmlfile# du
    16 ./test
    60 ./bbb
    84 .

    其中第一列是以块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称
    1)查看当前目录包含子目录的大小
    root@tech163:/home/htmlfile# du -sm .
    1 .
    其中的du -sm . 的“.”是代表当前目录。
    2)查看当前目录以及子目录的大小
    root@tech163:/home/htmlfile# du -h
    16K ./test
    60K ./bbb
    84K .
    其中 -h 表示使用K,M,G的人性化形式显示。
    3)看到当前目录下的bbb目录大小,但不想查看其他目录以及子目录
    root@tech163:/home/htmlfile# du -ch bbb | tail -n 1
    60K total
    使用了管道包含了du和tail两个命令,-c表示最后计算出所列目录的大小之和。
    4)列出当前目录下所有目录和文件的大小
    root@tech163:/home/htmlfile# du -ah bbb
    4.0K bbb/mysql.php
    4.0K bbb/index.htm
    4.0K bbb/p.php
    28K bbb/memcache.php
    12K bbb/.session.php.swp
    4.0K bbb/hello.html
    60K bbb
    其中-a表示包含目录和文件
    5)不换行列出目录以及子目录大小的信息
    root@tech163:/home/htmlfile# du -0h
    16K ./test60K ./bbb84K .root@tech163:/home/htmlfile#
    其中 -0 表示列出一条信息后不换行,接着输出第二条信息。

    4,df详细案例
    a:显示全部的档案系统和各分割区的磁盘使用情形
    i:显示i -nodes的使用量
    k:大小用k来表示 (默认值)
    t:显示某一个档案系统的所有分割区磁盘使用量
    x:显示不是某一个档案系统的所有分割区磁盘使用量
    T:显示每个分割区所属的档案系统名称
    使用df进行查看
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/cciss/c0d0p1 2068156 611572 1351528 32% /
    tmpfs 1038080 4 1038076 1% /lib/init/rw
    udev 10240 64 10176 1% /dev
    tmpfs 1038080 4 1038076 1% /dev/shm
    /dev/cciss/c0d0p9 130700120 44034236 86665884 34% /home
    /dev/cciss/c0d0p7 2068156 68932 1999224 4% /tmp
    /dev/cciss/c0d0p8 4132372 1760620 2161840 45% /usr
    /dev/cciss/c0d0p6 2068156 330104 1632996 17% /var
    第一行是文件系统对应的硬盘分区
    第二行是分区包含的数据块的数据(1数据库为1024字节)
    第三四行是已用和未用的数据块数组
    第五行是普通用户空间使用的百分比
    第六行是文件系统的安装点
    其中第三四行已用和未用数据块相加并不等于第二行总数据块,这是因为分区留了少量空间提供给
    系统管理员使用。
    1)
    chenyz@gzhouse:~$ df -h
    文件系统 容量 已用 可用 已用% 挂载点
    /dev/cciss/c0d0p1 2.0G 598M 1.3G 32% /
    tmpfs 1014M 4.0K 1014M 1% /lib/init/rw
    udev 10M 64K 10M 1% /dev
    tmpfs 1014M 4.0K 1014M 1% /dev/shm
    /dev/cciss/c0d0p9 125G 42G 83G 34% /home
    /dev/cciss/c0d0p7 2.0G 68M 2.0G 4% /tmp
    /dev/cciss/c0d0p8 4.0G 1.7G 2.1G 45% /usr
    /dev/cciss/c0d0p6 2.0G 333M 1.6G 18% /var
    其中 -h 表示使用K,M,G的人性化形式显示。
    2)
    chenyz@gzhouse:~$ df -ia
    文件系统 Inode (I)已用 (I)可用 (I)已用% 挂载点
    /dev/cciss/c0d0p1 262752 60150 202602 23% /
    tmpfs 224142 10 224132 1% /lib/init/rw
    proc 0 0 0 - /proc
    sysfs 0 0 0 - /sys
    procbususb 0 0 0 - /proc/bus/usb
    udev 224142 770 223372 1% /dev
    tmpfs 224142 3 224139 1% /dev/shm
    devpts 0 0 0 - /dev/pts
    /dev/cciss/c0d0p9 130763968 1972907 128791061 2% /home
    /dev/cciss/c0d0p7 262752 54 262698 1% /tmp
    /dev/cciss/c0d0p8 524832 35743 489089 7% /usr
    /dev/cciss/c0d0p6 262752 4896 257856 2% /var
    所谓的 inode 是用来存放档案及目录的基本信息,包含时间、档名、使用者及群组等。在分割扇区
    时,系统会先做出一堆 inode 以供以后使用,inode 的数量关系着系统中可以建立的档案及目录总数。
    如果要存的档案大部分都很小,则同样大小的硬盘中会有较多的档案,也就是说需要较多的 inode 来挂
    档案及目录

  • 相关阅读:
    HDU 2852 KiKi's K-Number (主席树)
    HDU 2089 不要62
    Light oj 1140 How Many Zeroes?
    Bless You Autocorrect!
    HDU 6201 transaction transaction transaction
    HDU1561 The more ,The better (树形背包Dp)
    CodeForces 607B zuma
    POJ 1651 Mulitiplication Puzzle
    CSUOJ 1952 合并石子
    Uva 1599 Ideal path
  • 原文地址:https://www.cnblogs.com/scl1314/p/7534894.html
Copyright © 2011-2022 走看看