当前位置: 首页 > web >正文

Linux主要目录

/ (根目录)
├── bin/          (基本用户命令,如 ls, cp, cat)
├── boot/         (启动相关文件,如内核 vmlinuz, initramfs)
├── dev/          (设备文件,如硬盘 /dev/sda, 终端 /dev/tty)
├── etc/          (系统配置文件,如网络配置, passwd, my.cnf)
│   ├── network/  (网络配置文件)
│   ├── sysconfig/(特定发行版如CentOS的系统配置脚本)
│   └── X11/      (图形界面X Window系统配置)
├── home/         (普通用户的主目录)
│   └── [用户名]/ (例如: /home/zhangsan, /home/lisi)
├── lib/          (系统启动和运行 /bin, /sbin 命令所需的基本共享库)
│   └── modules/  (内核模块)
├── lost+found/   (文件系统发生错误时,恢复的文件片段存放处)
├── media/        (可移动媒体设备的自动挂载点,如U盘, 光驱)
│   └── [设备名]/ (例如: /media/usb_drive)
├── mnt/          (用户临时手动挂载其他文件系统的挂载点)
├── opt/          (可选的、第三方大型独立应用程序包,如Oracle, Chrome)
│   └── [应用名]/ (例如: /opt/google-chrome)
├── proc/         (虚拟文件系统,系统内存的映射,存放进程和内核信息)
├── root/         (超级管理员 root 用户的主目录)
├── run/          (系统自启动以来运行的进程的运行时数据,如PID文件,重启清空)
├── sbin/         (系统管理员使用的系统管理命令,如 ifconfig, reboot)
├── selinux/      (如果启用了SELinux安全子系统,存放其相关文件)
├── srv/          (存放一些服务启动后需要提取的数据,如网站文件 /srv/www)
├── sys/          (虚拟文件系统,管理2.6内核及以后版本的设备和驱动程序)
├── tmp/          (临时文件存放目录,所有用户可写,通常重启后清空)
├── usr/          ("Unix System Resources" - Unix系统资源,非常重要)
│   ├── bin/      (大多数用户应用程序命令)
│   ├── include/  (C/C++ 等语言的头文件)
│   ├── lib/      (/usr/bin 和 /usr/sbin 中程序所需的共享库)
│   ├── local/    (用户自行编译安装软件的存放目录)
│   │   ├── bin/    (本地安装的命令)
│   │   ├── etc/    (本地安装的配置)
│   │   ├── lib/    (本地安装的库)
│   │   ├── sbin/   (本地安装的系统命令)
│   │   └── share/  (本地安装的共享数据)
│   ├── sbin/     (非必要的系统管理命令)
│   ├── share/    (体系结构无关的共享数据,如文档 man, 图标)
│   └── src/      (源代码,如内核源码)
└── var/          (存放经常变化的文件,"Variable")├── cache/    (应用程序的缓存数据)├── lib/      (应用程序状态信息,如数据库文件)├── lock/     (锁文件)├── log/      (各种系统和应用的日志文件,如 messages, secure)├── mail/     (用户邮箱文件)├── run/      (通常是指向 /run 的符号链接)├── spool/    (应用程序的队列数据,如打印队列, 邮件队列)└── tmp/      (比 /tmp 更持久的临时文件,重启后通常不会清空)

核心与启动相关

/ (Root - 根目录)

  • 说明: 所有文件和目录的起点,整个文件系统的顶级目录。

/bin (User Binaries - 用户二进制文件)

  • 全拼: Binaries

  • 说明: 包含所有用户(包括普通用户和超级用户)都可以执行的基本命令,如 ls, cp, cat 等。这些命令在系统启动或单用户模式下也需要用到。

  • 相关: /usr/bin (存放多数用户应用程序), /usr/local/bin (用户自行安装的程序)。

/sbin (System Binaries - 系统二进制文件)

  • 全拼: System Binaries (或 Superuser Binaries)

  • 说明: 存放只有系统管理员(root用户)才能执行的系统管理命令,用于系统维护,如 ifconfig, reboot, fdisk 等。这些命令对于系统的启动、修复、恢复至关重要。

  • 相关: /usr/sbin (存放非必要的系统管理程序), /usr/local/sbin (管理员自行安装的系统管理程序)。

/lib (Libraries - 库文件)

  • 全拼: Libraries

  • 说明: 存放系统启动和在根目录下运行 /bin 和 /sbin 中的命令所必需的共享库文件和内核模块。其作用类似于Windows里的DLL文件。

  • 相关: /usr/lib, /usr/local/lib。根据系统架构(32位/64位),也可能有 lib32 或 lib64 目录。

/boot (Boot Loader Files - 启动加载器文件) [常用]

  • 说明: 包含Linux系统启动时所需的核心文件,如Linux内核(vmlinuz)、初始化RAM磁盘镜像(initrd.img 或 initramfs.img)以及引导加载程序(如GRUB)的配置文件。

/etc (Etcetera - 配置文件) [常用]

  • 全拼: Etcetera (常被理解为 "Editable Text Configurations")

  • 说明: 存放所有系统级别和应用程序的配置文件。例如,网络配置、用户账户信息 (passwd, shadow)、启动脚本、服务配置文件(如MySQL的 my.cnf)等。

用户与家目录

/home (Home Directories - 用户家目录) [常用]

  • 说明: 存放普通用户的主目录。在Linux中,每个普通用户都有一个以其用户名命名的个人目录(如 /home/john, /home/alice),用于存储个人文件、配置和数据。

/root (Root User's Home Directory - root用户家目录) [常用]

  • 说明: 系统管理员(root用户或超级用户)的家目录。与普通用户的家目录分开存放,以增强系统安全性。

系统与设备

/dev (Device Files - 设备文件)

  • 全拼: Devices

  • 说明: 包含所有设备的特殊文件(设备节点)。在Linux中,硬件设备(如硬盘、光驱、终端、打印机)都以文件的形式表示,应用程序通过读写这些文件来与硬件交互。类似于Windows的设备管理器,但以文件形式展现。

/proc (Process Information - 进程信息) [不能动]

  • 全拼: Processes

  • 说明: 这是一个虚拟文件系统,不实际占用磁盘空间。它是系统内存中内核数据结构的一个映射,提供了关于系统进程、硬件状态(如CPU信息、内存使用)的实时信息。可以通过访问这个目录下的文件来获取系统运行状态。

/sys (System Filesystem - 系统文件系统) [不能动]

  • 全拼: System

  • 说明: 这是一个基于Linux 2.6及以后内核的虚拟文件系统(sysfs),用于将内核中关于设备、驱动程序和总线的信息导出到用户空间。它比 /proc 提供了更结构化的设备信息。

/lost+found (Lost and Found - 丢失找回)

  • 说明: 这个目录通常在每个分区的根目录下存在。当系统因意外(如非法关机、文件系统错误)导致文件损坏时,fsck (filesystem check) 程序会尝试恢复损坏的文件片段,并将它们存放在这个目录中。正常情况下此目录为空。

应用程序与可变数据

/usr (Unix System Resources - Unix系统资源) [常用]

  • 全拼: Unix System Resources (历史上是 User System Resources)

  • 说明: 这是一个非常重要的目录,包含了大部分用户安装的应用程序、库文件、文档和源代码。它不是"用户"(user)的家目录,而是"系统资源"。可以类比为Windows下的 C:\Program Files 和 C:\Windows\System32 (部分功能)。

    • /usr/bin: 大部分用户命令。

    • /usr/sbin: 非必要的系统管理命令。

    • /usr/lib: 应用程序和 /usr/bin, /usr/sbin 中命令所需的库文件。

    • /usr/local: 本地管理员安装软件的层级结构,见下文。

    • /usr/share: 体系结构无关的共享数据,如文档 (man 页面)、图标、字体。

    • /usr/src: 内核源代码等。

/usr/local (Local Hierarchy - 本地层级) [常用]

  • 说明: 用于本地管理员安装软件。当你从源代码编译安装软件,或者安装不属于发行版官方仓库的软件时,通常会安装到这里。这样做的好处是,它将本地安装的软件与系统通过包管理器安装的软件分离开,便于管理和避免冲突。其下通常也有 bin, lib, share 等子目录。

/opt (Optional Application Software Packages - 可选应用软件包) [常用]

  • 全拼: Optional

  • 说明: 用于存放可选的、第三方独立的、通常是商业的应用程序软件包。这些软件包通常是自包含的,不遵循标准的Linux目录结构,而是将其所有文件安装在一个子目录中(例如 /opt/google-chrome/ 或 /opt/oracle_database/)。这使得安装、升级和卸载这些大型或专有应用更加容易。

/usr vs /usr/local vs /opt 的区别澄清:

  • /usr: 主要由操作系统的包管理器(如 apt, yum)管理。包含操作系统发行版提供的核心工具和应用程序。你不应该手动在此处放置文件。

  • /usr/local: 主要由系统管理员手动管理。用于安装那些不由发行版包管理器提供的软件,例如从源代码编译的程序。这可以防止系统升级时覆盖你手动安装的软件。

  • /opt: 主要用于安装大型的、独立的、第三方商业或闭源软件包。这些包通常有自己的安装和更新机制,并倾向于将所有文件放在一个目录下,以便于管理和隔离。

/var (Variable Files - 可变文件) [常用]

  • 全拼: Variable

  • 说明: 存放系统运行过程中内容会经常发生变化的文件。

    • /var/log: 系统日志文件。

    • /var/spool: 队列数据,如邮件、打印任务。

    • /var/cache: 应用程序缓存数据。

    • /var/lib: 状态信息,如数据库文件。

    • /var/tmp: 比 /tmp 更持久的临时文件,重启后通常不清除。

临时与挂载点

/tmp (Temporary Files - 临时文件)

  • 全拼: Temporary

  • 说明: 存放应用程序和用户创建的临时文件。所有用户都有写权限,通常在系统重启时会清空。

/mnt (Mount Point - 挂载点) [常用]

  • 全拼: Mount

  • 说明: 一个通用的、临时的挂载点,供系统管理员手动挂载文件系统(如其他硬盘分区、网络共享等)。例如,可以将一个外部存储设备临时挂载到 /mnt/mydrive。

/media (Removable Media Devices - 可移动媒体设备) [常用]

  • 说明: 现代Linux系统通常使用此目录作为可移动媒体(如U盘、SD卡、CD/DVD驱动器)的自动挂载点。当插入这些设备时,系统会自动在 /media 下创建一个子目录(如 /media/usb_drive_name)并将设备挂载到那里。

服务与安全

/srv (Service Data - 服务数据) [某些系统可能不常用或不强调]

  • 全拼: Service

  • 说明: 存放一些服务(如HTTP、FTP)启动后需要提取的数据。例如,网站文件可以放在 /srv/www。其使用不如其他目录普遍,有些系统可能不怎么用这个目录。

/selinux (Security-Enhanced Linux)

  • 说明: 如果系统启用了SELinux(一种Linux内核安全模块,提供强制访问控制机制),这个目录(通常是一个虚拟文件系统接口)会包含与SELinux策略和状态相关的文件。它能控制程序只能访问特定文件,有三种工作模式。

http://www.xdnf.cn/news/12131.html

相关文章:

  • 自定义事件wpf
  • Zookeeper 和 Kafka 版本与 JDK 要求
  • Nginx部署vue项目, 无法直接访问其他路径的解决方案
  • JVM垃圾回收器-ZGC
  • nano编辑器的详细使用教程
  • 中达瑞和SHIS高光谱相机在黑色水彩笔墨迹鉴定中的应用
  • xmind转换为markdown
  • Numpy入门4——结构化数组和Numpy文件
  • C++多态与继承实战解析
  • 如何判断是 CPU 密集还是 IO 密集型任务?
  • C++语法系列之IO流
  • JAVA 集合进阶 01 - 05 双列集合
  • FEMFAT许可分析中的关键指标
  • Java直接内存(directMemory)分配与查看
  • DNS解析深入探讨
  • linux扫描所有私有网段shell脚本
  • 2.MySQL基础:SQL语句
  • 【Python实战】零基础实战教程(三) 变量与数据类型
  • 【Python指南】离线安装顽固复杂的第三方库指南
  • Transformers生成文本:max_new_tokens揭秘
  • 第二十三章 Shell的基础语法
  • haribote原型系统改进方向
  • 【Day44】
  • 【向量化模型如何私有化部署】一文说清原理、流程与最佳实践
  • 软件工程专业本科毕业论文模板
  • 龙虎榜——20250604
  • ‌RF Choke(射频扼流圈)
  • 2D 写实交互数字人:多终端实时交互,引领数字化浪潮
  • 告别延迟,拥抱速度:存储加速仿真应用的解决方案【1】
  • 【五子棋在线对战】二.项目结构设计 实用工具类模板的实现