当前位置:首页>Linux>目录长什么样?一文讲透Linux目录结构

目录长什么样?一文讲透Linux目录结构

  • 2026-09-02 19:15:10
目录长什么样?一文讲透Linux目录结构

目录长什么样

装好Linux后,别急着敲命令。咱们先搞清楚一个问题:Linux的文件都放在哪?

理解Linux的目录结构,就像进了新公司要先了解各部门在哪——知道财务在哪、人事在哪,上班办事才方便。这篇咱们就来聊聊Linux的目录长什么样。


Linux目录结构简介

Linux的目录结构是一棵倒挂的树,一切从根目录开始。

根目录就是/这个符号,就像公司的大门。所有其他目录都是它的“子公司”,子公司下面还能再设部门,一路往下分叉,像树枝一样展开。

在终端输入ls /,看看根目录下都有啥:

bin   dev  home  lib    media  opt   run   sys  usr boot  etc  init  lib64  mnt    proc  sbin  srv   var

这是Ubuntu桌面版典型的根目录结构。咱们一个一个来看。


常见目录作用

想象Linux是一家公司,每个目录就是一个部门,各有各的职责。

/bin —— Basic Commands(基本命令)

bin是"binary"的缩写,中文叫二进制文件,存放公司最核心的日常工具。

就像公司前台必备的订书机、胶水、计算器——这些每天都要用,少了不行。ls、cp、mv、cat这些基本命令都放在这里。

嵌入式工程师常说的“命令本质上就是一个可执行程序”,说的就是这些放在/bin里的工具。

/sbin —— System Binaries(系统命令)

sbin是"system binary"的缩写,存放系统管理用的命令。

就像公司的老板和财务专用电脑——普通员工不能用。reboot(重启)、fdisk(分区)、mkfs(格式化)这些命令需要管理员权限,一般用户用不了。

/boot —— Boot Files(启动文件)

boot是"bootstrap"的缩写,存放开机启动需要用的文件。

就像公司的营业执照和公章——注册公司时的第一步。这个目录里存放内核镜像(vmlinuz)、启动引导程序(GRUB)等,没它们电脑可开不了机。

如果你做嵌入式bootloader开发,这个目录的名字你应该不会陌生。

/dev —— Device Files(设备文件)

Linux有个重要思想:一切皆文件。硬件设备也不例外,dev就是"device"的缩写。

就像公司的固定资产清单——每样设备都登记在册。/dev目录下存放的是设备文件,比如:

  • •/dev/sda—— 第一块硬盘
  • •/dev/ttyS0 —— 串口0(嵌入式调串口必备)
  • •/dev/null —— 著名的黑洞设备,写进去的数据肉包子打狗

在嵌入式开发中,调串口、读SD卡、访问Flash,本质上都是在操作/dev下的这些文件。

/etc —— Configuration Files(配置文件)

etc是"etcetera"的缩写,中文叫其他杂项,存放公司和应用的配置文件。

就像公司的制度手册——规定各部门的职责和规矩。网络配置、用户密码、服务启动脚本等都在这里。

嵌入式工程师经常改动的文件:/etc/init.d/rc(启动脚本)、/etc/fstab(文件系统挂载表),都在这个目录下。

/home —— Home Directory(用户目录)

普通员工的个人工位。比如你创建的用户ubuntu,工位就是/home/ubuntu,你的文档、下载、代码都默认存这里。

root用户比较特殊——它是公司大老板,工位不在普通员工区,而是在/root。

/root —— Root Directory(超级用户目录)

root用户的个人目录,地位和/home类似,但属于超级管理员。


/usr —— Unix System Resources(系统资源)

usr是"Unix System Resources"的缩写,存放用户级程序和库。

就像公司的公共资源库——打印机、投影仪、参考资料等。安装的应用程序、库文件、头文件,大部分都在/usr下。

常见结构:

  • •/usr/bin —— 用户命令(/bin 是系统开机、修复必备的基础命令;/usr/bin 是普通用户日常使用的普通命令。)
  • •/usr/lib—— 用户库文件
  • •/usr/include—— 头文件(C语言开发必备)

/lib —— Libraries(库文件)

lib是"library"的缩写,存放系统运行时需要的共享库。

就像公司的工具箱——各种标准件,大家共用。/bin和/sbin里的命令运行时依赖的库就在这里。

/lib64 —— 64-bit Libraries(64位库)

64位系统的专用库文件夹,存放64位程序用的库文件。


/var —— Variable Files(可变数据)

var是"variable"的缩写,存放经常变化的数据。

就像公司的动态文件柜——每天收到的新文件、发出的快递记录。常见内容:

  • •/var/log —— 系统日志(查报错看这里)
  • •/var/cache —— 缓存数据
  • •/var/tmp —— 临时文件

做嵌入式维护的时候,经常会到这里看看日志有没有报错。

/proc —— Process Information(进程信息)

proc是"process"的缩写,存放进程信息和系统状态。

就像公司的监控中心——实时显示各部门运作情况。这是虚拟目录,不占磁盘空间,而是内核数据的“窗口”:

  • •/proc/cpuinfo—— CPU信息
  • •/proc/meminfo —— 内存使用情况
  • •/proc/uptime —— 系统运行时间

/sys —— System Files(系统文件)

这是虚拟目录,存放设备驱动和内核对象的信息。

就像公司的设备管理室——打印机、复印机、空调的说明书和维护记录都在这。相比/proc,/sys 更结构化,专门给系统管理用的。


/tmp —— Temporary Files(临时文件)

tmp是"temporary"的缩写,存放临时文件。

就像公司的前台暂存桌——放待处理的文件,用完就扔。系统运行产生的临时数据放这里,重启后可能被清空。

/run —— Runtime Files(运行时文件)

存放系统运行时的状态信息。

就像公司的值班室——记录当前谁在加班、今天有啥活动。PID文件、锁文件等运行时的数据放这里。

/mnt —— Mount Point(挂载点)

mnt是"mount"的缩写,存放临时挂载点。

就像公司的临时仓库——临时放了东西,用完就搬走。插入U盘、TF卡会挂在这里。

/media —— Removable Media(可移动媒体)

media是"媒体"的意思,存放可移动存储设备的自动挂载点。

就像公司的快递收发室——自动记录谁寄了啥。当代桌面Linux会自动把U盘、光盘等挂载到/media/用户名/设备名下。

/opt —— Optional Software(可选软件)

opt是"optional"的缩写,存放第三方可选软件。

就像公司的外包项目部——非核心业务的外包团队。一些大型商业软件(如Oracle)默认装在这里。

/srv —— Service Data(服务数据)

srv是"service"的缩写,存放服务运行时产生的数据。

就像公司的业务数据室——客户订单、销售记录。Web服务器、FTP服务器的数据可能放这里。

/lost+found —— Lost and Found(失物招领)

存放系统异常关机后的文件碎片。

就像公司的失物招领处——不知道谁掉的。文件系统损坏时,救援出来的文件可能在这里。


嵌入式设备的目录差异

上面说的是桌面版Linux,嵌入式设备可不一样。嵌入式系统资源有限,目录结构会精简很多。

常见简化

  • •可能没有/home——嵌入式设备通常只有一个用户
  • •可能没有/run或/sys——某些精简系统不带
  • •/usr可能变成只读——嵌入式常用SquashFS等只读文件系统

嵌入式特有目录

  • •/opt —— 厂商自定义软件,比如摄像头驱动、4G模块驱动
  • •/overlay —— 合规文件系统(OverlayFS)的上层,保存用户修改

嵌入式常见分区

嵌入式设备启动后,df -h看看分区:

Filesystem      Size  Used Avail Use% Mounted on /dev/root       1.9G  412M  1.4G  25% / /dev/mmcblk0p1  100M   50M   50M  50% /boot tmpfs            64M     0   64M   0% /dev
  • •/boot单独分区——保证能启动
  • •/根分区——系统文件
  • •tmpfs在内存中——/dev目录,提高读写速度

路径概念:绝对路径和相对路径

绝对路径

从根目录/开始的路径,叫绝对路径。无论你在哪个目录,绝对路径都能唯一定位文件。

例子:

  • •/home/ubuntu/documents/test.txt
  • •/etc/config/network

无论当前目录是/home还是/etc,这个路径都是唯一定位文件路径。

相对路径

相对于当前目录的路径,叫相对路径。

比如当前在/home/ubuntu,要指向/home/ubuntu/documents/test.txt,直接写:

documents/test.txt

或者用.表示当前目录,..表示上级目录:

  • •./test.txt —— 当前目录下的test.txt
  • •../ubuntu —— 上级目录下的ubuntu目录

小结

今天咱们搞清楚了:

  1. 1.Linux目录是一棵倒挂的树,从/根目录开始
  1. 2.每个目录都有含义:/bin命令、/sbin系统命令、/dev设备、/etc配置、/usr资源...
  1. 3.嵌入式设备目录结构更精简,可能没有/home,可能有/opt
  1. 4.路径分绝对路径(从/开始)和相对路径(相对于当前目录)

知道目录长什么样之后,下一篇咱们就正式进入命令环节——怎么在Linux里跑命令? 敬请期待。


下期预告:Linux命令怎么敲?cd、ls、mkdir...这些命令怎么用?手把手教你。

最新文章

随机文章