在Linux系统中,/var 是一个非常重要的标准目录,其名称源自英文单词 "variable"(可变),用于存储系统中经常变化的(动态)数据文件。以下是关于 /var 目录的详细说明:
/var 目录的核心作用/bin、/sbin)不同,/var 包含运行时可能增长或变化的文件(例如日志、缓存、临时文件等)。/var 下的关键子目录及用途| 子目录 | 典型内容示例 | 作用说明 |
|---|---|---|
/var/log |
syslog, auth.log, nginx/ |
系统/服务日志,记录系统运行、用户登录、服务错误等信息。 |
/var/cache |
apt/, dnf/, man/ |
应用程序缓存数据,如软件包缓存(apt)、手册页缓存等。 |
/var/lib |
mysql/, docker/, dpkg/ |
持久化应用程序数据,如数据库文件、容器存储、软件包状态信息。 |
/var/run |
docker.pid, sshd.pid |
运行时数据(PID文件、套接字等),重启后通常消失。现代系统可能链接到 /run。 |
/var/spool |
cron/, mail/, cups/ |
任务队列数据,如待处理的打印任务(cups)、邮件队列、计划任务(cron)。 |
/var/tmp |
用户或程序的临时文件 | 比 /tmp 更持久的临时文件,通常系统重启后仍保留。 |
/var/www |
html/, apache2/(默认可能不同) |
Web服务器根目录(如Apache/Nginx的默认站点文件存放位置)。 |
/var?/usr 中的只读文件)与频繁变化的文件分开,便于备份、维护和权限管理。/var/log/syslog 或 /var/log/nginx/error.log 调试服务故障。/var/cache/apt/archives/ 以释放磁盘空间(使用 apt clean 更安全)。/var/lib/mysql/,迁移时需注意此目录。/var 下的文件通常需要root权限访问(如日志文件),但部分目录(如 /var/www)可能允许特定用户写入。/var 单独分区,避免日志或缓存占满根分区。/var/run)可能是指向 /run 的链接(取决于发行版)。/var 是Linux系统中存储动态数据的核心目录,理解其结构有助于高效管理系统日志、应用程序数据和临时文件。遇到磁盘空间不足或服务故障时,检查 /var 下的相关子目录往往是解决问题的第一步。