Linux 命令 -df

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

每一列的含义在图中也标注的很明确:
第一列:文件系统名称
第二列:文件系统的大小,以1K大小的块表示
第三列:已用大小
第四列:可用大小
第五列:已用百分比
第六列:挂载点
2、
其中大小的显示不够易读,可以通过df -h
命令查看,显示如下:

需要注意已用比例情况,之前有处理过因为写日志文件没有控制日志文件的大小,导致日志文件一直增大,致使分区写满,导致同分区的数据库也无法写入了。
3、
如果想查看文件系统类型,可以使用df -T
命令,如下:

显示有 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
命令查看所有的文件系统,如下:

可以看到比之前多了不少。
5、
如果想直接查看某个目录是什么文件系统格式,可以直接通过df -T PATH
查看,如下:

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