笔者在学习linux过程中,总是记不住每个目录的设计之初的含义,今天专门整理了一下,方便复习。
以centos7为例:登录系统之后执行命令:
ll
可以看到如下详细的目录以及具有的权限,当前用户为root
Linux文件系统结构,它遵循了一种层次化的目录结构。以下是一些常见的目录以及它们的解释。
(一)下面对这些目录进行解释:
/:根目录
这是整个文件系统的顶级目录,所有其他目录和文件都位于根目录下。
/bin:二进制文件
Binaries (二进制文件) 的缩写,这个目录包含了许多基本的可执行文件,如系统命令(ls、cp、rm等)和常见的工具。/bin目录的主要特点和作用包括:
可执行命令:/bin目录包含了一些常用的用户级别可执行命令,这些命令可以被系统上的所有用户直接执行。例如,ls、cp、mv、rm等命令就存放在/bin目录下。
系统启动和基本操作:/bin目录中的一些命令对于系统的启动和基本操作非常重要。例如,/bin/init命令是系统启动过程中的第一个进程,/bin/sh是系统默认的命令行解释器。
单用户模式:在系统故障或维护时,可以进入单用户模式,此时只有/bin目录下的一些基本命令可用,用于进行系统修复和故障排查。
系统路径:/bin目录是系统默认的命令搜索路径之一。因此,当用户在命令行中输入一个命令时,系统会首先在/bin目录下查找是否存在该命令的可执行文件。
需要注意的是,/bin目录中的命令通常是基本而常用的,对于系统的正常运行和用户的日常操作至关重要。这些命令一般都是具有核心功能的基本工具,不依赖于其他软件包。
/boot:启动文件
在Linux系统中,/boot目录是用于存放与系统启动相关的文件的目录。它包含了引导加载程序(bootloader)和内核(kernel)镜像文件,以及与系统引导过程有关的配置文件。以下是/boot目录的一些主要内容和作用:
引导加载程序(bootloader):
/boot目录通常包含引导加载程序的配置文件和二进制文件。引导加载程序负责在系统启动时加载操作系统内核到内存中,并执行系统引导过程。常见的引导加载程序包括GRUB(GRand Unified Bootloader)和LILO(LInux LOader)。内核镜像文件:
Linux操作系统的内核镜像文件通常存放在/boot目录中。内核是操作系统的核心组件,负责管理系统资源、提供系统服务和驱动程序等功能。内核镜像文件通常以类似于"vmlinuz"或"bzImage"的文件名格式存在。initramfs(Initial RAM File System):
/boot目录可能包含initramfs文件,它是一个临时的根文件系统,用于在系统引导过程中加载必要的驱动程序和文件系统模块。initramfs在引导过程中允许系统加载所需的初始化程序和驱动程序,以便成功启动操作系统。其他引导相关文件:
/boot目录可能还包含其他与引导过程有关的文件,如配置文件(如grub.cfg)、备份的内核镜像文件、启动时的图形背景等。这些文件在引导过程中起到配置和定制的作用。
/dev:设备文件
Device(设备) 的缩写,Linux将设备表示为文件,/dev目录包含了与硬件设备相关的文件,例如磁盘驱动器、USB设备等。/dev目录的一些主要特点和作用包括:
设备节点:/dev目录中的文件通常被称为设备节点。每个设备节点对应着系统中的一个硬件设备或虚拟设备。例如,/dev/sda表示硬盘设备,/dev/tty1表示虚拟终端设备。
设备文件的访问:通过在设备文件上进行读写操作,可以与对应的设备进行数据的输入和输出。例如,可以通过/dev/sda设备文件访问硬盘上的数据。
设备的控制和配置:一些设备文件可以用于控制和配置硬件设备的行为。例如,/dev/snd/controlC0设备文件用于控制音频设备。
虚拟设备:除了物理硬件设备,/dev目录中也包含一些虚拟设备文件。例如,/dev/null是一个特殊的设备文件,用于丢弃数据;/dev/random和/dev/urandom是用于生成随机数的设备文件。
自动创建:设备文件通常由系统在启动时自动创建或通过设备驱动程序动态创建。这些设备文件的创建和管理由udev(设备管理守护进程)负责。