linux磁盘文件管理常用命令:df、du

技术运维Linux 529

df和du的区别是:df命令是查看磁盘使用信息、du命令是查看目录大小。

df命令

显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB(1024kb) 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示

查看磁盘使用情况(df -h):

[root@*** ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
文件系统          容量  已用  可用 使用率 挂载点
/dev/vda1        40G  2.8G   35G   8% /
devtmpfs        913M     0  913M   0% /dev
tmpfs           921M     0  921M   0% /dev/shm
tmpfs           921M   94M  828M  11% /run
tmpfs           921M     0  921M   0% /sys/fs/cgroup
/dev/vdb1        20G   17G  2.0G  90% /mnt

也可以使用命令 df --block-size=GB 以GB为单位显示。

上面结果很明显地表示第二块挂载盘的使用率太高达到90%了,要么优化清理垃圾内容,要么就要给磁盘扩容了。

df命令参数

必要参数:

  • -a 全部文件系统列表
  • -h 方便阅读方式显示
  • -H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
  • -i 显示inode信息
  • -k 区块为1024字节
  • -l 只显示本地文件系统
  • -m 区块为1048576字节
  • --no-sync 忽略 sync 命令
  • -P 输出格式为POSIX
  • --sync 在取得磁盘信息前,先执行sync命令
  • -T 文件系统类型

可选参数:

  • --block-size=<区块大小> 指定区块大小
  • -t<文件系统类型> 只显示选定文件系统的磁盘信息
  • -x<文件系统类型> 不显示选定文件系统的磁盘信息
  • --help 显示帮助信息
  • --version 显示版本信息

du命令

du的英文为:disk usage,含义是磁盘空间使用情况,功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况,如果没有指定目录,则对当前的目录进行统计。

查看某个目录占用空间的大小(du -sh):

[root@*** ~]# du -sh /mnt/www/towait.com
1.1G    /mnt/www/towait.com

Note:如不加目录参数直接使用du -hs则查看当前目录占用空间。

查看该目录下的子目录并按大小降序(du -sm /target/path/* | sort -nr | less):

[root@*** ~]#  du -sm /mnt/www/towait.com/public_html/* | sort -nr | less
3462    /mnt/www/shoif.com/public_html/site
19      /mnt/www/shoif.com/public_html/wire
1       /mnt/www/shoif.com/public_html/index.php

Note:输入q退出;注意,这里的-sm命令:m表示block数,数据块数的意思,1块=1024字节;

查看某目录下的子目录占用空间(du -sh /target/path/*

[root@*** ~]# du -sh /mnt/www/*
323M a.com
1.1G b.com
79M	c.com
364M d.com

Note:如果查看当前目录下的子目录可直接使用 du -sh *

找出占用空间TOP10目录(du -sm *|sort -rn|head -10

[root@*** ~]# du -sm *|sort -rn|head -10
3596	a.com
3102	b.com
1691	c.com
1670	d.com
1032	e.com
884	f.com
790	g.com
787	h.com
689	i.com
446	j.com

Note: -s--summarize 仅显示总计,只列出最后加总的值;-m--megabytes 以MB为单位输出;sort -r reverse 逆向排序;-n -h 两者可以比较记忆;

du命令参数

  • -a-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况
  • -b-bytes 显示目录或文件大小时,以byte为单位
  • -c-total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和
  • -D-dereference-args 显示指定符号连接的源文件大小
  • -h-human-readable 以K,M,G为单位,提高信息的可读性
  • -H-si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位
  • -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=<目录或文件> 略过指定的目录或文件
  • -max-depth=<目录层数> 超过指定层数的目录后,予以忽略
  • -help 显示帮助
  • -version 显示版本信息

如果你正在学习linux,推荐你一个非常不错的学习地址:每天一个linux命令

Post Comment