Linux 中有三大类文件。
常规文件 – 这些是由二进制或 ASCII 数据组成的普通文件。这些是常规文件,例如文档,图像,音频和视频文件等。
目录文件 – 在 Linux 中,目录也被归类为文件,因为它们还用作其他文件和文件夹的存储空间。
设备文件 – 这些是特殊文件,为设备驱动程序提供接口,使系统上的硬件设备(如鼠标、键盘、USB 设备、硬盘驱动器等)能够使用。它们位于 /dev 目录中。
Linux 目录结构图
标准的 Linux 发行版遵循下面提供的目录结构,并附有图表和说明。
Linux 目录结构
上述每个目录(首先是一个文件)都包含启动到设备驱动程序、配置文件等所需的重要信息。简要描述每个目录的用途,我们将按层次结构开始。
/目录
根目录(用正斜杠表示)是 Linux 目录结构中最上面的目录。它包含 Linux 系统上的所有目录、子目录和文件。它来自 Linux 目录层次结构开始的根目录。(/)
注意:不应将根目录与根主目录混淆。(/)(/root)
Linux 中的根目录
/boot 目录
这是 Linux 系统中最重要的目录之一。顾名思义,引导目录包含 Linux 引导文件,例如引导加载程序、内核及其关联文件。诸如“vmlinuz”之类的文件表示 Linux 内核的压缩映像。
Linux 中的引导目录
/etc 目录
/etc 目录包含已安装的所有服务、脚本和第三方应用程序的系统配置文件。该目录被认为是 Linux 系统的神经中枢。
Linux 中的 /etc 目录
/home 目录
/home 目录是包含用户个人文件夹和文件的目录。在图形 Linux 系统上,默认情况下,主目录包含桌面、文档、下载、图片、视频和公共等文件夹。
此外,/home 目录包含以 dot 为前缀的个人配置文件。这些是隐藏文件,其中包含登录 shell 会话的用户特定设置。(.)
Linux 中的主目录
/根目录
/root 目录是 root 用户的主目录,也称为 root 用户的主目录(而不是根目录)。(/)
root 帐户也称为超级用户、管理用户、系统管理员或仅 root 用户,具有对 Linux 中命令和系统文件的所有访问权限。
Linux 中的根用户目录
/opt 目录
/opt 目录是为默认情况下未包含在系统官方存储库中的附加包和第三方软件应用程序保留的目录。
例如,当您安装 Skype、Discord、Spotify 和 Java 等应用程序时,它们会存储在 /opt 目录中。
Linux 中的 /opt 目录
/dev 目录
/dev 目录包含设备文件或连接到系统的设备(如硬盘驱动器、键盘和鼠标)的特殊文件。如前所述,这些不是用户可以读取和写入的常规内容。
这些是系统上的应用程序通过输入和输出系统调用与之交互的标准设备的抽象。
Linux 中的 /dev 目录
/var 目录
/var 目录存储系统生成的变量文件,其中包括日志文件、缓存和后台处理文件等。
Linux 中的 /var 目录
/bin 目录
/bin 目录包含系统中所有用户使用的用户二进制文件、可执行程序和常用系统命令。这些包括 ls、pwd、cat、mkdir、cd、mv、cp、du、df、tar、rpm、wc、history 等。
Linux 中的 /bin 目录
/sbin 目录
/sbin 目录包含为 root 用户或具有 root 权限的用户保留的可执行文件、实用程序和系统命令。这些命令包括 halt、reboot、mkfs、fsck、fdisk、halt、iptables、ifconfig、ip、swapon 等。
Linux 中的 /sbin 目录
/usr 目录
/usr 目录是最重要的目录之一,因为它包含大量数据。该目录包含系统范围的只读文件。其中包括库、用户二进制文件及其文档、程序和系统实用程序。
Linux 中的 /usr 目录
/proc 目录
/proc 目录有点奇怪。它是一个虚拟或伪文件系统,包含有关正在运行的进程的重要信息。它被认为是 Linux 内核的控制和信息中心。
文件系统在系统启动时即时创建,并在系统关闭电源后销毁。
Linux 中的 /proc 目录
/mnt 目录
/mnt 目录及其子目录是一个目录,旨在用作装载存储设备(如硬盘驱动器、USB 驱动器和 CDROM)的临时挂载点。
Linux 中的 mnt 目录
/sys 目录
/sys 是一个虚拟文件系统,其中包含一组虚拟文件,这些虚拟文件为 Linux 内核提供接口。
Linux 中的 /sys 目录
/media 目录
/media 目录是系统装载可移动介质(如 USB 驱动器)的目录。
Linux 中的 /media 目录
/run 目录
/run 目录是一个临时文件系统,其中包含易失性运行时数据,这些数据显示系统自启动以来的情况。在启动过程开始时,必须删除 /run 目录下的文件(删除或截断方便)。
Linux 中的 /run 目录
/tmp 目录
/tmp 目录是存储临时文件的目录,许多程序使用此目录创建锁定文件并保留数据的临时存储。
不要删除 /tmp 目录下的文件,除非您确切地知道自己在做什么!其中许多文件对于当前正在运行的程序至关重要,删除它们可能会影响系统崩溃。
Linux 中的 /tmp 目录
/lib 目录
/lib 目录将用户二进制文件所需的所有基本标准库存储在 /bin 目录中。
Linux 中的 /lib 目录
/lost+found 目录
lost+found 目录是在 Linux 安装期间安装的,可用于恢复可能因意外关闭而损坏的文件。
/srv 目录
/srv 目录是服务目录,缩写为“srv”。此目录包含特定于服务器的文件和与服务相关的文件。
探索重要文件、其位置及其可用性
Linux 是一个复杂的系统,需要更复杂、更有效的方式来启动、停止、维护和重新启动系统,这与 Windows 不同。Linux 中的每个进程都有一个定义良好的配置文件、二进制文件、手册页、信息文件等。
除了主要目录之外,这里还列出了一些重要的文件和目录及其用途。
/boot/vmlinuz :Linux 内核文件。
/dev/hda :第一个 IDE HDD(硬盘驱动器)的设备文件。
/dev/hdc :通常用于 IDE Cdrom 的设备文件。
/dev/sda:第一个 SATA 驱动器(硬盘驱动器)的设备文件。
/dev/null :不存在的伪设备。有时垃圾输出会重定向到 /dev/null,这样它就会永远丢失。
/etc/bashrc :此文件包含系统范围的默认值、函数和别名以及所有系统用户使用的其他文件。
/etc/crontab :这是一个系统范围的文件,其格式独特,用于在 Linux 系统上调度或自动执行系统任务。
/etc/exports :确定将哪些文件系统导出到远程主机并指定选项的文件。
/etc/fstab :这是一个特殊的文件,其中包含有关所有可用挂载点和挂载点选项的信息。此文件中的每一行都提供了六个选项,每个选项都表示有关挂载点或文件系统的信息。
/etc/hosts :这是一个配置文件,用于将系统主机名映射到其相应的 IP 地址。
/etc/hosts.allow:该文件指定允许哪些主机连接到本地系统。
/etc/host.deny :该文件指定本地计算机上哪些主机被拒绝访问和服务。
/etc/issue :包含登录前消息。
/etc/modules :此文件包含应在引导时加载的内核模块的名称,每行一个。
/etc/motd :motd 代表当天的消息,用户在登录时收到的消息。
/etc/mtab :一个只读文件,包含当前挂载的文件系统列表。
/etc/passwd :包含系统用户信息的文件,例如用户名、UID、GID 和登录 shell 等
/etc/printcap :包含由 /etc/cups/printers.conf 文件生成的打印机信息。
/etc/profile :包含 Linux 系统范围的环境和其他启动脚本。
/etc/profile.d :应用程序脚本,登录后执行。
/etc/rc.d :有关特定于运行级别的脚本的信息。
/etc/rc.d/init.d :运行级别初始化脚本。
/etc/resolv.conf :这是一个 DNS 解析器文件。它指定系统如何利用 DNS 解析主机名。
/etc/security :包含各种 PAM 模块的配置文件。
/etc/skel :这是一个包含一组用户配置文件的目录,这些文件在创建用户时会复制到用户的主目录。
/etc/X11 :这是一个包含 X-window 系统配置文件的目录。
/usr/bin :普通用户可执行命令。
/usr/bin/X11 : 此目录包含无限嵌套的目录和 X Windows 系统的二进制文件。
/usr/include :该目录包含 C 编译器的头文件。这包括 stdio.h、stdlib.h 和 string.h 等。
/usr/share :man文件、info文件等的共享目录。
/usr/lib :此目录由目标文件和目录组成
/usr/sbin:该目录包含具有超级用户权限或用于系统管理的二进制文件。
/proc/cpuinfo :该文件包含系统信息,包括 CPU 型号、型号名称、内核数和时钟速度等。
/proc/interrupts :有关当前正在使用的当前中断的信息。
/proc/ioports :该文件包含服务器上设备使用的所有输入/输出地址。
/proc/meminfo :存储内存使用信息(包括交换信息)的文件。
/proc/modules :列出内核正在使用的所有模块的文件
/proc/mount :该文件包含详细的挂载文件系统信息。
/proc/stat :该文件包含有关系统和内核活动的详细信息。
/proc/swaps:该文件包含有关交换文件的信息。
/proc/version :该文件包含 Linux 版本信息。
/var/log/lastlog :一个二进制文件,包含有关上次成功用户登录的信息。
/var/log/messages :该文件包含 syslog 守护程序在引导时生成的消息日志。
/var/log/syslog :包含非关键系统日志的文件。
/var/log/wtmp :列出当前系统上每个用户的登录时间和持续时间的文件。