Linux中的var是variable的缩写,意为可变的,它是Linux根目录下的一个标准目录,主要用于存放系统中经常变化的数据文件,这些数据会随着系统运行、服务启动、用户操作等不断产生或更新。

var目录的核心作用
Linux文件系统遵循FHS(文件系统层次结构标准),var目录的设计初衷就是存放动态变化的数据,和存放静态系统文件的/usr目录形成区分。静态文件比如系统程序、库文件,安装后很少变动;而var下的内容会随系统运行状态实时变化,比如系统日志会不断追加新内容,邮件队列会随收发操作增减。
var目录常见子目录及作用
var目录下有多个标准子目录,每个目录对应不同的可变数据存储场景,常见子目录如下:
| 子目录 | 作用说明 |
|---|---|
| /var/log | 存放系统和各类服务的日志文件,比如系统启动日志、Nginx访问日志、数据库运行日志等,是排查系统问题的重要位置 |
| /var/cache | 存放应用程序的缓存数据,比如包管理器的软件包缓存、浏览器缓存等,清理该目录不会影响程序核心功能 |
| /var/spool | 存放等待处理的队列数据,比如打印队列、邮件队列、定时任务队列等,处理完成后数据会被移除 |
| /var/tmp | 存放临时文件,和/tmp的区别是该目录下的临时文件重启后不会被自动清理,适合存放需要短期保留的临时数据 |
| /var/lib | 存放程序运行时的状态数据,比如数据库的数据文件、Docker的镜像和容器数据、软件的运行状态记录等 |
var目录使用注意事项
- 不要随意删除var目录下的文件,尤其是
/var/lib下的程序状态数据,可能导致服务无法正常运行 - 定期清理
/var/log下的过期日志,避免日志占满磁盘空间,可通过logrotate工具配置自动轮转清理 - 如果服务器运行大量服务,需要关注var目录所在分区的磁盘使用情况,避免可变数据占满分区影响系统运行
查看var目录内容的示例
可以通过ls命令查看var目录下的子目录结构,示例命令如下:
# 查看var目录下的所有子目录,不展开深层内容 ls -l /var # 查看/var/log目录下的日志文件 ls -lh /var/log # 查看/var目录的磁盘占用情况 du -sh /var
如果需要查看某个日志文件的内容,可以使用cat、tail等命令,比如查看系统内核日志:
# 查看系统内核日志的最后20行内容 tail -n 20 /var/log/kern.log