用Ubuntu这几年,我最大的感受是:很多人不是被命令难倒的,而是被目录结构绕晕的。刚接触Ubuntu时,你在终端里敲ls /,看到一屏/bin、/etc、/usr,心里肯定犯嘀咕:这都啥玩意?我装个软件、放个文件,到底该扔哪?Windows下有C盘D盘,把东西放桌面就行,到了Ubuntu里想找桌面目录,发现路径怎么都对不上。这篇文章就把Ubuntu的系统目录彻底讲明白,重点解决两件事:一是让你看懂根目录下每个文件夹到底是干什么的,二是告诉你Desktop目录到底在哪、为什么有时候找不到。不管你是刚装完Ubuntu的新手,还是用了一段时间但只会跟着教程敲命令的朋友,这篇都值得仔细看一遍。
1. 先从Windows思维转变过来:Linux目录设计到底想解决什么问题
1.1 从盘符到单根树:目录不是“地方”,而是“组织方式”
Windows用户熟悉的逻辑是:C盘装系统,D盘放软件,E盘存资料,U盘插进来是一个新盘符。这种设计直观,但也带来了问题:盘符一多,文件散得到处都是,系统盘的C:盘莫名其妙就满了,软件装在D盘但配置文件写到C盘用户目录,删起来无比麻烦。
Ubuntu用的是完全不同的思路:整台电脑只有一个根目录,它是一棵倒挂的树,不管你有多少块硬盘、多少个分区、多少个U盘,都被“挂载”(mount)到这棵树的某个目录节点下面。你访问某个目录,本质上就是在访问某个存储设备或某个数据来源。
打个比方,Windows像一栋独立别墅,每个房间都有门牌号(C盘、D盘);Linux像一棵大树,所有东西都挂在这棵树的树枝上,树枝可以生长、可以更换,但树干永远只有一个,就是/。
这个设计的最大好处是统一。程序不用关心自己的文件到底在哪块物理硬盘上,只要按照标准路径去读写就行。系统管理员想换大硬盘,把新硬盘挂载到原来的目录位置即可,上面的路径一个都不用改。这种“一切皆文件、目录树统一管理”的思路,是整个Linux世界的基石。理解了这一点,后面看目录就不会觉得乱了。
1.2 目录命名背后的FHS标准:谁规定了这些目录
根目录下这些目录不是Ubuntu开发团队拍脑袋定的,而是遵循了一套行业标准,叫FHS(Filesystem Hierarchy Standard),全称是文件系统层次结构标准。这套标准规定了Linux系统里目录应该怎么组织、每个目录该放什么内容、哪些目录必须存在。
为什么要定这种标准?想象一下,你在一家公司当运维,今天管理Ubuntu,明天管理Debian,后天换到CentOS,如果每个发行版的目录都长得完全不一样,你每换一台机器都要重新学一遍,那日子就没法过了。有了FHS标准,不管什么Linux发行版,/etc底下一定是配置文件,/home底下一定是用户家目录,/usr/bin底下一定是可执行程序。这对开发者、运维、以及像我这样的普通用户,都是巨大的便利。
Ubuntu对FHS的遵循很严格,但也有自己的小特色,最典型的就是根目录下有/snap目录,这是Ubuntu的snap软件包安装位置,在别的发行版里你基本见不到它。后面拆解目录时我会单独说。这里你只需要记住一个判断方法:看到一个陌生目录,先想想它对应FHS的哪个角色,再结合当前系统在哪个目录下了写过什么文件,基本就不会猜错。
1.3 目录权限和控制权:为什么不能随便往根目录写文件
在Windows里,只要你用的是管理员账户,基本什么目录都能写,C盘根目录想建文件夹就建。Ubuntu则严格得多。你在终端里执行touch /test.txt试试,大概率会收到Permission denied。这不是系统故意刁难你,而是多用户系统的基本安全设计。
Linux系统上可以同时存在多个用户,每个用户都只对自己的家目录有完全的读写权,系统目录(比如/etc、/usr)默认只允许root用户修改。普通用户想改系统配置,必须借助sudo提权。这种设计的意图很明确:防止用户不小心破坏系统核心文件,也防止某个被入侵的账户把整个系统搞瘫痪。
很多新手对这个权限模型不适应,总觉得敲命令怎么动不动就要sudo。其实理解了就顺了:系统目录相当于公司的核心档案室,你作为普通员工可以查阅,但不能随便改动,要改得找管理员审批(sudo)。家目录相当于你的个人工位,怎么折腾都行。这种清晰的权限划分,恰恰是Ubuntu比Windows更安全的重要原因之一。
2. Ubuntu根目录下的核心目录逐个拆解
2.1 /bin、/sbin:系统启动就要用的命令工具
/bin和/sbin是最早出现在你眼前的两个目录。简单来说,/bin存放的是系统启动和基础操作必不可少的命令,比如ls、cp、mv、cat、bash这些,普通用户就能执行。/sbin存放的是系统管理类命令,比如fdisk(磁盘分区)、mkfs(格式化)、shutdown(关机),通常需要root权限才能用,这里的s就是system或者superuser的意思。
但在这里要提醒你一个Ubuntu的细节:新版本的Ubuntu采用了一种叫usrmerge的方案,把根目录下的/bin合并到了/usr/bin里。你实际执行ls /bin时看到的,其实是一个指向/usr/bin的符号链接。这不影响使用,但解释了为什么有时候你用find去搜索某个命令文件,报错路径会出现在/usr/bin下。
那/bin和/usr/bin要不要区分清楚?对普通使用来说没必要,你只要知道“命令文件装在这里”就行。但有个实际问题会出现:当你写脚本或排查问题时,如果某个命令提示not found,你需要确认这个命令到底装没装、装在哪个目录。用which ls看看,然后echo $PATH看看当前用户的PATH变量里包含哪些目录,就能明白为什么系统能找到ls但找不到你手动安装的某个工具。
2.2 /etc:系统所有配置文件的大本营
/etc是全系统最核心的配置目录,我甚至愿意把它称为Linux系统的“命门”。网络配置、用户账户、软件源、环境变量,全都在这里管理。举几个你最可能接触到的文件:
- /etc/apt/sources.list以及/etc/apt/sources.list.d/:Ubuntu的软件源配置。每次sudo apt update读取的就是它。国内用户通常要修改这个文件来使用国内镜像源,改错一个字符,apt就会报错。
- /etc/passwd和/etc/shadow:用户账户信息。前者保存用户名、UID、家目录位置这些基础信息,后者加密保存密码。你创建用户、设置密码,系统背地里都在改这两个文件。
- /etc/environment和/etc/profile:系统级环境变量配置。PATH变量的初始值就是在这里定义的。
- /etc/hostname:你的主机名,在终端里看到的那串user@host就来自这里。
修改/etc目录下的文件务必小心。我的习惯是动任何文件前,先sudo cp /etc/xxx /etc/xxx.bak,留个备份再改。而且改完不是立刻生效,要区分情况:改apt源要sudo apt update,改环境变量要重新登录或source,改hostname要重启或执行hostnamectl命令。别改了文件发现没动静就以为没保存成功,其实是没重新加载。
这里必须强调:/etc管的是全局配置,会影响到所有用户。如果你只想改当前用户的配置,比如给终端加上自定义别名、设置自己的代理变量,应该去修改家目录下的~/.bashrc,而不要去动/etc/environment。搞混了这个边界,轻则配置不生效,重则导致所有用户登录时异常。
2.3 /home、/root:用户数据的家
/home是普通用户的家目录总目录,下面每个用户一个子目录,路径格式通常是/home/用户名。你在终端打开时的波浪号~,就代表当前用户的家目录,比如用户名为hello,~就是/home/hello。你的文档、图片、下载、源码、配置文件,全都应该放在这里。
这里有个非常隐蔽的认知点:家目录下大量配置都是以隐藏文件或隐藏目录形式存在的,文件名以点开头,默认ls看不见,得用ls -a才能看到。最典型的是:
- ~/.bashrc:当前用户的终端配置文件,命令别名、终端提示符、环境变量都靠它。
- ~/.config:现代桌面应用、开发工具的配置目录,VS Code、各种输入法的配置都在这。
- ~/.ssh:SSH密钥和已知主机列表,如果你配置GitHub SSH登录,文件就在这里。
这些隐藏目录虽然平时看不见,但占据了你家目录八成以上的空间。很多人备份家目录时只复制了看得见的文件,结果重装系统后软件配置全没了,就是这个原因。
root用户比较特殊,它的家目录不是/home/root,而是/root。和普通用户家目录的差别在于,root家目录不能随便让普通用户读。平时我们用sudo -i或sudo su进入root环境后,当前目录会切到/root,这个细节在写脚本时容易踩坑:你sudo su后创建的文件跑到/root下了,再用普通用户去读就读不到。
2.4 /var:系统运行过程中不断变化的数据
/var这个目录名是variable(可变)的缩写,存放的是系统运行过程中持续增长或变化的数据。理解/var的关键在于和/usr区分:/usr里放的是“静态的、安装好的程序文件”,/var里放的是“运行时产生的、会变的数据”。
对日常使用和排查问题来说,/var最需要关注的是子目录/var/log,这是系统日志的集中地。最常用的日志文件包括:
- /var/log/syslog:系统综合日志,记录了内核、服务、应用的各种消息,排查绝大多数问题都能从这里找到线索。
- /var/log/auth.log:认证和登录日志,谁在什么时间从哪里登录了系统,SSH爆破尝试也会记录在这里。
- /var/log/kern.log:内核日志,驱动加载失败、硬件识别异常都在这里。
查日志的通用方法很简单:sudo tail -f /var/log/syslog,实时盯着日志滚动,然后去复现你的问题,往往能立刻看到报错根源。这是比到处问人高效得多的排查思路。
日志文件还有个特点:不会无限增长。系统自带的logrotate服务会定期对日志做切割和压缩,保留一定时间后自动清理。所以正常情况下你不需要手动删日志。但有些应用(比如Docker长期运行、或者某些频繁写日志的服务)会产生远超预期的日志量,导致/var分区被塞满。这个后面在常见问题部分会专门讲排查方法。
2.5 /usr:用户程序的主要安装区域
/usr是全系统体量最大的目录,没有之一。它的全称叫Unix System Resources,也就是Unix系统资源目录。很多刚接触的人以为usr是user的缩写,觉得这是用户目录,其实大错特错。Ubuntu安装的绝大多数软件包都装在这里。
拆开看,下面这些子目录你需要有印象:
- /usr/bin:所有用户可执行命令的主仓库,数量比/bin大得多。Ubuntu的usrmerge方案已经让/bin变成它的符号链接了。
- /usr/lib和/usr/lib64:系统软件和应用的动态链接库,相当于Windows的DLL文件存放位置。很多“缺少依赖”的报错,本质就是/usr/lib下少了对应文件。
- /usr/share:程序运行所需的平台无关数据文件,图标、字体、文档、帮助文件都在这。
- /usr/local:这个目录要单独划重点。它专门用来存放管理员手动编译安装的软件,也就是你从源码./configure && make && install跨进来的程序,默认会装到/usr/local/bin、/usr/local/lib这些位置。distro包管理器apt装到/usr,自己编译装到/usr/local,两者互不干扰,这是Linux里非常重要的约定。
为什么非要分出/usr/local?因为apt安装的软件会被包管理器统一管理,重装系统或升级时会覆盖掉。而你手动编译的软件是包管理器不知道的,放一起容易被误清理。放到/usr/local后,系统升级、apt更新都不会碰它,相当于是你自己的“私有安装区”。我现在手动装工具时,如果有编译安装选项,都默认走/usr/local,从来没出过冲突。
2.6 /tmp、/opt、/mnt、/media:临时、第三方和应用挂载
这四个目录看起来低调,实际使用频率极高。
/tmp是临时目录,所有用户都可以往里写文件,存放一些临时生成的数据。它的特点是系统重启后内容大概率会被清理,某些配置下还会定期自动删除旧文件。所以下载到一半的安装包、随手导出的临时文件可以放这里,但千万别放重要资料。我见过有人在/tmp下写代码,重启电脑后整个项目直接蒸发,追悔莫及。
/opt是可选软件目录,专门装第三方大型商业软件。比如某些需要手动解压安装的软件包、闭源SDK、JetBrains系列IDE的Linux版默认都装在/opt下。它的定位是:包管理器管不着的、独立打包的软件放这里,每个软件一个子目录,卸载时直接删除对应子目录即可,干净利落。
/mnt和/media都是挂载点目录,区别在于:/media是桌面环境自动挂载移动设备的地方,你插入U盘或移动硬盘,系统会自动在/media/你的用户名/下创建一个子目录来访问设备内容;/mnt则更适合管理员手动挂载网络共享、额外硬盘等场景。有个常见需求是把新硬盘挂载到/mnt/data,这样开机后自动挂载到固定路径,应用就可以稳定读写这个目录了。
2.7 /proc、/dev、/sys:虚拟目录,系统运行时的“实时窗口”
这三个目录不是传统意义上的“文件夹”,它们不占磁盘空间,是内核生成的虚拟文件系统,更像是一扇实时查看系统状态的窗户。
/proc里放的是进程和系统运行信息。你运行cat /proc/cpuinfo就能看到CPU型号和核心数,cat /proc/meminfo能看到内存详情。系统里每个正在运行的进程,在/proc下都有一个以进程ID命名的子目录,里面有这个进程的启动命令、环境变量、打开的文件等信息。排查一个程序为什么起不来,先看看/proc/对应pid/cmdline,往往能发现启动参数不对的问题。
/dev是设备文件目录。Linux把硬盘、键盘、终端、声卡都抽象成文件,你往对应文件里写数据就是在操作设备。/dev/sda代表第一块SATA硬盘,/dev/nvme0n1代表NVMe固态硬盘,/dev/ttyUSB0代表USB转串口设备(这也是你开发嵌入式经常要看的)。刻录启动U盘时用dd命令写的是/dev/sdb这样的设备文件,而不是某个目录,理解这点对避免“刻错盘”至关重要。
/sys目录则暴露了内核设备和驱动的运行状态,很多底层参数可以在这里直接调节。比如/sys/class/backlight下的亮度控制文件、/sys/block/里面的块设备信息。平时不会频繁用到,但遇到硬件功耗、风扇、亮度这类问题时,排查路径通常就在/sys里。
3. 用户目录和Desktop目录位置详解
3.1 为什么有人找不到Desktop目录
标题里说的“Desktop目录”,是很多人实际使用中最容易卡壳的地方。先直接给结论:Ubuntu桌面版里,桌面目录的完整路径是/home/你的用户名/Desktop。比如你的用户名是hello,桌面路径就是/home/hello/Desktop。
那为什么很多人找了半天找不到?常见原因有三个。
第一个原因是用的系统版本或环境差异。如果你安装的是Ubuntu Server版,或者某个精简桌面环境,根本没有图形桌面,自然不会生成Desktop目录。没有桌面功能,找Desktop目录等于缘木求鱼。
第二个原因最坑,也是搜索量常年居高不下的关键:系统语言环境。Ubuntu桌面版的默认目录命名会跟随桌面环境的语言设置。如果你的系统界面语言是中文,系统可能创建的不是Desktop,而是“桌面”这个中文目录。你在终端里用ls ~看看,如果看到的是“桌面”,那就对了。文件管理器里显示的“桌面”,到命令行下可能就变成了中文名的目录。
第三个原因是你或者某个配置工具修改过用户目录的映射关系。Ubuntu桌面环境用一套叫xdg-user-dirs的机制管理“桌面、下载、文档、图片”这些标准目录,配置存储在~/.config/user-dirs.dirs文件里。如果这个文件被改动或删除,桌面目录就会失效或指向错误位置。
判断到底是哪种情况,一条命令就能搞定:ls -a ~,把你家目录下的所有隐藏和非隐藏内容都列出来,直接看有没有Desktop或桌面。再执行cat ~/.config/user-dirs.dirs,看看XDG_DESKTOP_DIR一行指向的是哪个路径,真相立刻水落石出。
3.2 Desktop目录的真相:是个真实目录,还是符号链接?
弄清楚Desktop到底是一个真实目录还是一个软链接,能帮你避免很多误会。在标准的Ubuntu桌面版安装流程下,Desktop目录是一个普通的真实目录,不是软链接。它的位置和显示名称,完全由~/.config/user-dirs.dirs这个配置文件控制和决定。
看一下这个文件的核心内容,通常长这样:
XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/Downloads" XDG_DOCUMENTS_DIR="$HOME/Documents" XDG_PICTURES_DIR="$HOME/Pictures"如果系统语言是中文,你打开这个文件会看到:
XDG_DESKTOP_DIR="$HOME/桌面" XDG_DOWNLOAD_DIR="$HOME/下载" XDG_DOCUMENTS_DIR="$HOME/文档" XDG_PICTURES_DIR="$HOME/图片"这里就理解了一个关键知识点:文件管理器里显示的“桌面”两个字,是根据这个配置文件的路径值去渲染的,本质是xdg-user-dirs这个标准在起作用。你把XDG_DESKTOP_DIR指向哪里,桌面就在哪里。
还有种情况需要特别说明:如果你装了一些第三方桌面环境(比如KDE Plasma,或深度桌面),或者把系统语言从英文切换成中文、从中文切换成英文,目录名字会跟着变。切换语言后,原来的Desktop目录并不会自动改名为桌面,而是新环境按新规则去查找“桌面”目录,找不到就新建一个,结果就出现“桌面上文件不见了”的惊魂一刻。文件其实原封不动还在Desktop里,只是桌面环境找错了位置,或者你看看config文件指向的路径就明白了。
3.3 自定义Desktop目录位置:把桌面搬到数据盘
知道了Desktop目录由config文件控制,我们就能安全地修改它。有些人想把桌面目录放到一块单独的数据盘上,或放在一个统一管理的空间下,可以在不重装的情况下实现。
步骤很简单,但要按顺序操作,否则桌面会变空。
第一步,创建新目录并迁移文件。假设你要把桌面移动到/home/hello/Documents/MyDesktop:
mkdir -p /home/hello/Documents/MyDesktop mv /home/hello/Desktop/* /home/hello/Documents/MyDesktop/第二步,修改配置文件。编辑~/.config/user-dirs.dirs,把XDG_DESKTOP_DIR这一行改成:
XDG_DESKTOP_DIR="$HOME/Documents/MyDesktop"第三步,刷新配置:
xdg-user-dirs-update执行完重新登录一下,桌面就会指向新目录。
这里必须给出几个重度警告。第一,修改前务必确认旧目录里的文件已经被完整迁移,否则改了配置后旧目录在桌面上消失,你也不一定记得去原来的路径找。第二,不要只改配置不动目录,也不要把多个标准目录都指向同一个目录,否则会出现桌面和下载目录内容混在一起的情况。第三,如果你用的不是GNOME桌面,而是KDE、XFCE这些,xdg配置文件可能不完全相同,建议先备份config文件再动。
最后再补充一个小常识:Desktop目录本质上就是一个普通文件夹。你从远程终端传文件给机器,传到/home/hello/Desktop,桌面上立刻就会显示这个文件;反过来,桌面上存在的文件,在终端里就是/home/hello/Desktop下的一个普通文件,ls、mv、rm操作和普通目录完全一样。想往桌面放快捷方式,也只是创建.desktop文件而已,和目录本身没有关系。
4. 新手最常踩的目录相关坑和排查技巧
4.1 命令找不到或路径不对时怎么办
用Ubuntu最常见的一个报错是:command not found。你明明记得装了这个软件,敲命令却提示找不到。这个问题的本质是Shell在PATH变量指定的目录里没找到可执行文件。
先看当前PATH里有哪些目录:
echo $PATH输出通常是一串用冒号分隔的目录。如果你装完软件后没有把安装目录加进PATH,命令自然找不到。临时解决方案是:
export PATH=$PATH:/opt/某个软件/bin永久生效则要把这行写进~/.bashrc,然后source ~/.bashrc或重新打开终端。
排查命令位置时,这几个工具很有用:
- which命令:查当前注册到PATH的命令所在路径。
- whereis命令:能查到命令文件、源码、手册页的路径。
- type命令:告诉我你的命令是内部命令、外部命令、还是别名。
- find命令:全局搜索文件,比如find / -name "code" 2>/dev/null,适合找那些不在PATH里的程序。
有个特别容易踩的坑:很多人修改环境变量时把PATH写错了,导致连ls、cd这些基本命令都找不到。万一遇到这种情况,不要慌,用完整路径执行/usr/bin/ls,然后赶紧把~/.bashrc或/etc/environment里写错的内容改回来。我的建议是:修改系统级环境变量前,先写好一条正确的export语句,保存后不要在同一个会话里立即退出,先用source测试一下命令还能不能正常执行。
4.2 磁盘空间不足的常见元凶和清理方法
系统用了一段时间,很多人会收到磁盘空间不足的提示。此时第一反应不该是删数据,而是先定位空间到底被谁占了。
查看磁盘整体使用情况:
df -h查看当前目录下各子目录的大小:
du -sh *配合排序找出最大的几个目录。基于我的经验,空间被吃掉的元凶排在前几名的通常是:
- /var/log下的日志文件。长期运行的系统,syslog、kern.log这些文件可能膨胀到几个GB。用sudo journalctl --vacuum-size=100M可以快速压缩journal日志,老派方式是清理/var/log下的压缩旧日志,注意不要直接rm正在被进程写入的日志文件。
- /tmp下的临时文件。重启后一般会清空,但在长期不重启的服务器上可能堆积很大。
- snap包缓存。Ubuntu的snap会保留多版本旧包,用sudo snap set system refresh.retain=2限制保留版本,再清理不需要的snap:先snap list看看,然后用sudo snap remove 包名释放空间。
- apt缓存。/var/cache/apt/archives下的deb安装包会一直留着,用sudo apt clean清空。
- Docker镜像。如果装了Docker,/var/lib/docker可能占几十GB,用docker system prune -a清理不用的镜像和容器。
清理完再跑一遍df -h确认效果。记住一个理念:日常维护的关键是别让日志和缓存无限膨胀,而不是等到满了才来救火。
4.3 目录被删或被覆盖的“高危操作”警示
目录操作中最大的风险不是找不到目录,而是误删、误覆盖。最臭名昭著的自然是rm -rf。例句:sudo rm -rf / 会把整个系统删干净。虽然现在Ubuntu对根目录的删除操作加了保护,但你如果在某个关键子目录下多打了一个空格或写错了路径,后果一样严重。
我的安全操作守则,分享给大家:
第一,删除前先ls确认。不管你要删除什么,先ls -la看一下目标路径的内容,确认没有重要文件再动手。第二,能不用rm就不用rm,优先用mv把文件移动到~/Trash或某个临时目录,确认没误删再清空。第三,涉及系统目录的修改先备份,修改/etc文件前备份原文件是底线操作。第四,多用Tab补全路径,避免手输长路径时少了个点或多了个空格,手输路径是误操作的重灾区。第五,路径里带变量时加引号,比如rm -rf "$HOME/My Documents",不加引号时空格会把路径拆成两个参数,极容易删错。
4.4 几个提高目录操作效率的命令技巧
最后分享几个我日常离不开的目录操作技巧,不复杂,但能明显提升使用体验。
第一个是cd -。在终端里输入cd -可以直接回到上一次所在目录,在两个目录之间来回切换时不用反复敲路径,效率极高。第二个是cd ~,一键回到当前用户家目录,比打完整路径舒服太多。第三个是pushd和popd,适合需要记住多个目录的时候用。pushd /path/to/dir会切换并把你之前的目录压入栈中,之后用popd弹回来。
查看目录结构的帮手是tree命令,如果没有装可以先sudo apt install tree。用tree -L 2 /etc可以限制只显示两层结构,避免刷屏。分析目录空间占用时,我强烈推荐ncdu,它用交互式界面展示每个目录占多少空间,可以用方向键层层进入定位大文件,比反复执行du命令高效太多了。
终端里快速跳转文件还有一个神器是fzf,配合cd命令可以做模糊搜索切换目录,输入几个字符就能匹配到目标目录,用惯了基本离不开。这些工具本身都不复杂,装好试一次就知道香了。
最后分享点私人经验
玩Linux这些年,我帮人处理过非常多的Ubuntu使用问题,复盘下来发现一个规律:十个问题里至少有五个是目录或路径理解不清导致的。不是命令不会敲,而是不知道文件被系统放到了哪里、自己该把东西放在哪里。所以这篇文章我不讲花里胡哨的黑客技巧,而是把目录这件事讲透,因为这是使用Ubuntu的地基。地基打好了,后面学权限、学服务管理、学网络配置都是水到渠成的事。
我个人建议,新装好Ubuntu后先做一件事:打开终端,执行一遍ls -a /和ls -a ~,然后对照这篇文章把每个目录浏览一遍,看看里面都装了啥、自己能修改哪些、哪些碰都不能碰。花不了半个小时,但会让你对整个系统产生一种“尽在掌握”的感觉。以后遇到关于目录的任何问题,比如桌面图标不见了、下载的文件不知道去哪了、软件装了但命令找不到,回来查查这篇文章里对应的小节,多半问题就迎刃而解了。