以下是 Ubuntu 22.04 文件系统中这些目录的作用:
/backup这是一个用户自定义目录,系统本身并没有对其进行特殊定义。用户通常会使用这个目录来存放备份文件,比如系统数据备份、重要文档备份等 。
/bin全称是 “binary”,存放着供所有用户使用的基本命令,比如
ls(列出目录内容)、
cp(复制文件或目录)、
mv(移动或重命名文件)等。这些命令在系统启动时就需要使用,并且在单用户模式下也能正常工作 。
/boot存放着系统启动时需要的文件,包括内核文件(如
vmlinuz)和引导加载程序(如
grub 相关文件)。当计算机启动时,BIOS 或 UEFI 会加载引导加载程序,然后引导加载程序再加载内核文件来启动系统 。
/cdrom用于挂载 CD-ROM 或 DVD-ROM 等光盘设备。在插入光盘后,可以通过命令将光盘挂载到这个目录下,以便访问光盘中的数据。不过现在随着网络的发展,使用光盘的场景逐渐减少,这个目录可能很少使用 。
/data同样是用户自定义目录,没有特定的系统用途。用户可以根据自身需求,用来存放业务数据、项目文件等各类数据。
/dev全称是 “device”,用于存放设备文件。在 Linux 中,一切皆文件,设备也被抽象成文件的形式,比如硬盘设备文件(
/dev/sda 等)、光驱设备文件(
/dev/cdrom 等)、串口设备文件(
/dev/ttyS* 等) 。这些文件允许用户和程序访问和控制硬件设备 。
/etc全称是 “etcetera”,存放系统配置文件,比如网络配置文件(
/etc/network/interfaces 或
/etc/netplan/*.yaml )、用户和组配置文件(
/etc/passwd、
/etc/group )、服务配置文件(
/etc/apache2 用于 Apache 服务器配置 )等。修改这些配置文件可以改变系统或服务的运行方式。
/home用户的主目录,每个普通用户在
/home 下都有一个以自己用户名命名的子目录,用于存放个人文件,比如文档、图片、音乐等。例如用户
john 的主目录就是
/home/john 。
/lib存放系统和程序运行时需要的共享库文件,比如 C 标准库文件。共享库可以被多个程序共享使用,以减少内存占用和磁盘空间占用。
/lib32 和
/lib64
/lib32 目录用于存放 32 位的共享库文件,在 64 位系统中,如果需要运行 32 位程序,就需要这些库文件。
/lib64 目录则用于存放 64 位的共享库文件,是 64 位系统中主要的共享库存放位置。
/lost+found这个目录是在使用
ext 系列文件系统(如
ext2、
ext3、
ext4)时自动创建的。当文件系统发生错误并进行修复时,一些丢失的文件片段可能会被恢复到这个目录下 。
/media用于自动挂载可移动媒体设备,如 USB 闪存盘、移动硬盘等。当插入可移动设备时,系统会自动在
/media 下创建一个目录,并将设备挂载到该目录下,方便用户访问设备中的数据 。
/mnt原本用于临时挂载文件系统,用户可以手动将其他文件系统(如硬盘分区、网络共享等)挂载到
/mnt 下的某个目录,以便访问其中的数据。不过现在
/media 常用于自动挂载可移动设备,而
/mnt 更多用于手动挂载特定的、非可移动的文件系统。
/opt全称是 “optional”,用于安装可选的应用程序软件包。一些第三方应用程序,如某些商业软件或大型开源项目,在安装时可能会将文件放在
/opt 下的子目录中,例如
/opt/lampp (用于存放 XAMPP 服务器相关文件)。
/proc这是一个虚拟文件系统,它并不占用实际的磁盘空间。
/proc 中存放的文件表示系统当前运行的进程信息,比如
/proc/cpuinfo 包含 CPU 相关信息,
/proc/meminfo 包含内存使用信息等。通过读取这些文件,用户和程序可以获取系统运行状态的实时信息 。
/root系统管理员(root 用户)的主目录,与普通用户的主目录(在
/home 下)不同,root 用户的文件和配置等存放在这里。
/run用于存放系统启动后运行时产生的信息,比如进程 ID 文件(PID 文件)、套接字文件等。这些文件用于记录当前正在运行的进程的相关状态信息,帮助系统管理和监控进程。
/sbin全称是 “system binary”,存放供系统管理员使用的系统管理程序,比如
init(系统初始化程序)、
ifconfig(网络接口配置命令)等。这些命令通常需要管理员权限才能运行。
/snap用于存放使用
snap 包管理器安装的应用程序及其相关文件。
snap 是一种新型的软件包格式,具有自动更新、依赖隔离等优点,很多流行的应用程序都提供了
snap 版本。
/srv全称是 “service”,用于存放系统提供服务时使用的数据,比如 Web 服务器存放网站内容的目录、FTP 服务器存放共享文件的目录等。不同的服务可以在
/srv 下创建自己的子目录来存放数据 。
/sys是一个基于内核的虚拟文件系统,类似于
/proc 。它提供了一种访问内核对象及其属性的接口,用于展示系统硬件设备的信息和状态,比如设备树、设备驱动程序信息等 。
/tmp全称是 “temporary”,用于存放临时文件。系统和程序在运行过程中产生的临时数据会存放在这里,比如解压缩临时文件、程序运行时产生的临时缓存文件等。系统会定期清理
/tmp 目录中的文件,并且在系统重启后,该目录下的文件通常会被清空。
/usr用于存放用户可使用的应用程序、库文件、文档等,是一个非常庞大的目录。它又包含多个子目录,如
/usr/bin(存放用户应用程序命令,与
/bin 不同,这里的命令不是系统启动所必需的 )、
/usr/lib(存放应用程序的共享库文件 )、
/usr/share(存放共享资源,如文档、图标等 )。
/var全称是 “variable”,用于存放经常变化的数据,比如日志文件(
/var/log 目录存放系统和服务的日志 )、邮件队列(
/var/spool/mail )、缓存文件(
/var/cache )等。随着系统的运行,
/var 目录下的文件大小和内容会不断变化。