Skip to content

Linux 系统文件

Linux 系统中的关键文件和目录遵循文件系统层次结构标准(FHS),了解这些文件的作用对于系统管理和故障排除至关重要。

Linux 遵循 Unix 设计哲学:万物皆文件。硬件设备、进程信息、系统配置等都统一表示为文件。

文件系统概览

目录作用
/bin基本命令二进制文件(如 ls, cp, mv)
/sbin系统管理命令二进制文件(如 fsck, ifconfig)
/etc系统配置文件目录
/dev设备文件目录
/proc内核和进程信息虚拟文件系统
/var可变数据文件(日志、缓存、 spool)
/usr用户程序和数据(只读)
/home用户家目录
/rootroot 用户家目录
/tmp临时文件
/boot引导加载器文件
/lib共享库和内核模块
/mnt临时挂载点
/media可移动媒体挂载点
/opt可选应用软件包
/srv服务数据目录

配置文件

用户管理配置

文件作用
/etc/passwd用户账户信息
/etc/shadow加密的用户密码
/etc/group用户组信息
/etc/gshadow加密的用户组密码

系统配置

文件作用
/etc/hostname系统主机名
/etc/issue登录前显示的系统信息
/etc/issue.net通过网络登录时显示的系统信息
/etc/profile系统级环境变量
/etc/bashrc系统级 Bash 配置
/etc/fstab文件系统表(开机自动挂载)
/etc/modules内核模块加载配置
/etc/ld.so.conf动态链接器配置

网络配置

文件作用
/etc/hosts本地主机名解析
/etc/resolv.confDNS 解析器配置

其他配置

文件作用
/etc/crontab系统级定时任务
/etc/logrotate.conf日志轮转配置
/etc/logrotate.d/应用特定的日志轮转配置

日志系统

日志目录结构

目录作用
/var/log系统日志文件
/var/log/messages通用系统日志
/var/log/auth.log认证相关日志(Debian/Ubuntu)
/var/log/secure认证相关日志(RHEL/CentOS)
/var/log/kern.log内核日志
/var/log/boot.log引导过程日志
/var/log/yum.log包管理日志(RHEL/CentOS)
/var/log/apt/包管理日志(Debian/Ubuntu)

查看日志相关命令:

命令说明
cat /var/log/messages查看通用日志
tail -f /var/log/auth.log实时查看认证日志
journalctl查看 systemd 日志
journalctl -u service-name查看特定服务日志
dmesg查看内核环形缓冲区消息
grep pattern /var/log/*在日志中搜索特定内容

日志轮转管理

logrotate 是 Linux 系统的日志管理工具,用于自动轮转、压缩和删除旧日志:

  • 配置文件:/etc/logrotate.conf
  • 应用特定配置:/etc/logrotate.d/ 目录
  • 常用选项
    • daily/weekly/monthly/yearly - 轮转频率
    • rotate N - 保留 N 个旧日志
    • compress - 压缩旧日志
    • missingok - 日志文件缺失时不报错
    • notifempty - 日志文件为空时不轮转
    • create mode owner group - 轮转后创建新日志文件的权限

虚拟文件系统

/proc 文件系统

/proc 是一个虚拟文件系统,提供对内核数据结构的窗口:

  • /proc/cpuinfo - CPU 信息(核心数、频率等)
  • /proc/meminfo - 内存信息(总内存、可用内存等)
  • /proc/version - 内核版本
  • /proc/[pid]/ - 进程特定信息目录
  • /proc/filesystems - 支持的文件系统类型
  • /proc/mounts - 已挂载文件系统列表
  • /proc/loadavg - 系统平均负载
  • /proc/uptime - 系统运行时间

/sys 文件系统

/sys 是另一个虚拟文件系统,提供设备和驱动信息:

  • /sys/block/ - 块设备信息
  • /sys/class/ - 设备类别(网络、声音、显示等)
  • /sys/devices/ - 设备层次结构
  • /sys/firmware/ - 固件接口
  • /sys/module/ - 内核模块参数

系统查看相关命令

命令说明
cat /etc/os-release查看操作系统版本信息
uname -a查看内核和系统信息
lsblk查看块设备信息
df -h查看磁盘使用情况
du -sh /*查看根目录各子目录占用空间
mount查看已挂载的文件系统
free -h查看内存使用情况
top 或 htop实时查看系统进程资源占用
ps aux查看所有进程

数据管理

/var 目录结构

目录作用
/var/log系统和应用日志
/var/spool任务队列(邮件、打印等)
/var/spool/cron用户定时任务
/var/cache应用缓存数据
/var/lib应用状态信息数据
/var/www网页服务器默认根目录
/var/ftpFTP 服务器默认根目录

备份策略

建议定期备份以下关键文件和目录:

系统配置

  • /etc/ - 系统配置文件
  • /boot/ - 引导相关文件

应用与用户数据

  • /home/ - 用户主目录
  • /root/ - root 用户数据
  • /usr/local/ - 本地安装的软件
  • /opt/ - 第三方应用

应用状态与数据

  • /var/lib/ - 应用状态信息
  • /var/www/ - 网页服务器数据
  • /var/lib/mysql/ - 数据库数据(如适用)

备份建议

  • 频率:至少每周一次
  • 存储:使用外部存储或远程备份
  • 验证:定期测试备份的完整性
  • 保留:至少保留最近4周的备份

了解这些系统文件的作用和位置,有助于快速定位问题、进行系统维护和执行故障排除操作。

Released under the MIT License.