Linux下磁盘管理命令df与du

时间:2022-06-30 17:31:11

 Linux下磁盘管理命令df与du 

对磁盘进行查看和控制的两个 linux命令 ,df和du。 

一、du命令 
首先看一下du的help说明:
 
  1. [root@misdwh opt]# du --help  
  2. Usage: du [OPTION]... [FILE]...  
  3.   or:  du [OPTION]... --files0-from=F  
  4. Summarize disk usage of each FILE, recursively for directories.  
  5.    
  6. Mandatory arguments to long options are mandatory for short options too.  
  7.   -a, --all             write counts for all files, not just directories  
  8.       --apparent-size   print apparent sizes, rather than disk usage; although  
  9.                           the apparent size is usually smaller, it may be  
  10.                           larger due to holes in ('sparse') files, internal  
  11.                           fragmentation, indirect blocks, and the like  
  12.   -B, --block-size=SIZE use SIZE-byte blocks  
  13.   -b, --bytes           equivalent to `--apparent-size --block-size=1'  
  14.   -c, --total           produce a grand total  
  15.   -D, --dereference-args  dereference FILEs that are symbolic links  
  16.       --files0-from=F   summarize disk usage of the NUL-terminated file  
  17.                           names specified in file F  
  18.   -H                    like --si, but also evokes a warning; will soon  
  19.                           change to be equivalent to --dereference-args (-D)  
  20.   -h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)  
  21.       --si              like -h, but use powers of 1000 not 1024  
  22.   -k                    like --block-size=1K  
  23.   -l, --count-links     count sizes many times if hard linked  
  24.   -m                    like --block-size=1M  
  25.   -L, --dereference     dereference all symbolic links  
  26.   -P, --no-dereference  don't follow any symbolic links (this is the default)  
  27.   -0, --null            end each output line with 0 byte rather than newline  
  28.   -S, --separate-dirs   do not include size of subdirectories  
  29.   -s, --summarize       display only a total for each argument  
  30.   -x, --one-file-system  skip directories on different file systems  
  31.   -X FILE, --exclude-from=FILE  Exclude files that match any pattern in FILE.  
  32.       --exclude=PATTERN Exclude files that match PATTERN.  
  33.       --max-depth=N     print the total for a directory (or file, with --all)  
  34.                           only if it is N or fewer levels below the command  
  35.                           line argument;  --max-depth=0 is the same as  
  36.                           --summarize  
  37.       --time            show time of the last modification of any file in the  
  38.                           directory, or any of its subdirectories  
  39.       --time=WORD       show time as WORD instead of modification time:  
  40.                           atime, access, use, ctime or status  
  41.       --time-style=STYLE show times using style STYLE:  
  42.                           full-iso, long-iso, iso, +FORMAT  
  43.                           FORMAT is interpreted like `date'  
  44.       --help     display this help and exit  
  45.       --version  output version information and exit  
  46.    
  47. SIZE may be (or may be an integer optionally followed by) one of following:  
  48. kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.  

语法:du [ -a | -s ] [ -k ] [ -m ] [ -g ][ -l ] [ -r ] [ -x ] [ -H | -L ][ File ... ] 

描述:du命令显示用于文件的块数量。如果指定的File参数实际上是一个目录,就要报告该目录内的所有文件。如果没有提供File参数,du命令使用当前目录内的文件。 如果File参数是一个目录,那么报告的块的数量就是分配到目录中文件以及分配到目录自身的块之和。 

指定-a标志:报告个体文件中块数量。不管是否使用了-a标志,由File参数指定的个体文件总是要列出。 
指定-s标志:报告用于所有指定文件和目录中所有文件的全部块。 

分类解说一下各个参数的含义: 
Java代码 
  1. -a 显示文件夹中的所有文件夹、文件的大小。默认只显示文件夹大小,不显示文件。  
  2. -B 以xxByte为单位显示块数(默认为1024)  
  3. -b 以1Byte为单位显示块数(但貌似与-B1的结果不同)  
  4. -c 最后显示一行汇总数据  
  5. -h 以方便阅读的方式展现大小(是以1000为单位,而非1024)  
  6. -k 用 1024 字节单位计算块数,而不是用缺省的 512 字节单位。  
  7. -m 用 MB 单位计算块数,而不是用缺省的 512 字节单位。  
  8. -0 注意是数字“0”,而非字母“O”。表示每行后面不换行,直接跟下去  
  9. -S 外层的文件夹大小不包含内层大小  
  10. -s 只显示整个对象文件夹的合计大小。将该标志与-a标志进行对比。  
  11. -x 在评估文件大小时,只评估那些与File参数指定的文件或者目录驻留在相同设备上的文件。  
注: 
Java代码 
  1. 1、具有多个链接的文件只为一个条目计数和书写。  
  2. 2、由于块计数只基于文件大小,所以在报告的块数中,未分配的块是没有包含进去的。  
  3. 3、如果du得不到文件属性,或者无法读取目录,它就报告一个错误,并且会影响命令的退出状态。  
  4. 4、如果同时指定-k、-m标志,则后面的那个起作用。且输出结果四舍五入。  
退出状态: 

此命令返回下列出口值: 
=0 成功结束。 
>0 发生错误。 

二、df命令 
 
  1. [root@misdwh devMISowb]# df --help  
  2. Usage: df [OPTION]... [FILE]...  
  3. Show information about the file system on which each FILE resides,  
  4. or all file systems by default.  
  5.    
  6. Mandatory arguments to long options are mandatory for short options too.  
  7.   -a, --all             include dummy file systems  
  8.   -B, --block-size=SIZE use SIZE-byte blocks  
  9.   -h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)  
  10.   -H, --si              likewise, but use powers of 1000 not 1024  
  11.   -i, --inodes          list inode information instead of block usage  
  12.   -k                    like --block-size=1K  
  13.   -l, --local           limit listing to local file systems  
  14.       --no-sync         do not invoke sync before getting usage info (default)  
  15.   -P, --portability     use the POSIX output format  
  16.       --sync            invoke sync before getting usage info  
  17.   -t, --type=TYPE       limit listing to file systems of type TYPE  
  18.   -T, --print-type      print file system type  
  19.   -x, --exclude-type=TYPE   limit listing to file systems not of type TYPE  
  20.   -v                    (ignored)  
  21.       --help     display this help and exit  
  22.       --version  output version information and exit  
  23.    
  24. SIZE may be (or may be an integer optionally followed by) one of following:  
  25. kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.  


df命令可显示所有文件系统对i节点和磁盘块的使用情况。 

各个选项的含义如下: 
Java代码 
  1. -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。   
  2. -B 以xxByte为单位显示块数(默认为1024)  
  3. -h 以方便阅读的方式展现大小(是以1024为单位)  
  4. -H 以方便阅读的方式展现大小(是以1000为单位)  
  5. -i 显示i节点信息,而不是磁盘块。  
  6. -k 以k字节为单位显示。   
  7. -P 以POSIX格式输出结果(不换行?)  
  8. -t 后面跟“=type类型”,显示各指定类型的文件系统的磁盘空间使用情况。  
  9. -T 显示文件系统类型。  
  10. -x 后面跟“=type类型”,列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。   

显示内容说明:
 
  1. $ df   
  2. Filesystem 1K-blocks   Used  Available Use% Mounted on   
  3. /dev/hda2  1361587   1246406      44823 97% /  
df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名( 一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3、4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是:第3、4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use%列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的安装点。 

本文原始链接: http://www.jbxue.com/LINUXjishu/1603.html