Linux 系统采用树形文件结构,每个目录都有明确的功能定位,遵循 FHS(Filesystem Hierarchy Standard) 标准。以下是新安装系统后主要文件夹的用途:
一、根目录(/)核心文件夹
1. /bin:基础命令二进制文件
• 存放系统最基础的可执行命令(二进制程序),如 ls、cd、cp 等,所有用户都可执行。
• 这些命令在系统启动阶段(甚至无网络时)必须可用,属于系统核心工具。
2. /sbin:系统管理命令
• 存放用于系统管理的命令,如 reboot(重启)、ifconfig(网络配置)、fdisk(磁盘分区)等。
• 通常需要 root 权限执行,普通用户默认无权限(可通过 sudo 调用)。
3. /etc:系统配置文件
• 存放系统和应用程序的配置文件,如:
◦ 网络配置:/etc/network/interfaces、/etc/resolv.conf
◦ 用户配置:/etc/passwd(用户列表)、/etc/group(用户组)
◦ 服务配置:/etc/systemd/(系统服务配置)、/etc/nginx/(Nginx配置)
• 修改这里的文件通常需要 root 权限。
4. /home:用户家目录
• 每个普通用户的个人文件存放目录,默认以用户名命名,如 /home/your_username/。
• 包含用户的文档、下载、桌面等个人数据(如 ~/Downloads、~/Documents),用户对自己的家目录有完全权限。
5. /root:超级用户(root)家目录
• root 用户的个人目录,相当于普通用户的 /home,存放 root 的配置文件和个人数据。
• 普通用户默认无权限访问。
6. /usr:用户共享资源
• 存放系统大部分应用程序、库文件、文档等,是最庞大的目录之一,细分如下:
◦ /usr/bin:非核心用户命令(如 git、python 等,比 /bin 更丰富)。
◦ /usr/sbin:非核心系统管理命令(如 httpd、mysql 服务启动命令)。
◦ /usr/lib:应用程序依赖的库文件(如 .so 动态链接库)。
◦ /usr/share:共享数据(如文档、图标、字体等,跨架构通用)。
◦ /usr/local:用户自行安装的软件(如源码编译的程序,避免与系统默认软件冲突)。
7. /var:可变数据
• 存放系统运行中会动态变化的文件,如日志、缓存、临时文件等,细分如下:
◦ /var/log:系统和应用日志(如 /var/log/syslog 系统日志、/var/log/auth.log 认证日志)。
◦ /var/cache:应用缓存(如浏览器缓存、软件包缓存 apt-cache)。
◦ /var/spool:队列数据(如邮件队列、打印任务队列)。
◦ /var/tmp:长期临时文件(比 /tmp 保留时间长,重启可能不清除)。
8. /tmp:临时文件
• 存放系统或应用运行时产生的临时文件,所有用户可读写。
• 特性:系统重启后自动清空,适合存放短期临时数据(如程序运行中的缓存、临时日志)。
9. /dev:设备文件
• Linux 中“一切皆文件”,硬件设备通过这里的文件表示,如:
• 磁盘:/dev/sda(第一块SATA硬盘)、/dev/nvme0n1(NVMe SSD)。
• 分区:/dev/sda1(sda 硬盘的第一个分区)。
• 终端:/dev/tty1(第一个虚拟终端)、/dev/stdin(标准输入)。
10. /proc:进程与系统信息
• 虚拟文件系统,不占用磁盘空间,实时反映系统内核、进程状态和硬件信息,如:
◦ /proc/cpuinfo:CPU 信息。
◦ /proc/meminfo:内存使用情况。
◦ /proc/pid:对应进程 ID(pid)的运行信息(如 /proc/1 是 init 进程)。
11. /sys:硬件设备管理
• 虚拟文件系统,用于与内核交互,管理硬件设备(如CPU、内存、显卡、USB设备等)的配置和状态。
• 例如:/sys/class/net 存放网络接口信息,/sys/class/disk 存放磁盘设备信息。
12. /mnt 与 /media:挂载临时设备
• /mnt:手动挂载临时文件系统的目录(如挂载U盘、移动硬盘,需手动创建子目录挂载,如 /mnt/usb)。
• /media:自动挂载的外部设备目录(如插入U盘后,系统自动挂载到 /media/your_username/U盘名称)。
13. /opt:第三方软件
• 存放第三方软件或独立应用程序(如商业软件、非系统默认安装的工具),通常每个软件在 /opt 下有单独目录(如 /opt/google/chrome)。
• 特点:不与系统其他文件混合,卸载时直接删除目录即可。
14. /srv:服务数据
• 存放系统提供服务时需要的数据(如Web服务器的网站文件、FTP服务器的共享文件),例如:
◦ Web服务可存放于 /srv/www,FTP服务可存放于 /srv/ftp。
二、总结
Linux 目录设计的核心原则是 “分类明确、功能独立”:
• 系统核心文件(命令、配置):/bin、/sbin、/etc、/usr。
• 用户数据:/home、/root。
• 动态数据:/var、/tmp。
• 硬件与进程信息:/dev、/proc、/sys。
• 外部设备与第三方软件:/mnt、/media、/opt、/srv。
理解这些目录的用途,有助于高效管理文件、排查问题和遵守Linux操作规范。