一、前言:为什么学习 Linux 要先认识文件和目录?
在上一篇博客中,我们已经完成了 Windows 11 下的 WSL 和 Ubuntu 环境搭建,并初步认识了 Linux。
现在,我们可以通过 PowerShell 进入 Ubuntu,开始学习真正的 Linux 命令。
但是,在学习各种命令之前,我们需要先解决一个问题:
当我们进入 Linux 系统后,如何知道自己在哪里?如何查看文件?又该如何找到自己需要的文件?
我们可以先思考一个实际的开发场景。
假设我们已经完成了一个 Spring Boot 项目,并将它部署到了 Linux 服务器上。程序启动后,我们需要查看配置文件、检查日志,或者找到项目对应的 JAR 包。
如果我们连文件存放在哪里都不知道,那么后续的操作就无从谈起。
因此,学习 Linux 的第一步并不是背诵大量命令,而是先理解 Linux 的文件系统、目录结构和路径。
二、Linux 的目录树
在Windows当中,我们常常见到这样的路径
C:\Users\Lenovo\Javalearning
这个就是从c盘开始依次进入一些目录
Linux当中同样使用目录组织文件,但是它采用的是以根目录/为起点的目录书结构
例如:
/
├── home
│ └── lenovo
├── etc
├── var
│ └── log
├── tmp
├── usr
└── mnt
└── c
其中的根目录就是/这样一个斜杠,但是这里要区分一下Windows当中的c盘,d盘跟这里的根目录,Windows这样可以表示不同的卷,但是Linux当中将目录统一组织在一棵目录树中
三、认识 Linux 中常见的目录
我们不仅要了解这些目录的用途,也会有一个疑惑就是这些目录都是直接有的吗:这些目录大部分是Linux系统自带的,这些其实都是规范,你并不是一定都要将对应的数据一定要放到对应的目录下面,就好比说我有个d盘的Java学习文件夹,但是我就是将Java学习的相关东西放到了c盘的c语言学习文件夹中,这样是允许的,但是会很混乱,所以下面介绍的就相当于是一套约定俗称的目录组织规范了
| 目录 | 主要作用 | 通常是否默认存在 | 实际应用场景 |
|---|---|---|---|
/ |
根目录,整个 Linux 目录树的起点 | 是 | 所有绝对路径都从这里开始 |
/home |
普通用户主目录的存放位置 | 通常是 | 保存普通用户的个人文件 |
/home/lenovo |
用户 lenovo 的主目录 |
创建用户时通常会建立 | 保存自己的学习资料、项目代码 |
/etc |
存放系统和软件的配置文件 | 是 | 查看或修改软件配置 |
/var/log |
常见的系统日志存放位置 | 通常是 | 查看系统日志,排查运行异常 |
/tmp |
存放临时文件 | 是 | 程序运行时临时保存数据 |
/usr |
存放许多系统程序、库和共享资源 | 是 | 查找系统命令及相关资源 |
/mnt |
常见的文件系统挂载目录 | 通常是 | 挂载磁盘或访问其他文件系统 |
/mnt/c |
WSL 中常见的 Windows C 盘映射路径 | 取决于 WSL 挂载配置 | 在 Ubuntu 中访问 Windows 文件 |
/home/lenovo/java-study |
自己创建的 Java 学习目录示例 | 不一定,需要自行创建 | 存放 Linux 学习代码或 Java 项目 |
四、一些关于目录的命令
第一条命令:使用 pwd 查看当前目录
使用的第一步肯定是先要知道自己在哪里,那么pwd就是查看当前的目录的

如果输出的是:
/mnt/c/Windows/system32
则表示当前工作目录位于 WSL 中映射的 Windows C 盘路径下
第二条命令:使用 cd 切换目录
cd 是 change directory 的缩写,作用是切换当前工作目录
基本用法:
cd 目标路径
例如:
cd /home/lenovo
什么是 ~ ?
在 Linux 中,~ 通常表示当前用户的主目录
对于我们的用户 lenovo 来说:
~
通常对应:
/home/lenovo
因此,我们可以直接输入:
cd ~
就能切换到自己的主目录,这里要注意一点的是cd与~之间是有空格的
不带参数的 cd 命令
其实,我们还可以直接输入:
cd
在常见的 Bash Shell 环境中,这同样会将当前目录切换到当前用户的主目录。
因此,下面两种写法通常都可以达到相同的效果:
cd
cd ~
使用 .. 返回上一级目录
假设我们当前位于:
/home/lenovo
如果想返回上一级目录,可以输入:
cd ..
然后执行:
pwd
就会得到:
/home
这里的 .. 表示当前目录的父目录,也就是上一级目录

第三条命令:使用 ls 查看文件和目录
pwd是显示我现在在哪里,而ls则告诉我们这里面有什么
用法就是直接输入ls即可

查看指定目录,而不切换过去
ls 还可以查看指定目录的内容。
例如:
ls /home
这条命令会列出 /home 目录中的内容,但不会改变当前工作目录
使用 ls -l 查看详细信息
除了文件名,我们有时还想知道文件权限、所有者、大小和修改时间。
这时可以使用:
ls -l
它会以较为详细的格式列出目录内容

今天的知识总结
通过本篇博客,我们学习了 Linux 文件系统的基本概念,以及最基础的目录导航命令
核心命令(一定要注意有空格!!!)
| 命令 | 作用 |
|---|---|
pwd |
查看当前工作目录 |
ls |
查看当前目录内容 |
ls -a |
查看包括隐藏目录项在内的内容 |
ls -l |
查看目录内容的详细信息 |
cd ~ |
切换到当前用户的主目录 |
cd .. |
切换到上一级目录 |
cd / |
切换到根目录 |
cd /home/lenovo |
切换到指定目录 |