🔥@雾忱星: 个人主页 👀专栏:《数据结构与算法入门指南》、《C++学习之旅》 💪学习阶段:C/C++、数据结构与算法 ⏳“人理解迭代,神理解递归。”
文章目录
- 引言
- 一、pwd指令:"查地图"
-
- 1.1 原理:Linux文件系统的树状结构
- 1.2 实操:显示当前目录的绝对路径
- 二、ls指令:“打开文件夹看文件”
-
- 2.1 从Linux角度理解文件:内容与属性的关系
- 2.2 两个高频使用选项:-l与-a的详细解析
- 三、cd指令:“走进另一个文件夹”
-
- 3.1 执行原理:绝对路径与相对路径的识别
- 3.2 实操:五种常见目录切换场景
- 四、mkdir指令:"新建文件夹"
-
- 4.1 理解Linux文件类型:普通文件与目录的区别
- 4.2 实操:创建单层、多层及多个目录
- 五、touch指令:创建与时间管理
-
- 5.1 配合stat指令:查看文件的三个时间戳
- 5.2 分步实操:创建文件与时间选项详解
- 六、rm&&rmdir指令:安全删除操作
-
- 6.1 实操:基础删除与递归删除的区别
- 总结
引言
对于Linux新手而言,终端操作的入门门槛往往在于对文件系统的认知与基础指令的掌握。pwd、ls、cd、mkdir、touch、rm/rmdir这一系列指令,是玩转Linux文件系统的“基石工具”——它们分别对应了“定位当前位置”“查看目录内容”“切换目录”“创建目录”“创建文件”“删除文件/目录”的核心需求,如同我们在电脑上“找位置、看文件、进文件夹、建文件夹、建文件、删文件”的基础操作逻辑。 本文将这些指令按实操场景串联,从原理到操作层层拆解,帮你快速建立Linux终端操作的核心认知,迈出终端入门的关键一步。
一、pwd指令:“查地图”
先从最简单的 pwd 开始,pwd(Print Working Directory)指令就像你在迷宫中的GPS定位。当你打开多个终端或者在多个目录之间跳转后,可能会“迷路”,这时pwd会告诉你确切的所在位置。
- 基础作用: 显示当前工作目录的完整路径,并且是绝对路径。
- 语法形式: pwd。
1.1 原理:Linux文件系统的树状结构
Linux文件系统就像一棵倒着长的树,所有文件都从根目录(/)开始生长。这与前面学的数据结构中的树类似。在这棵“树”上,每个节点都是目录或者文件。其中:普通文件一定是叶子节点,目录可能是叶子(空),或者路上节点。
而路径的存在,保证了快速定位查找指定文件。基于特殊性,任何节点都只有一个父节点,所以从根目录开始定位文件,使得路径具有唯一性。
1.2 实操:显示当前目录的绝对路径
# 显示当前目录:pwd
# 输出:
/home/username/Desktop
【补充】:
Linux 下的/是路径分隔符,两个/之间一定是目录;Windows 下的路径分隔符是\\。
对于一个路径末尾到底加不加/,是/root/a还是/root/a/ ?:前者表示a可能是目录或者文件;后者表示a只能是目录。但是大多数场景下没有区别!
二、ls指令:“打开文件夹看文件”
知道了自己在哪个位置,接下来肯定想看看这个目录里有什么文件和子目录吧?ls指令相当于文件管理器的“查看”功能,列出当前目录下的所有文件和文件夹,让你一目了然当前目录包含的内容。
- 基础作用: 查看当前或者指定目录下的文件或者文件夹。
- 语法形式:ls [选项] [文件或者文件夹]
2.1 从Linux角度理解文件:内容与属性的关系
大家对 Windows 系统应该很熟了,那么从 Windows 的角度看,创建一个空的文件夹到底占不占磁盘空间!? 答案是肯定的:空文件夹仍占空间,要知道 文件 != 文件内容 ,切记 文件 = 文件的内容 + 文件的属性。文件的属性数据也叫做元信息,也需要保存下来。
好,那我们学习了文件,后续就可以对内容或者属性进行系列操作。
2.2 两个高频使用选项:-l与-a的详细解析
| ls – a | 显示所有内容,包含隐藏文件/目录(.开头) |
user@linux:~$ ls -l
total 20 # 总占用磁盘空间(单位:字节,配合-h会更易读)
drwxr-xr-x 2 user user 4096 10月 8 14:30 Documents
drwxr-xr-x 2 user user 4096 10月 8 14:30 Downloads
-rw-r–r– 1 user user 128 10月 9 09:20 test.txt
user@linux:~$ ls -a
. .. .bashrc .profile Documents Downloads test.txt
#组合使用ls -l和ls -a
user@linux:~$ ls -la
total 48
drwxr-xr-x 10 user user 4096 10月 9 09:20 .
drwxr-xr-x 3 root root 4096 10月 7 15:00 ..
-rw-r–r– 1 user user 220 10月 7 15:00 .bash_logout
-rw-r–r– 1 user user 3771 10月 7 15:00 .bashrc
drwxr-xr-x 2 user user 4096 10月 8 14:30 Documents
-rw-r–r– 1 user user 128 10月 9 09:20 test.txt
三、cd指令:“走进另一个文件夹”
学会了查看目录的内容,接下来就要知道怎么切换目录——毕竟你不可能一直待在一个目录里操作。cd(Change Directory)命令,就像它的名字,它是你在文件系统中的"导航器"。类似 Windows 系统双击进入文件夹,cd让你能够在终端中自由穿梭在各个目录之间。
- 基础作用: 改变当前的工作目录;
- 语法形式: cd [目录路径]。
3.1 执行原理:绝对路径与相对路径的识别
对于路径的识别以及分类,有以下两种:
- 绝对路径: 永远从根目录(/)开始 –> /home/user/document/file.txt;
- 相对路径: 从当前目录开始算,通常以目录名、文件名、.或者..开头 –> oc/readme.md(当前目录下doc文件夹里的readme.md)。
【特殊符号】: .代表当前目录(这里)–> ./file 当前目录的file;..代表上级目录(上一层)–> ../file 上级目录的file;~代表家目录。
3.2 实操:五种常见目录切换场景
cd /home # 切换到绝对路径
cd .. # 返回上级目录
cd ../.. # 返回上两级目录
cd ~ # 返回家目录
cd – # 返回上次所在的目录
cd # 直接回家(同 cd ~)
#1.直接输入 cd,快速回到家目录
# 先切换到其他目录(比如根目录)
user@linux:~$ cd /
user@linux:/$ pwd # 确认当前在根目录
/
# 输入cd,返回家目录
user@linux:/$ cd
user@linux:~$ pwd # 验证结果
/home/user
#2.用 cd ~回到家目录
# 先切换到上一级目录
user@linux:~$ cd ..
user@linux:/home$ pwd
/home
# 用cd ~返回家目录
user@linux:/home$ cd ~
user@linux:~$ pwd
/home/user
#3.cd 目录名,切换到当前目录的子目录(相对路径)
# 家目录创建一个子目录Notes(后面说)
user@linux:~$ mkdir Notes
# 切换到Notes目录(相对路径,当前目录/home/user)
user@linux:~$ cd Notes
user@linux:~/Notes$ pwd
/home/user/Notes
#4.cd ..切换到上一级目录(父目录)
# 当前在/home/user/Notes目录
user@linux:~/Notes$ pwd
/home/user/Notes
# 切换到上一级目录
user@linux:~/Notes$ cd ..
user@linux:~$ pwd
/home/user
#5.cd /完整路径,绝对路径
# 当前在/home目录
user@linux:/home$ pwd
/home
# 切换到/home/user/Notes
user@linux:/home$ cd /home/user/Notes
user@linux:~/Notes$ pwd
/home/user/Notes
四、mkdir指令:“新建文件夹”
mkdir(Make Directory)命令让你能够在文件系统中创建新的文件夹。这是组织文件结构的基础,就像在现实中创建新的文件夹来分类整理文档一样。
- 基础作用: 创建新的目录(文件夹);
- 语法形式: mkdir [选项] 目录名…
4.1 理解Linux文件类型:普通文件与目录的区别
Linux区分文件不关心后缀(不是不可以用),因为Linux是通过文件的属性来辨别到底是普通文件还是目录。
user@linux:~$ ls -l
-rw-r–r– 1 user user 128 Jan 1 10:00 a.txt <— 第一个字符是 –
drwxr-xr-x 2 user user 4096 Jan 1 10:00 test <— 第一个字符是 d
- 普通文件: 开头是-,比如文本文件、二进制程序等;
- 目录文件: 开头是d。
4.2 实操:创建单层、多层及多个目录
【选项】
- p: 递归创建目录,如果父目录不存在则一并创建;
#创建单个目录
[root@VM-0-6-centos ~]# mkdir test
[root@VM-0-6-centos ~]# ls
a test test.txt
#创建多个目录
[root@VM-0-6-centos ~]# mkdir test1 test2 test3
[root@VM-0-6-centos ~]# ls
a test test1 test2 test3 test.txt
#创建多层文件夹
[root@VM-0-6-centos ~]# mkdir -p A/b/c/d
[root@VM-0-6-centos ~]# ls
a A test test1 test2 test3 test.txt
[root@VM-0-6-centos ~]# cd A
[root@VM-0-6-centos A]# ls
b
[root@VM-0-6-centos A]# cd ./b
[root@VM-0-6-centos b]# ls
c
[root@VM-0-6-centos b]# cd c/
[root@VM-0-6-centos c]# ls
d
【补充】:tree指令显示多层文件夹结构(需要安装)
- 语法形式:tree 目录
- 安装指令:centos下 yum install -y tree;ubuntu下apt install -y tree。
[root@VM-0-6-centos A]# pwd
/root/A
[root@VM-0-6-centos A]# tree .
.
`— b
`— c
`– d
3 directories, 0 files
五、touch指令:创建与时间管理
很多小白会疑惑:“为什么不能像Windows那样右键新建文件?”其实Linux终端里,touch 就是“新建空文件”的专属指令,操作比右键还快。
- 基础作用: 创建空文件;更新现有文件时间戳;
- 语法形式: touch [选项] [文件路径/文件名]
5.1 配合stat指令:查看文件的三个时间戳
- 语法形式:stat 文件名。
[root@VM-0-6-centos ~]# stat test.txt
File: ‘test.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769dInode: 394320 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2026-01-14 14:55:12.290965109 +0800
Modify: 2026-01-14 14:55:12.290965109 +0800
Change: 2026-01-14 14:55:12.290965109 +0800
Birth: –
经stat指令查看文件的详细信息(包括时间),touch指令就可以针对三个时间戳进行修改:
- Access Time(访问时间,简称 atime):文件的最后访问时间(用cat 文件名查看文件内容);
- Modify Time(修改时间,简称 mtime):文件的最后内容修改时间(用echo 内容 > 文件名覆盖);
- Change Time(状态改变时间,简称 ctime):文件的最后属性修改时间(注意:不是内容修改,是文件本身的 “元数据” 修改)。
5.2 分步实操:创建文件与时间选项详解
(先只说创建文件)
[root@VM-0-6-centos ~]# touch test.txt
[root@VM-0-6-centos ~]# ls
【常用选项】
六、rm&&rmdir指令:安全删除操作
rm(remove)是Linux的“删除指令”,可以删除文件和目录,核心特点是:默认不经过回收站,删除后难以恢复,小白一定要谨慎操作!
- 基础作用:删除普通文件(可搭配其他后缀);
- 语法形式:rm [选项] 文件名 目录。
6.1 实操:基础删除与递归删除的区别
【核心选项】:
-
r:递归删除目录(必须加!否则无法删除目录)。
-
f:强制删除(不弹出“是否删除”的确认提示,慎用)。
-
rf:-r 和 -f 组合,强制递归删除(删除目录的高频用法,务必确认路径正确)。
#查看当前路径下
[root@VM-0-6-centos ~]# ll
total 20
-rw-r–r– 1 root root 0 Jan 14 14:50 a
drwxr-xr-x 3 root root 4096 Jan 14 16:31 A
drwxr-xr-x 2 root root 4096 Jan 14 16:27 test
drwxr-xr-x 2 root root 4096 Jan 14 16:30 test1
drwxr-xr-x 2 root root 4096 Jan 14 16:30 test2
drwxr-xr-x 2 root root 4096 Jan 14 16:30 test3
[root@VM-0-6-centos ~]# ls
a A test test1 test2 test3
#基础的rm指令删除空文件会提示
[root@VM-0-6-centos ~]# rm a
rm: remove regular empty file ‘a’? y
#-r后缀递归删除目录
[root@VM-0-6-centos ~]# rm -r A
rm: descend into directory ‘A’? y
rm: descend into directory ‘A/b’? y
rm: descend into directory ‘A/b/c’? y
rm: remove directory ‘A/b/c/d’? y
rm: remove directory ‘A/b/c’? y
rm: remove directory ‘A/b’? y
rm: remove directory ‘A’? y
[root@VM-0-6-centos ~]# ls
test test1 test2 test3
#-f后缀删除文件不提示
[root@VM-0-6-centos ~]# rm -f a
[root@VM-0-6-centos ~]# ls
B test test1 test2 test3
除了 rm -r 可以删除目录,Linux还提供了 rmdir(remove directory)指令专门用于删除目录,但它有一个 严格限制:只能删除空目录。 虽然 rmdir 不如 rm -r 常用,但胜在“安全”——因为无法删除非空目录,能有效避免误删目录内的重要文件,适合小白在“确认目录为空”的场景下使用。
总结
🍓 我是晨非辰Tong!若这篇技术干货帮你打通了学习中的卡点:
👀 【关注】跟我一起深耕技术领域,从基础到进阶,见证每一次成长
❤️ 【点赞】让优质内容被更多人看见,让知识传递更有力量
⭐ 【收藏】把核心知识点、实战技巧存好,需要时直接查、随时用
💬 【评论】分享你的经验或疑问(比如曾踩过的技术坑?),一起交流避坑
🗳️ 【投票】用你的选择助力社区内容方向,告诉大家哪个技术点最该重点拆解
技术之路难免有困惑,但同行的人会让前进更有方向~愿我们都能在自己专注的领域里,一步步靠近心中的技术目标!
结语:
以上六大基础指令,构成了Linux文件系统操作的核心闭环。从pwd定位到ls查看,从cd导航到mkdir、touch创建,再到rm/rmdir清理,每一步都是后续复杂操作的基础。 学习这些指令的关键,不仅在于记住语法,更在于理解Linux“一切皆文件”的系统逻辑与路径识别规则。建议结合实操反复练习,养成“操作-验证”的习惯,待熟练掌握后,便能轻松衔接后续的文本处理、权限管理等进阶内容,真正感受到Linux终端的高效与灵活。
【系列回顾】 代码的自由之路,Linux 深度探秘:从贝尔实验室到全球协作,揭秘服务器之王的诞生

网硕互联帮助中心





评论前必须登录!
注册