系统目录结构
- 根目录( / ): 一般根目录下只存放目录,不存放文件
/bin
: 存放着着系统基本命令和二进制可执行文件。这些命令通常不依赖于其他库文件,在系统启动时就可以使用。包括常用于系统管理和日常操作的常用工具,例如:ls
cp
mv
rm
cat
mkdir
pwd
chmod
chown
chgrp
/boot
: 存放着引导相关文件;/boot/vmlinuz
为Linux内核文件;/boot/grub
为引导程序的配置文件,包含了引导菜单的配置信息,可以选择启动哪个操作系统/dev
: 设备文件目录,存放系统中所有的设备文件。在Linux中,一切设备都视为文件,访问此目录下某个文件,相当于访问某个设备/etc
: 系统配置文件的目录;它包含了许多重要的配置文件,用于配置系统的各种参数和选项,常见的有:/etc/passwd
: 存储系统用户的基本信息,如用户名、用户id、用户主目录等/etc/group
: 存储用户组的信息,如组名、组id、组成员等/etc/shadow
: 存储用户的加密密码和密码过期信息/etc/host
: 设置主机名和IP地址的映射关系/etc/hostname
: 存储主机名/etc/network/interfaces
: 配置网络接口信息/etc/apt/sources.list
: 用于配置系统的软件源/etc/sudoers
: 定义了哪些用户可以以超级用户身份执行命令
/home
: 用于存放用户个人文件的配置的目录。每个用户在系统中都会有一个独立的子目录,以其用户名命名,位于/home
目录下;用户的个人目录通常具有对应用户的权限,只有用户和吵架用户才能访问和修改其中的文件/root
: 系统管理员(root用户)的个人主目录/run
: 系统的一个临时文件系统(tmpfs),用于存放运行时的临时文件、进程相关文件和运行时数据,它是在系统启动时由initramfs(初始RAM文件系统)
挂载的。它提供了一个临时性的存储空间,用于系统和进程之间的通信和数据交互;系统重启后,目录中的文件将会被清空并重建。/sbin
: 存放系统管理员使用的系统管理命令的目录。与/bin
目录类似,此目录下的命令也是可执行的,但这些命令通常只有超级用户才能执行,例如:/sbin/reboot
/sbin/shutdown
/sbin/ifconfig
/sbin/service
/sbin/mkfs
/sbin/syslogd
/sbin/iptables
/tmp
: 存放临时文件的目录;它是一个公共的临时文件夹,供所有用户和程序共享使用。存放的文件在系统重启是会被清空,因此它适合存放临时数据和临时文件。/usr
:Unix Shared Resources(Unix共享资源)
的缩写,用于存放用户可共享的应用程序、文件和数据的目录。/usr
目录是一个非常重要的目录,通常包含了系统的大部分软件包和应用程序。/usr
目录的结构如下:/usr/bin
: 存放可执行文件,包括系统和用户安装的应用程序/usr/sbin
: 系统管理员使用的非必须的系统命令/usr/lib
: 存放系统的共享库文件,供多个程序共享使用/usr/include
: 存放C语言库的头文件,用于编译程序/usr/share
: 存放与系统无关的共享文件,如文档、数据文件、图标等/usr/local
: 存放用户自行安装的软件包和应用程序/usr/src
: 存放源代码文件,用于编译系统内核、设备驱动程序等
/var
: 用于存放变量数据文件,如日志文件、临时文件、系统假脱机文件等;它通常作为单独的分区挂载,以确保即使根分区已满,系统进程也能写入它。常用子目录有:/var/log
: 该目录包含系统和应用程序生成的各种日志文件。这些日志可用于故障排除和监视活动/var/tmp
: 此目录用于在系统重新启动时保留的临时文件/var/www
: 此目录通常用作 Web 服务器文件(如 HTML、CSS 和其他 Web 内容)的默认位置/var/lib
: 此目录用于存储特定于单个应用程序或服务的持久性数据文件。例如,MySQL 或 PostgreSQL 的数据库文件可能存储在此处/var/spool
: 此目录用于存储假脱机文件,通常用于打印队列和邮件队列