Linux目录文件结构及作用
很多新手在登录Linux系统后看到一些文件夹很茫然,不知道每个文件夹是干嘛的、有什么作用。今天来聊一聊Linux目录文件结构和各个文件夹的作用。
在Linux系统中,文件系统的目录结构是层次化的,并遵循一定的标准(如FHS,Filesystem Hierarchy Standard)。
每个目录都有其特定的作用和用途。以下是Linux目录文件结构及其作用的详细说明:
根目录 /
根目录是整个文件系统的起点,所有其他文件和目录都从这里分支出去。
/bin (Binaries)
存放基本的用户命令二进制文件。这里的命令通常在单用户模式下使用,并且对于所有用户都可用,这个文件夹其实是/usr/lib的软链接。例如:ls, cp, mv, bash。
/sbin (System Binaries)
存放系统管理员使用的二进制文件。这里的命令通常用于系统管理和维护,这个文件夹其实是/usr/lib的软链接。例如:ifconfig, reboot, shutdown。
/etc (Et Cetera)
存放所有系统级的配置文件和脚本。通常包含启动、关闭和配置应用程序所需的文件。例如:/etc/passwd(用户账号信息), /etc/fstab(文件系统表)。
/home
存放各个用户的主目录,每个用户在这里都有自己的子目录(如 /home/username),用于存放个人文件和配置。
/root
系统管理员(root用户)的主目录。与普通用户的主目录类似,但用于root用户。
/lib (Libraries)
存放系统启动和基本命令所需的共享库文件,以及内核模块(位于 /lib/modules),这个文件夹其实是/usr/lib的软链接。例如:/lib/libc.so.6。
/lib64
类似于 /lib,但用于64位系统的库文件。
/usr (User System Resources)
存放用户应用程序和文件。包含许多子目录:
- /usr/bin: 存放用户应用程序二进制文件。
- /usr/sbin: 存放系统管理员的二进制文件。
- /usr/lib: 存放用户应用程序所需的库文件。
- /usr/local: 存放由本地管理员安装的软件,通常不通过系统包管理器安装。
- /usr/share: 存放共享的数据文件,如文档、配置文件示例、图片。
- /usr/src: 存放内核源代码和头文件。
/var (Variable)
存放系统在运行时需要修改的数据文件。常见子目录:
- /var/log: 系统日志文件。
- /var/spool: 打印队列、邮件队列等。
- /var/tmp: 临时文件,系统重新启动后不会清除。
- /var/www: Web服务器的数据文件(如Apache的根目录)。
/tmp (Temporary)
存放临时文件,系统重启后这些文件通常会被清除。一般用于存放运行中程序产生的临时文件。
/boot
存放启动加载器的文件以及内核镜像文件。例如:/boot/vmlinuz(内核文件), /boot/grub(GRUB启动加载器配置文件)。
/dev (Device Files)
存放设备文件,每个文件代表一个设备。例如:/dev/sda1(第一个硬盘的第一个分区),/dev/tty(终端设备)。
/mnt 和 /media
- /mnt: 通常用于临时挂载文件系统,如网络文件系统。
- /media: 用于挂载可移动媒体设备,如CD-ROM、USB驱动器。
/opt (Optional)
存放附加的应用软件包,特别是那些不属于默认安装的软件包。例如,一些商业软件包或第三方软件会安装到这里。
/proc
一个虚拟文件系统,提供系统内核和进程信息。这个文件系统是动态生成的,反映了内核和系统状态。例如:/proc/cpuinfo(CPU信息),/proc/meminfo(内存使用情况)。
/run
存放系统运行时的信息,如进程ID文件和系统启动时生成的文件。用于替代 /var/run 和 /var/lock。
/lost+found
每个使用ext文件系统的分区都会有这个目录,用于存放文件系统检查过程中修复的文件。在根目录下的 /lost+found 用于存放根分区的恢复文件。