这里以我的ubuntu20.0的目录为例
/bin 存放系统最基本、最重要的命令,这些命令在系统启动时必须可用。(对于 /usr/bin
:存放用户级别的命令,这些命令通常是用户安装的各种应用程序提供的)
/boot 存放与系统启动相关的文件
/dev 用于存放设备文件(device files),也就是代表系统中硬件设备的特殊文件。这些设备文件允许进程访问硬件设备,如硬盘、打印机、键盘、鼠标以及网络接口等。
/etc 用来存放所有的系统管理所需要的配置文件和子目录。这里的“配置文件”指的是那些用于配置系统行为和服务的各种文本文件
/home 用户的主目录
/lib 包含了各种共享库文件,这些文件以 .so
扩展名结尾。这些库通常是为了支持系统的核心功能和基本的命令行工具。(/usr/lib 目录也包含共享库,但它通常包含应用程序和包的库,而不是系统核心的库)
/media 包含自动挂载的可移动存储设备的挂载点,用于方便用户访问这些设备上的文件,而/dev
目录包含系统中的所有设备文件,用于表示硬件设备
/mnt 一个特殊的目录,用于临时挂载文件系统(Linux原生不支持的)
/opt 用于安装第三方应用程序。这个目录的目的是为用户提供一个统一的安装位置,以便于管理第三方应用程序。
- /opt vs /usr/local:主要区别在于
/opt
更倾向于安装独立的软件包,而/usr/local
通常用于由本地管理员安装的软件。如果你使用的是包管理器来安装软件,通常不会使用/opt
,而是/usr/local
或者直接在/usr
下的适当位置。/usr/local
中的软件包通常保留原始的目录结构,而/opt
中的软件包则有自己的目录结构。 - /usr vs /usr/local:
/usr
是操作系统和任何通过包管理器安装的软件的“家”,而/usr/local
用于本地管理员自己安装的软件。这意味着/usr
的内容通常是由包管理器管理的,而/usr/local
的内容则由本地管理员直接控制
/proc 一个特殊的虚拟文件系统,它提供了关于内核和系统状态的信息。这个文件系统不同于其他传统的文件系统,因为它并不存储数据在磁盘上,而是直接从内核中读取信息。
/root 是超级用户(root)的主目录。这个目录对于系统管理员非常重要,因为它包含了 root 用户的环境设置、配置文件和数据。
/run 目录主要用于存储运行时状态信息。
/sbin 存放系统管理员使用的管理和配置程序,以及一些在启动和恢复模式下需要的命令。这些程序通常是只有 root 用户或者具有特殊权限的用户才能执行的。
/snap 是一个特殊的目录,用于存储 Snap 包(Snapcraft 包)的安装内容。Snap 是 Ubuntu 开发的一种新的软件打包和交付格式,它旨在简化软件的打包、分发和更新过程。
/srv 它用于存放由服务或系统提供的数据。这个目录的主要目的是为用户提供一个统一的位置来存储服务相关的数据,这些数据通常由系统服务生成或维护。
/sys 它是一个虚拟文件系统,用于提供对内核中硬件抽象层(HAL)的访问。/sys
目录下的文件和目录实际上是由内核动态生成的,它们反映了系统的硬件状态和内核配置信息。这些文件允许用户空间程序和脚本直接读取和修改内核中的硬件状态,而无需直接访问硬件或编写内核模块。
/temp
在 Linux 系统中,临时文件也有几个常见的存放位置:
/tmp:这是一个公共的临时文件目录,所有用户都可以写入(尽管可能有权限限制)。这个目录通常用于存放那些需要短时间存在的文件,比如程序运行时产生的缓存数据。
/var/tmp:与 /tmp 类似,但是 /var/tmp 目录中的文件不会在系统重启之后被删除,因此更适合于存放那些需要跨过重新启动的数据。
/run:这个目录是在 Linux 系统启动时被创建的,主要用于存放那些在系统运行期间需要保存的数据,例如服务的 PID 文件等。
虽然 /temp 不是 Linux 中的标准目录,但一些应用程序可能会创建类似的目录来存储它们的临时文件。如果确实存在一个 /temp 目录,那么它可能是某个特定应用程序为了存储临时文件而创建的。
/usr Unix System Resource是 Linux 和其他类 Unix 操作系统中的一个核心目录,用于存放用户程序和系统程序的数据文件。
/var 用于存储系统和应用程序的可变数据,即那些在系统运行过程中可能发生变化的数据。/var
目录下的文件通常包含日志文件、邮件队列、打印队列、数据库文件、缓存文件等。
/swapfile 指在 Linux 系统中创建的一个文件,用作交换空间(swap space)