Linux命令-df

Posted by 周思进 on May 30, 2020

1、

df 命令可以用来查看磁盘当前的使用情况,如下图所示:

image

每一列的含义在图中也标注的很明确:

第一列:文件系统名称
第二列:文件系统的大小,以1K大小的块表示
第三列:已用大小
第四列:可用大小
第五列:已用百分比
第六列:挂载点

2、

其中大小的显示不够易读,可以通过df -h命令查看,显示如下:

image

需要注意已用比例情况,之前有处理过因为写日志文件没有控制日志文件的大小,导致日志文件一直增大,致使分区写满,导致同分区的数据库也无法写入了。

3、

如果想查看文件系统类型,可以使用df -T命令,如下:

image

显示有 ext4、devtmpfs、tmpfs、vfat 文件系统类型。

其中 tmpfs 是在内存上建立的文件系统,其特性是读写速度快,但因为只是写在内存上,所以该分区挂载的目录下创建文件等操作,系统重启后都会丢失。

我之前在设备上有见到过 ramfs 文件系统类型,跟 tmpfs 一样都是基于内存建立的文件系统,但相对而言 tmpfs 比 ramfs 更加安全,因为 tmpfs 可以限制分区的大小,当写满时就无法继续写入,而 ramfs 则是可以一直写入,直到所有内存使用完。

那是不是相对 ramfs 文件系统类型,都应该改成 tmpfs 文件系统类型呢?

参考链接 https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt

4、

不过 ramfs 等一些文件系统默认是不显示的,这时可以通过df -a命令查看所有的文件系统,如下:

image

可以看到比之前多了不少。

5、

如果想直接查看某个目录是什么文件系统格式,可以直接通过df -T PATH查看,如下:

image

这里看到 /tmp 目录是 ext4 格式的,那理论上这个目录下创建的文件,设备重启后应该还在的,但实际并没有,原因是 Linux 系统在重启的时候会自动删除 /tmp 目录下的文件,长时间运行的情况下,则会通过 tmpwatch 定期删除该目录下的文件。