linux 虚拟文件系统简介和详解

📅 发布时间:2026/7/9 3:43:44 👁️ 浏览次数:
linux 虚拟文件系统简介和详解
一个典型的 linux 文件系统的顶层目录中含有如下内容/bin存放普通用户和系统管理员都可以使用的基本命令如ls、cp系统启动时需要。/boot包含启动系统所需的核心文件如 Linux 内核和引导程序GRUB的配置。/dev一切皆文件这里是硬件设备的访问点如硬盘/dev/sda、终端/dev/tty。/etc存放系统和应用程序的配置文件如用户密码passwd、网络设置。/home普通用户的家目录。每个用户如 hadoop在这里有自己的文件夹存放私人数据。你当前可能正位于此目录。/lib 与 /lib64存放系统启动和根文件系统中命令所需的共享库相当于 Windows 的 DLL 文件lib64专用于 64 位系统。/media 与 /mnt用于挂载外部设备。/media通常由系统自动挂载如 U 盘/mnt多用于管理员手动挂载临时文件系统。/opt存放第三方商业软件或可选应用如手动安装的 Oracle 或 Google Chrome。/proc虚拟文件系统以目录形式提供内核与进程的实时信息如 CPU、内存状态存在于内存中。/root系统管理员root 用户的家目录位置独立安全性高。/run存放系统启动以来正在运行的进程所需的数据如进程 ID 文件PID是临时文件系统。/sbin存放系统管理命令主要用于系统维护通常只有 root 用户可以执行。/srv存放本机提供的服务数据如 Web 或 FTP 服务的文件。/sys另一个虚拟文件系统提供比/proc更设备化的内核对象信息如总线、设备驱动。/tmp存放临时文件所有用户都可读写通常系统重启时会清空。/usr用户应用程序和文件的存放目录非常重要。其下/usr/bin存放非必需的用户命令/usr/local存放用户手动编译安装的软件。/var存放经常变化的文件如日志/var/log、缓存、打印队列等。这些子目录可以按照一定的归属进行分类1. 启动与核心系统/boot内容包括vmlinuzLinux内核、initramfs初始内存文件系统用于加载必要的驱动和grub引导配置。细节这个目录通常单独分区以防止根分区写满导致无法启动。/bin 和 /sbin现在在许多现代Linux发行版如CentOS 7中/bin和/sbin往往是指向/usr/bin和/usr/sbin的软链接实现了合并。作用/bin包含所有用户都可用的基础命令cat、chmod/sbin包含系统修复和管理的命令fdisk、ifconfig。/lib 和 /lib64细节包含了内核模块和驱动程序。当你安装新的硬件或更新内核时模块通常存放在/lib/modules/下。2. 用户与配置层面/root环境作为超级用户的家目录它的环境变量配置文件如.bashrc独立于普通用户。在救援模式下通常只有这个目录可用。/home在Hadoop场景中如果你创建了一个名为hadoop的用户那么它的数据、.bashrc环境变量配置、SSH密钥用于集群免密登录都会存放在/home/hadoop/下。/etc核心这是系统的“神经中枢”。网络/etc/sysconfig/network-scripts/ifcfg-ens33网卡配置文件。用户认证/etc/passwd用户列表、/etc/shadow密码加密串、/etc/sudoerssudo权限配置。软件配置/etc/profile全局环境变量、/etc/hosts主机名IP映射Hadoop配置集群时必须修改此文件。3. 可变数据与运行状态/var日志/var/log/目录至关重要。比如messages系统日志、secure安全认证日志。如果Hadoop启动失败通常要去/var/log/hadoop/查看错误日志。锁与缓存/var/lock锁文件防止冲突、/var/cache应用程序缓存。/tmp特性通常设置了粘滞位Sticky Bit意味着所有用户都可以在此创建文件但只能删除属于自己的文件。风险Hadoop的中间计算过程可能会产生大量临时数据默认可能存放在/tmp如果/tmp分区太小可能导致任务失败。生产环境通常配置单独的临时目录。/run现代特性取代了旧的/var/run。它存放在内存中tmpfs存储系统从启动以来的运行时数据比如守护进程的PID文件/run/sshd.pid。4. 应用程序与第三方软件/usr规模这是最大的目录之一类似于Windows的C\Program Files和C\Windows的组合。层级/usr/bin用户日常使用的大部分命令如python、gcc。/usr/local手动编译安装的软件。例如如果你从源码安装Python通常指定--prefix/usr/local/python3这样便于管理不会污染系统自带的软件库。/opt应用常用于存放大型商业软件或非系统自带的软件包。比如Oracle数据库、Google Chrome或者在某些公司里手动解压的Hadoop、JDK也会放在这里如/opt/jdk/、/opt/hadoop/然后通过软链接或环境变量引用。5. 虚拟与硬件接口/proc动态交互这是一个伪文件系统里面的文件并不占用硬盘空间。查看系统cat /proc/cpuinfo查看CPU信息。cat /proc/meminfo查看内存使用情况。/proc/下还有很多数字编号的目录代表当前运行的每一个进程里面包含该进程的内存映射、文件描述符等信息。/sys更底层用于导出内核中的设备模型信息。可以用来直接操作硬件状态比如调整笔记本屏幕亮度/sys/class/backlight/。/dev设备文件/dev/sda第一块SATA硬盘你的系统很可能装在这里。/dev/null数据黑洞常用于丢弃不需要的输出。/dev/random和/dev/urandom随机数生成器。6. 挂载点/media 和 /mnt区别/media通常由桌面环境自动挂载如插入U盘自动出现在这里。/mnt留给管理员手动临时挂载如mount /dev/sdb1 /mnt/usb。/misc 和 /net某些系统如Red Hat系默认提供用于自动挂载网络文件系统NFS等但在你截图的标准系统中可能为空。