Linux入门实战教程:文件系统与进程管理

- Linux入门实战教程:文件系统与进程管理
-
- 引言
- 第一部分:Linux文件系统------你的"无盘符文件柜"
-
- 一、Linux目录结构:认识"文件柜"的抽屉
- 二、inode、硬链接与软链接:文件的"身份"与"快捷方式"
-
- [1. inode:文件的"身份证号"](#1. inode:文件的“身份证号”)
- [2. 硬链接:文件的"别名"](#2. 硬链接:文件的“别名”)
- [3. 软链接:文件的"快捷方式"](#3. 软链接:文件的“快捷方式”)
- 核心区别总结
- 实战任务2:操作inode与链接
- 三、常用文件系统命令:管理"文件柜"的工具
- Linux文件系统层级结构简图
- 第二部分:Linux进程管理------你的"后台运行程序"
-
- 一、进程基础概念:认识"运行中的程序"
- 二、常用进程管理命令:查看与控制进程
-
- [1. 查看进程:监控"运行中的程序"](#1. 查看进程:监控“运行中的程序”)
- [2. 控制进程:启动、停止、后台运行](#2. 控制进程:启动、停止、后台运行)
- 实战任务3:管理进程生命周期
- 进程生命周期流程图(从启动到终止)
- 课后练习建议(边练边巩固)
引言
对于零基础读者来说,Linux的"文件系统"和"进程管理"就像认识一台新电脑的"文件柜"和"正在运行的程序"------前者管文件怎么放,后者管程序怎么跑。这篇教程全程用生活化类比,搭配可直接复制的命令,带你边操作边理解核心逻辑,摆脱"命令行恐惧"。
第一部分:Linux文件系统------你的"无盘符文件柜"
Windows用C盘、D盘分类文件,而Linux没有盘符,所有文件都装在一个"根文件柜"(/)里,里面的文件夹层层嵌套,就像文件柜的抽屉和隔层。我们先搞懂这个"文件柜"的结构,再学习文件的"身份标识"和"快捷方式"。
一、Linux目录结构:认识"文件柜"的抽屉
核心逻辑:根目录(/)是所有目录的起点,下面的核心目录各有分工,类比成日常场景更好记:
-
/(根目录):整个文件系统的"总文件柜",所有文件和目录都从这里延伸,没有它就没有其他目录。
-
/home:普通用户的"个人抽屉",每个用户都有专属子目录(比如 /home/zhang san),就像你的私人文件盒,只能自己自由操作。
-
/etc:系统的"设置抽屉",存放系统和软件的配置文件,类比成电脑的"控制面板",修改这里的文件能调整系统规则。
-
/bin:系统的"工具抽屉",存放ls、cd等常用命令,就像工具箱里的螺丝刀、扳手,保证系统最基本的运行。
-
/var:程序的"日志抽屉",存放软件运行产生的日志、缓存,类比成软件的"操作记录本",出问题时可查这里的记录。
-
/tmp:临时的"杂物抽屉",存放系统和软件的临时文件,重启电脑后自动清空,就像垃圾桶的临时存放区。
实战任务1:浏览核心目录
用以下命令切换、查看目录,亲手感受Linux的目录结构:
bash
# 切换到根目录(进入总文件柜)
cd /
# 查看根目录下的所有目录(列出所有抽屉)
ls -l
# 切换到自己的个人目录(进入专属抽屉)
cd /home
# 查看当前目录路径(确认自己在哪)
pwd
预期输出:ls -l 会显示根目录下的所有核心目录(home、etc、bin等);pwd 会输出 /home,确认已切换到个人目录。
二、inode、硬链接与软链接:文件的"身份"与"快捷方式"
我们看到的文件名只是"表象",Linux底层靠 inode 识别文件,而链接就是给文件"起别名"或"建快捷方式"。
1. inode:文件的"身份证号"
类比:每个文件都有一个唯一的 inode 编号,就像人的身份证号,包含文件的大小、权限、存储位置等信息。文件名只是 inode 的"昵称"------删除文件名,只要 inode 还在,文件数据就没丢,只是找不到入口了。
2. 硬链接:文件的"别名"
类比:给你的文件"起另一个名字",两个名字指向同一个 inode(同一个文件本体)。删除其中一个名字,另一个仍能正常访问文件,就像一个人有大名和小名,叫哪个都能找到他。
3. 软链接:文件的"快捷方式"
类比:和Windows快捷方式完全一样,只记录原文件的路径,不指向 inode。如果原文件被删除,软链接就会"失效"(显示红色断裂状态),就像快捷方式指向的文件被删了,快捷方式也没用了。
核心区别总结
-
硬链接:别名,删一个不影响其他,不能跨磁盘创建;
-
软链接:快捷方式,原文件删了就失效,可跨磁盘创建。
实战任务2:操作inode与链接
bash
# 1. 创建一个测试文件(生成一个"文件本体")
echo "hello linux" > test.txt
# 2. 查看文件的inode编号(查看文件身份证)
ls -i test.txt
# 3. 创建硬链接(起别名 test_hard.link)
ln test.txt test_hard.link
# 4. 创建软链接(建快捷方式 test_soft.link)
ln -s test.txt test_soft.link
# 5. 查看三个文件的inode和状态
ls -li
# 6. 修改原文件,观察链接文件变化
echo "add content" >> test.txt
cat test_hard.link # 硬链接同步变化
cat test_soft.link # 软链接同步变化
# 7. 删除原文件,观察链接文件
rm -f test.txt
cat test_hard.link # 硬链接仍能访问内容
cat test_soft.link # 软链接失效,提示"没有那个文件或目录"
预期输出:ls -li 会显示 test.txt 和 test_hard.link 的 inode 编号相同,test_soft.link 有特殊标识(l开头);删除原文件后,软链接访问失败,硬链接正常。
三、常用文件系统命令:管理"文件柜"的工具
除了上面的命令,这几个工具能帮你查看磁盘空间、文件大小:
bash
# 查看磁盘空间使用情况(人性化显示GB/MB)
df -h
# 查看当前目录总大小(汇总显示,不展开子目录)
du -sh
# 查看当前目录下所有文件/目录的大小
du -h --max-depth=1
预期输出:df -h 显示各分区的已用空间、剩余空间;du -sh 显示当前目录总大小,帮你快速排查"空间被谁占了"。
Linux文件系统层级结构简图

第二部分:Linux进程管理------你的"后台运行程序"
打开浏览器、微信,这些"正在运行的程序"在Linux里就叫"进程"。进程有自己的"身份证(PID)",有父有子,还能被我们手动控制(启动、停止)。
一、进程基础概念:认识"运行中的程序"
-
进程:类比"正在播放的电影",程序是电影文件(静态),进程是播放中的画面(动态),占用CPU、内存资源,有生命周期。
-
PID:进程ID,类比"电影票座位号",每个进程启动后系统分配唯一PID,是控制进程的核心标识。
-
父子进程:类比"主程序和子窗口",你打开终端(父进程),在终端里运行ls命令(子进程)。父进程终止,子进程可能跟着终止;子进程终止,父进程不受影响。
二、常用进程管理命令:查看与控制进程
1. 查看进程:监控"运行中的程序"
bash
# 查看系统所有进程(全景图,包含PID、占用资源)
ps aux
# 动态监控进程(实时刷新,按CPU占用排序)
top
# 增强版动态监控(界面更友好,支持鼠标操作)
htop # 若未安装,先执行:sudo apt install htop(Ubuntu)/ sudo yum install htop(CentOS)
操作说明:top/htop 中,按"q"退出监控,top按"k"可输入PID终止进程,htop直接用鼠标点击进程后按"F9"终止。
2. 控制进程:启动、停止、后台运行
bash
# 1. 后台运行进程(加&,终端可继续操作)
sleep 100 & # 让系统休眠100秒,后台运行
# 2. 查看后台进程
jobs
# 3. 终止进程(按PID终止,先查PID再终止)
ps aux | grep sleep # 查找sleep进程的PID(假设是1234)
kill 1234 # 正常终止进程
# 4. 强制终止进程(针对卡死的进程)
kill -9 1234
# 5. 后台持久运行进程(关闭终端也不终止)
nohup sleep 300 & # 输出日志保存到nohup.out
避坑提示:不要轻易终止PID为1的进程,这是系统初始化进程,终止会导致系统崩溃。优先终止自己创建的进程(如sleep、自定义脚本)。
实战任务3:管理进程生命周期
bash
# 1. 前台运行一个进程(终端被占用,无法输入其他命令)
sleep 60 # 此时终端卡住,等待60秒或按Ctrl+C终止
# 2. 后台运行进程,记录PID
sleep 1000 &
echo $! # 输出最后一个后台进程的PID(记下来,比如2345)
# 3. 用top监控该进程
top -p 2345 # 只监控PID为2345的进程,按q退出
# 4. 用kill终止进程
kill 2345
# 5. 验证进程是否终止
ps aux | grep 2345 # 无结果则说明已终止
进程生命周期流程图(从启动到终止)

课后练习建议(边练边巩固)
-
文件系统练习:在/home目录创建文件,为其创建硬链接和软链接,移动链接到/tmp目录,验证访问效果,最后删除原文件观察链接状态。
-
磁盘排查练习:用df -h和du -sh命令,找出根目录下占用空间最大的3个目录。
-
进程练习:用nohup后台运行一个脚本(如echo "test" && sleep 500),关闭终端重新登录,用ps aux找到该进程并终止。
-
进阶练习:观察父子进程关系------打开终端(查其PID),在终端中运行ls命令,用ps aux找到ls进程,查看其父PID是否与终端PID一致。
提示:所有命令在Ubuntu、CentOS等主流Linux系统中均可通用,若遇权限问题,在命令前加sudo(如sudo rm -f 文件名),输入用户密码即可执行。
