从 Windows 或 macOS 刚转过来用 Ubuntu 的人,十有八九会被那个陌生的根目录结构搞懵。刚装好系统,打开文件管理器,左边栏一堆英文名目录,到底哪个对应自己的文件?哪个是装软件的地方?想改个配置又该去哪里找?我在 Ubuntu 上折腾了这么多年,踩过不少坑之后发现,系统目录这件事,其实理清楚几条主线就够了。
这篇文章就是讲 Ubuntu 系统目录的。我会从根目录的设计逻辑讲起,把每个关键目录的实际用途、交互关系、常见操作(比如查看空间占用、权限设置、挂载新硬盘)都过一遍,文末专门说清楚大家问得最多的 Desktop 目录到底在哪里。不管你是刚在虚拟机上装好 Ubuntu 的新手,还是双系统用户,甚至是准备搞开发、搭服务器的,这篇文章都能让你少走弯路。
1. 先搞清楚 Ubuntu 目录到底怎么组织的
1.1 目录树不是“C盘D盘”,是一切从根开始的树状结构
Windows 用户刚接触 Linux 时,最容易犯迷糊的一点就是:Ubuntu 没有盘符的概念。在 Windows 里你有 C 盘、D 盘、E 盘,每个盘有自己的根,目录结构是“森林”。但在 Ubuntu 里,整个系统只有一个根,用/表示。所有目录、所有硬盘分区、所有设备都挂在/这棵大树上。
这个设计看着抽象,实际用起来却很高效。你可以把整个文件系统想象成一颗倒挂的大树,/是树根,往下长出/home、/etc、/var、/usr这些大枝干,枝干再长出细枝末节。你的 U 盘插上去,会出现在/media/你的用户名/下面;你新加了一块硬盘,可以挂载到/data或/mnt下;甚至连系统的运行状态——CPU 信息、内存大小、温度传感器数据,都以文件形式放在/proc和/sys里。
我第一次理解这个结构时,用了个生活化类比:Linux 的根目录/就像一个小区的总门牌号体系。小区只有一个入口(根),进去之后按区、按楼、按单元划分(/home、/etc、/var),你家住哪一户(/home/用户名/),物业办公室在哪(/etc),垃圾回收站在哪(/var),超市仓库在哪(/usr)。每个区域各有分工,互不打扰,但都由总体系管着。
这套结构遵循的是文件系统层级标准(FHS,Filesystem Hierarchy Standard)。它规定了哪里放可执行文件、哪里放配置文件、哪里放动态变化的日志数据。这套标准不只是 Ubuntu 在用,几乎所有的 Linux 发行版都遵循它。所以你在 Ubuntu 上学到的目录知识,换到 CentOS、Debian、Fedora 上也基本通用。
1.2 为什么 Ubuntu 要这样安排目录,而不是做成 Windows 那种形式
有人可能会问:Windows 那种 C 盘 D 盘方式看起来不是更直观吗?每个软件装一个目录,文件跟自己走。为什么 Linux 非要搞一套这么“绕”的体系?
核心原因有两点:权限隔离和数据分类。
在 Linux 世界里,权限是命根子。普通用户不能随便动系统目录,系统文件也不应该和用户个人文件混在一起。/bin、/sbin这些目录里的程序是系统启动和运行必需的,如果普通用户能随意增删,系统早就崩了。把系统文件、用户文件、临时文件、运行日志分开存放,就是为了让权限边界清晰。你在/home里怎么折腾都不会弄坏系统,这是 Windows 用户很难体验到的一种安全感。
另一个原因是数据分类。Linux 目录是按“用途”划分的,不是按“来源”划分的。配置文件统一放/etc,日志统一放/var/log,库文件统一放/usr/lib。这样做的好处是:
- 备份方便。想备份系统配置,打包
/etc就行;想清理日志,看/var/log;想迁移用户数据,整个/home带走。 - 排查问题方便。服务起不来,第一反应去看
/var/log下的日志;缺库文件,去/usr/lib或/lib里找;配置文件写错了,去/etc里检查。 - 多用户友好。Linux 天生是多人多任务系统,所有用户的数据都在
/home下分目录存放,互不干扰。
等你用习惯了这套逻辑,回头再看 Windows 那种“软件装C盘却把配置写到用户目录、日志散落在各处”的做法,反而会觉得乱。
2. 根目录下那些核心目录,到底谁管什么
2.1 一图看懂 / 根目录整体布局
安装完 Ubuntu 后在终端里执行ls /,你会看到一大堆目录。下面这个表格列出了最核心、最高频使用的一批目录,以及它们的职责和常见用途。建议先整体过一遍,然后重点记住带星号的几个,它们是你日常打交道最多的。
| 目录 | 作用 | 权限级别 | 日常使用频率 | 一句话记忆点 |
|---|---|---|---|---|
/ | 根目录,整个文件系统的起点 | 仅 root 可写 | 高 | 大树根 |
/home | 普通用户的家目录,存放个人文件 | 对应用户可读写 | 最高 | 你的小窝 |
/root | root 用户的家目录 | 仅 root | 低 | 管理员专属 |
/etc | 系统和服务配置文件 | 仅 root 可写 | 高 | 配置大本营 |
/usr | 系统软件和库文件的集合 | 仅 root 可写 | 高 | 软件仓库 |
/var | 变化数据:日志、缓存、队列 | 大部分 root 可写 | 中高 | 动态数据池 |
/bin | 基本命令(ls、cp、mv 等) | 仅 root 可写 | 高 | 基础工具包 |
/sbin | 系统管理命令(fdisk、mkfs 等) | 仅 root 可写 | 中 | 管理员工具 |
/lib | 系统库文件和内核模块 | 仅 root 可写 | 低 | 系统依赖库 |
/tmp | 临时文件目录 | 所有人可写 | 中 | 临时中转站 |
/opt | 第三方大型软件安装目录 | root 可写 | 低 | 第三方软件区 |
/mnt | 临时手动挂载点 | root 可写 | 中 | 手动挂盘处 |
/media | 自动挂载可移动设备 | root 自动管理 | 中 | 自动挂盘处 |
/dev | 设备文件:硬盘、终端、声卡等 | 系统管理 | 低 | 设备映射区 |
/proc | 内核和进程信息的虚拟文件系统 | 只读为主 | 低 | 系统状态窗口 |
/sys | 内核设备信息虚拟文件系统 | 只读为主 | 低 | 内核设备窗口 |
/srv | 服务数据目录(网站、FTP 等) | 服务相关 | 低 | 服务数据区 |
/run | 系统启动以来的运行时数据 | 系统管理 | 低 | 运行时数据 |
/lost+found | 断电或故障后恢复的碎片文件 | 系统管理 | 极低 | 数据急救区 |
刚上手不用把这些全部背下来,捡重点用,慢慢就熟了。核心记住一条线:你自己的东西在/home,系统的配置在/etc,软件装在/usr,系统运行时产生的日志和数据在/var,临时文件扔/tmp。
2.2 核心目录逐个拆解:/home、/etc、/var、/usr 到底是什么
这四个目录我觉得是整个 Ubuntu 系统的造血系统,把它们的逻辑吃透,后面的操作基本都是顺着走的。
/home:你的小窝,所有个人数据的根
每次登录 Ubuntu,你首先接触到的就是家目录/home/你的用户名。你的下载文件、文档、图片、桌面文件、个人配置全在这里面。打开终端时默认停留的位置是~,这个波浪符号就是/home/你的用户名的缩写。多用户系统里,每个用户都有自己的家目录,普通用户之间默认无法访问对方家目录里的私有文件(如果权限没放开的话)。
在这个目录里,用ls -a能看到很多点开头的隐藏文件,比如.bashrc、.profile、.config。它们是用户级配置文件,控制着你终端的行为、桌面环境的外观、各种软件的默认设置。有时候环境变量配错了进不去图形界面,就得在这里面排查。
/etc:配置文件大本营,出问题的头号嫌疑
几乎所有的系统级配置都在/etc下。软件装好后,它的默认配置一般在/etc里放一份。sources.list 管理软件源、fstab 控制开机自动挂载分区、hostname 定义机器名、ssh 目录存 OpenSSH 服务配置。改这些配置文件需要有 root 权限,改之前强烈建议先备份,比如sudo cp /etc/fstab /etc/fstab.bak。整个/etc目录如果定期打包备份,系统重装后能快速恢复大部分环境设置。
/var:变化数据的集中营,日志和缓存都在这
var是 variable 的缩写,专门放经常变化的数据。最大的头是/var/log,里面躺着 syslog、auth.log、kern.log 这些系统日志。网络连接不上、服务启动失败、系统崩溃,多半都要到这里来找原因。/var/cache是软件包缓存,apt 装软件时下载的 deb 包会先放这里,清理用sudo apt clean。/var/lib存各种服务的数据库和状态文件,比如 Docker 的默认数据目录就在这里。
/usr:软件的天下,程序、库、源码、文档都在这
usr是 Unix System Resources 的缩写,看名字感觉是用户目录,实际是系统软件集合。你通过 apt 安装的软件绝大部分装在/usr/bin,它们的配置文件在/etc,库文件在/usr/lib,doc 文档在/usr/share/doc。使用dpkg -L 软件名可以查看这个软件到底把文件散到了哪些地方。对这个目录的理解能帮你快速定位“程序装到哪去了”这类问题。
2.3 一些容易被忽略但其实很关键的目录:/tmp、/opt、/proc、/dev
除了上面那四个主力目录,还有几个目录平时不太显眼,但在特定场景下会突然变得很重要。
/tmp是临时文件目录,任何用户都能往里面写文件。重要特性是系统重启后里面的内容可能被清空(具体取决于配置,systemd 的 tmpfiles 机制会定期清理)。有人喜欢把临时下载的东西扔这里,但我建议大型安装包或重要数据别放/tmp,装到一半重启了,文件说没就没。
/opt是第三方大型软件的安装位置。有些商业软件,比如 JetBrains 全家桶、Google Chrome、某些工业软件,安装时默认放到/opt下,因为它们不想把文件拆得七零八落,而是希望整成一个独立目录方便管理。手动解压安装的软件也建议放这里,卸载时直接删目录就行。
/proc和/dev是两个特殊目录。/dev是设备文件所在地,你的硬盘、U盘、声卡、终端设备都在这里有对应的文件节点。比如ls /dev/sd*能看到硬盘对应的块设备,/dev/sda1通常就是第一块硬盘的第一个分区。/proc更神奇,它不占磁盘空间,是内核状态在虚拟文件系统中的映射。cat /proc/cpuinfo看 CPU 信息、cat /proc/meminfo看内存信息,都是排查问题的高频操作。你还可以用cat /proc/version快速查看内核版本。
3. 用户目录和 Desktop 目录:被问得最多的位置问题
3.1 为什么 Desktop 目录有时候找不到,有时候又叫“桌面”
现在到了很多人刚接触 Ubuntu 时最容易卡壳的地方:Desktop 目录到底在哪里。
在 Ubuntu 桌面版中,每个用户的桌面目录位于/home/你的用户名/Desktop。如果你的系统语言是中文,那它在文件管理器里可能显示成桌面,但实际目录路径还是英文的Desktop,只是显示名本地化了。
于是就会出现这几种情况:
- 系统是英文的:
~/Desktop直截了当,所有人一看就懂。 - 系统是中文的:路径依然是
~/Desktop,但文件管理器里显示为“桌面”。 - 用的是 XDG 用户目录机制:路径稍作定制,比如有人会把桌面目录改到
~/桌面或者自定义位置。
在终端里想进入桌面目录,最稳妥的方式是执行cd ~/Desktop。但如果你改过 XDG 配置,或者系统语言设置导致目录名被本地化,那实际目录名可能是~/桌面。这时候直接用cd 桌面反而能进去。
如果你不确定自己的桌面目录到底在哪,有几个办法:
# 方法一:直接用 xdg-user-dir 查询,最准确 xdg-user-dir DESKTOP # 方法二:列出家目录下的所有内容看看 ls -a ~ # 方法三:查 XDG 配置文件 cat ~/.config/user-dirs.dirsxdg-user-dir DESKTOP这个命令返回的就是当前桌面目录的绝对路径,它是通过读取~/.config/user-dirs.dirs这个配置文件来确定的。这个方法比肉眼翻文件管理器快得多,建议直接记住。
3.2 教你定位 Desktop 目录的 3 种方法,总有一种能用
我遇到过不少在 Ubuntu 里写代码、存文档的朋友,他们的文件明明保存在桌面,墙纸也设置了桌面背景,但一开终端想去那个目录就懵了。这里整理了三种定位 Desktop 目录的方法,按优先级从高到低排列。
方法一:终端下用 xdg-user-dir 精准定位(最推荐)
这是最标准的做法,执行后系统会直接打印出桌面的绝对路径:
xdg-user-dir DESKTOP # 输出类似 /home/yourname/Desktop如果系统桌面目录被改过,比如改到了/data/desktop,这个命令也会如实打印出来。
方法二:直接使用cd加 Tab 自动补全找名字
如果你不想敲命令,可以输入cd ~/D然后按 Tab 键,系统会自动补全成Desktop或按实际目录名显示。这种方法不需要记忆确切的目录名,比较适合新手。
方法三:在文件管理器里右键查看属性
这是最直观的方式。打开文件管理器,进入家目录,找到“桌面”或“Desktop”目录,右键选择“属性”,里面会直接显示完整路径。或者直接在文件管理器地址栏输入~,也就能看到家目录下的所有文件夹了。
在图形界面里,还有一种实用操作:把桌面的文件放到~/Desktop后,桌面就会实时显示这些文件;如果你把~/Desktop目录删了或改了名,桌面图标可能就全部消失了。这点在配置新系统时尤其要留意。
3.3 中英文系统的目录差异与 XDG 机制:搞懂“桌面”和“Desktop”的关系
很多从 Windows 过来的人会以为中文 Ubuntu 的桌面目录真的是“桌面”,从而在写脚本、配路径时报错。这背后的机制是 XDG User Directories,它允许桌面环境把常用目录(桌面、文档、下载、图片等)按语言习惯显示名称,但实际路径默认还是英文目录名。
看一下~/.config/user-dirs.dirs这个文件你就明白了:
XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/Downloads" XDG_DOCUMENTS_DIR="$HOME/Documents" XDG_PICTURES_DIR="$HOME/Pictures"这些变量定义了文件管理器左侧栏显示的快捷入口指向哪里。系统语言是中文时,文件管理器只是显示成“桌面”“下载”“文档”,但路径仍是英文的Desktop、Downloads、Documents。
这里要特别提醒一点:如果你手动把目录名改了,比如把~/Desktop重命名为~/桌面,文件管理器左侧的“桌面”入口就会失效,桌面也可能什么都不显示。这是因为 XDG 配置仍然指向$HOME/Desktop,但那个路径已经不存在了。解决办法有两种:
- 把目录改回去,保持默认配置。
- 同步修改
~/.config/user-dirs.dirs里的变量,指向新目录。
我个人的建议是保持系统默认的英文目录名不动。在终端、脚本、代码里都用/home/用户名/Desktop这个路径,显示名是什么只影响文件管理器图标,不影响底层实际路径。
4. 目录实操指南:查看、切换、挂载、权限一次讲清
4.1 高频命令速查:ls、cd、pwd、du、df 的典型用法
理解了目录结构,下一步就是学会在终端里“驾驶”这套系统。下面这组命令是我日常使用频率最高的,每一项都配上典型用法和输出示例。
# 查看当前所在目录的完整路径 pwd # 列出目录内容,-l 显示详细信息,-a 显示隐藏文件,-h 人性化显示大小 ls -l ls -la ls -lh # 切换目录,常用符号要记住:~ 家目录、. 当前目录、.. 上一级目录 cd /etc cd ~ cd .. # 查看磁盘分区占用情况,-h 人性化显示容量,-T 显示文件系统类型 df -hT # 查看当前目录及子目录的磁盘占用情况,--max-depth 控制显示的深度 du -h --max-depth=1 du -sh /home/user/Downloadsdu这个命令在排查磁盘空间不足时简直是救命稻草。比如你的系统提示“磁盘空间满”,第一件事就是运行du -h --max-depth=1 /从根目录逐层查下去,看哪个目录占用最大,然后再深入那一层继续查,一层层定位到具体是哪个大文件在占空间。实际排查时,我习惯搭配sort -h排序一下输出,让最大的目录排在最后或最前,一眼就能看到问题所在。
4.2 权限基础:为什么有的目录进不去、有的文件删不掉
在 Ubuntu 中,目录权限的直观表现就是:有的目录你能进去,有的目录连列表都看不到;有的文件你能读,有的文件删都删不掉。这是因为每个文件和目录都有一组权限属性,分别针对三类用户:所有者(owner)、所属组(group)、其他用户(others)。
执行ls -l查看一个目录时,第一列那一串字符(比如drwxr-xr-x)就是权限位。第一个d表示目录类型,后面九个字符分三组,分别是所有者、所属组、其他人的读(r)、写(w)、执行(x)权限。
| 符号 | 含义 | 对应数值 | 说明 |
|---|---|---|---|
| r | 读 | 4 | 对于文件可读内容,对目录可列出内容 |
| w | 写 | 2 | 对文件可修改内容,对目录可增删文件 |
| x | 执行 | 1 | 对文件可执行,对目录可进入 |
| - | 无权限 | 0 | 对应位没有权限 |
如果你想进入一个目录,必须有目录的执行权限(x);想在里面新建文件,需要写权限(w);想列出目录下有什么文件,需要读权限(r)。所以当你执行cd /root被拒绝、ls /etc/sudoers.d看不到内容时,不用怀疑人生,那都是权限机制在起作用。
调整权限用chmod,常用格式是数字模式。比如chmod 755 文件名表示所有者可读写执行(7)、组可读执行(5)、其他人可读执行(5)。想递归修改整个目录用-R参数,但要注意别随便对整个系统目录用chmod -R,很容易把系统权限搞乱。
4.3 把新硬盘挂载到自定义目录:从分区到自动挂载一步到位
Ubuntu 系统目录用的是层次化挂载体系,这意味着你的新硬盘、新分区并不是“自动出现在某个盘符”,而是需要主动挂载到一个目录上。很多从 Windows 转过来的用户第一次接触“我的硬盘怎么不显示”时都很懵,下面这套流程能解决 90% 的挂载需求。
假设你新加了一块空白硬盘/dev/sdb,目标是把它挂载到/data目录。
第一步:确认设备名
sudo fdisk -l这个命令会列出所有磁盘及分区,找到你新加的那块。如果你不确定,看容量和已有系统盘对比一下就知道了。
第二步:分区(如果硬盘是全新的)
sudo fdisk /dev/sdb进入 fdisk 交互界面后,输入n新建分区,一路默认,最后输入w写入分区表并退出。这样会生成一个如/dev/sdb1的新分区。
第三步:格式化文件系统
sudo mkfs.ext4 /dev/sdb1mkfs.ext4会把分区格式化为 ext4 文件系统。确认操作前命令会询问y,输入后等待完成即可。
第四步:创建挂载点并临时挂载
sudo mkdir /data sudo mount /dev/sdb1 /data挂载成功后,往/data里写文件就是往新硬盘里写。
第五步:设置开机自动挂载
直接改/etc/fstab文件:
sudo blkid /dev/sdb1 # 查看 UUID,记录下来 sudo vim /etc/fstab在 fstab 末尾加一行:
UUID=你的UUID值 /data ext4 defaults 0 2保存退出后用sudo mount -a测试语法是否正确。如果这行写错了,下次开机系统会启动失败,所以一定要用sudo mount -a先验证。我见过太多人因为 fstab 写错导致系统卡在 emergency mode,所以这里的建议是:改完立刻验证,验证通过的标志是命令无报错。
4.4 环境变量与目录的关系:PATH 是怎么决定命令能不能执行的
环境变量和目录系统关系非常紧密,其中PATH决定了你在终端里敲命令时,系统去哪些目录寻找可执行文件。比如你敲python3,系统会按PATH里的目录顺序,依次查找名为python3的可执行文件,找到就执行。
查看当前 PATH:
echo $PATH # 输出示例:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin如果你自己手动编译安装了软件,装到了/opt/myapp/bin下面,直接在终端里敲myapp会提示“找不到命令”。这时候就需要把目录加入 PATH:
export PATH=$PATH:/opt/myapp/bin但这只对当前终端会话有效。想让配置永久生效,需要把这一行写入用户配置文件~/.bashrc(针对当前用户),或/etc/profile、/etc/environment(全局生效)。这里有个大坑:不要把 PATH 写错,比如漏了原有的$PATH,会导致连ls、cd都找不到命令。如果不小心在配置里把 PATH 搞坏了,补救办法是直接用绝对路径执行命令,比如/usr/bin/sudo /usr/bin/vim ~/.bashrc,改回正常的配置。
5. 常见问题与排查技巧实录
5.1 问题速查表:目录相关高频报错与解决方案
我把日常使用中最常遇到的目录问题整理成了一个速查表,方便有需要时直接查。
| 问题现象 | 可能原因 | 解决办法 |
|---|---|---|
终端输入cd /root提示 Permission denied | /root目录默认只允许 root 用户访问 | 使用sudo -i切换到 root,或确认当前用户确实有访问必要 |
| 桌面上的文件不见了 | ~/Desktop被改名或移动,XDG 配置失效 | 检查xdg-user-dir DESKTOP输出,确认目录是否存在 |
| 磁盘空间不足,但不知道什么占了空间 | 日志或缓存目录膨胀 | du -h --max-depth=1 /逐层排查 |
删除文件提示Operation not permitted | 目录权限不够或文件被锁定 | 先确认当前用户对所在目录是否拥有写权限;必要时用sudo |
| 开机后新硬盘没有自动挂载 | fstab 配置缺失或错误 | 查看cat /etc/fstab,确认 UUID 无误 |
ls /dev/sda找不到硬盘 | 磁盘设备名可能不是 sda,或驱动未正确加载 | 用sudo fdisk -l查看实际设备名 |
执行命令提示command not found | PATH 中缺少该命令所在目录 | 检查echo $PATH,补充对应目录 |
切换中文界面后,终端里cd ~/Desktop失败 | 桌面目录被本地化成其他名字 | 运行xdg-user-dir DESKTOP查看真实路径 |
排查这类问题有个通用思路:先确认路径存在(ls -a),再确认权限(ls -ld),再查看配置(cat ~/.config/user-dirs.dirs),三分靠知识,七分靠跑命令验证。
5.2 独门避坑技巧:我在目录操作上踩过的几个真实坑
做开发这么久,目录相关的坑踩了一堆,挑几个典型的分享出来,帮你提前预防。
坑一:手滑把~/.bashrc的 PATH 写坏了
有一年我手动编译安装了一个工具,往~/.bashrc里追加 PATH 时,写成了export PATH=/opt/new/bin,把原来的$PATH覆盖了。重启终端后,ls、sudo、vim全部提示找不到命令。当时人傻了,后来才想到用绝对路径救自己:/usr/bin/sudo /usr/bin/vim ~/.bashrc,改回export PATH=$PATH:/opt/new/bin才恢复。从那以后我改 PATH 前一定会先备份配置,或者用export PATH="$PATH:/new/path"这种安全写法。
坑二:在中文系统里写脚本时用了中文目录名
有次写自动化脚本,需要把文件保存到桌面,我直接用了~/桌面,结果换了一台英文系统的电脑脚本就炸了。后来统一改用xdg-user-dir DESKTOP动态获取路径,问题彻底解决。这个经验放到任何涉及用户目录的脚本里都适用,永远不要硬编码路径。
坑三:fstab 写错进不了系统
改 fstab 想让数据盘开机自动挂载,结果 UUID 抄错了一位。重启后系统卡在 emergency mode,屏幕提示 Operation failed。当时差点想重装系统,后来进入 root shell,用sudo vim /etc/fstab把错误行注释掉,再mount -a验证没问题才松了口气。现在我的习惯是改 fstab 前先复制一份备份,改动后立即用sudo mount -a测试,再重启。
坑四:用chmod -R 777解决权限问题
刚用 Linux 那会儿遇到目录权限不够,第一反应就是chmod -R 777全开权限。后来发现这招虽然在个人机上暂时解决问题,但会破坏系统的安全边界。更合理的做法是只对当前用户需要的目录做授权,或者用chown变更目录所有者,让当前用户成为所有者,拥有完整的读写权限。
从这些坑里总结出来的经验值一句话:权限和路径的问题,重在预防,不重在救火。
6. 个人使用体会与一个实用建议
写了这么多,最后聊聊我的真心话。Ubuntu 的目录体系初看起来复杂,但它是你理解整个 Linux 世界的地基。不管是开发、部署、运维,还是单纯把 Ubuntu 当日常系统用,对目录的理解程度,直接决定了你遇到问题时是束手无策还是能找到切入点。
我个人在实际使用中最大的体会是:不要把 Linux 目录当成 Windows 盘符的替代品,而要理解它是按“用途”和“权限”来组织的一套逻辑。想通了这个,你就不需要背路径了,而是能通过“这是配置文件”“这是日志”“这是用户数据”这样的功能判断,自动猜到文件大概在哪个目录下。
最后再分享一个实用小技巧:在 Ubuntu 终端里,输入cd后按住 Tab 键,系统会自动补全目录名和文件名;输入man加命令名(比如man du)可以查看某个命令的完整手册。这两个习惯能让你的效率提升一大截。
如果你刚接触 Ubuntu,建议找台虚拟机装一个,然后多打开终端,用cd、ls、du这些命令在根目录下翻一翻,看看每个目录里到底有什么。看得多了,这套目录树的脉络自然就刻在脑子里了。哪个目录不懂,欢迎在评论区直接发我,我看到都会尽量回复。