有关于Linux的df命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关于Linux的df命令相关的知识,希望对你有一定的参考价值。

df命令,输出以下:
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
10157368 445944 9187136 5% /
/dev/mapper/VolGroup00-LogVol06
4062912 139392 3713808 4% /remote
/dev/mapper/VolGroup00-LogVol07
40629568 822048 37710368 3% /data/license
/dev/mapper/VolGroup00-LogVol02
10157368 2334204 7298876 25% /usr
/dev/mapper/VolGroup00-LogVol04
10157368 337492 9295588 4% /var
/dev/mapper/VolGroup00-LogVol03
1015704 34252 929024 4% /tmp
/dev/mapper/VolGroup00-LogVol05
5078656 557548 4258964 12% /home
/dev/sda1 1019208 40712 925888 5% /boot
tmpfs 1029300 0 1029300 0% /dev/shm
/dev/mapper/VolGroup00-LogVol08
17267516 390956 15985272 3% /var/www

一共是9行,但是下面这句取到的结果却有18个值:0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0

percent=`df -k | grep -v Filesystem | awk 'print int($5)'`

我想取得上面的5、4、25、4、4.。。。。。
该怎么改呢?

linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
1.命令格式:
df [选项] [文件]
2.命令功能:
显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以1KB为单位进行显示,除非环境变量POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示。
3.常用参数:
-a 全部文件系统列表
-h 方便阅读方式显示
-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地文件系统
-m 区块为1048576字节
--no-sync 忽略 sync 命令
-P 输出格式为POSIX
--sync 在取得磁盘信息前,先执行sync命令
-T 文件系统类型
4.使用实例:
显示磁盘使用情况
$ df


参考技术A df -h|grep -o '[o-9]%' 参考技术B `df -k |awk 'print int($5)'` 可查阅“Linux命令大全”了解Linux命令。 参考技术C `df -k |awk 'print int($5)'` 参考技术D 试过没有问题。
$ df -k | grep -v 已用%
/dev/sda5 14877060 928860 13180296 7% /
/dev/sda1 101086 28975 66892 31% /boot
tmpfs 517412 0 517412 0% /dev/shm
/dev/sda7 57865984 40643828 14235276 75% /home
/dev/sda2 19840924 5398992 13417792 29% /usr
/dev/sda3 19840924 3105016 15711768 17% /var
/dev/sdb6 96149004 85915752 5349092 95% /var/ftp
/dev/sdb5 57685500 38418184 16337064 71% /usr/cao
$ df -k | grep -v 已用% | awk 'print int($5)'
7
31
0
75
29
17
95
71本回答被提问者采纳

linux系统df和du命令的区别

发现一台用户的电脑,df检查出来的/磁盘空间占用了16G,比用du查看得到的磁盘空间大的多,du查看/下所有程序目录加起来还不到5G。这是什么原因呢?

即便是有隐藏文件,查了也很小啊。
 
因为df和du的统计机制不一样。
du会把指定目录下所有文件、目录、目录下的文件都统计。是建立在文件系统能看到的的确确是有这样一些文件的基础上的。也就是说我们能在文件系统里面看到的文件才会被du统计。
 
df(df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。):
这要从程序写文件的方式来谈起,一个进程要向一个文件里面写东西,那么会得到一个pointer,
然后向指针指向的文件(磁盘区域)写入。假如由于某些原因(也可能人为)被指向的文件被删除了,但是( write call)并不知道文件是否还在,就还会继续向里面写,不管文件是否存在,磁盘块还是被写操作使用。
于是因为文件没有了,所以du统计不到写入的这些磁盘块,但是因为写的进程还在,磁盘空间没有被释放,所以df却能统计到,所以df统计的结果比du大很多。
如何解决呢?
1.停止系统上的程序。
2.如果还是不行,unmount一下文件系统看看
3.重启系统

以上是关于有关于Linux的df命令的主要内容,如果未能解决你的问题,请参考以下文章

关于linux的命令一个莫名的想法,a到z有哪些命令

关于linux的命令一个莫名的想法,a到z有哪些命令

linux关于制作系统启动盘

学习Linux系统 ---

在linux下面查看磁盘使用情况用哪个命令

linux怎么查看硬盘挂载状态?