Linux 操作系统入门:从 0 到能敲命令、写脚本、搭环境(超详细 | 附实验)
摘要
写给完全没摸过 Linux 的小白:5 分钟完成安装 → 30 分钟掌握 20 个高频命令 → 1 小时写出第一个 Shell 脚本 → 顺手搭一个 Python/Java/C 开发环境。所有命令均亲自踩坑验证,提供 VMware/双系统/WSL 三种安装方案,文末附高清思维导图 + 一键配置脚本。
目录
一、为什么学 Linux?
1. 后端/运维/测试/嵌入式岗位 JD 里 90% 写“熟悉 Linux”。
2. 生产环境 90% 以上是 Linux,Windows 只占办公机。
3. 云原生、K8s、Docker、CI/CD 全部跑在 Linux 上。
一句话:不会 Linux,等于少 50% 的 offer。
二、3 种0成本安装方案(选1即可)
方案 优点 缺点 适合人群
WSL2 5 分钟装好,文件互通 不支持桌面特效 前端、算法、学生
虚拟机 快照、挂起、随便折腾 吃内存 4 GB+ 想体验完整桌面
双系统 性能 100%,可休眠 分区有风险 想长期主力机
WSL2 极速安装(推荐)
管理员 PowerShell 执行:
wsl --install -d Ubuntu-22.04
装完重启,设置用户名密码,换清华源:
sudo sed -i 's@http://.*.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list
sudo apt update && sudo apt upgrade -y
三、20 个必会高频命令(当天就能用)
ls -alh 看权限、大小
cd - 在两个目录来回跳
cp -r 递归拷目录
mv 重命名
rm -rf 删库跑路(慎用)
grep -R 递归搜字符串
find 按名字找文件
cat/less/tail 看日志
chmod +x 给脚本可执行权限
chown 改属主
ps aux | grep 查进程
top/htop 看 CPU 内存
kill -9 强杀进程
df -h 看磁盘剩余
du -sh * 看目录大小
tar -czf 打包压缩
wget/curl 下载
ssh 远程登录
scp 远程拷文件
history | grep 搜历史命令
小练习:
1. 在 /tmp 创建目录 demo,进去后新建 a.txt 并写入 hello linux。
2. 用一行命令把 demo 打包成 demo.tar.gz 并拷回家目录。
四、Shell 脚本:自动备份 MySQL 并上传 OSS
脚本功能:每天 02:30 备份所有库 → 压缩 → 传阿里云 OSS → 本地保留 7 天。
保存为 /home/yourname/backup.sh,记得 chmod +x。
#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR="/backup/mysql"
OSS_BUCKET="your-bucket"
ACCESS_KEY="LTAI*****"
SECRET_KEY="*****"
mkdir -p "$BACKUP_DIR"
mysqldump -uroot -p'YourPass' --all-databases | gzip > "$BACKUP_DIR/all-$DATE.sql.gz"
/usr/local/bin/ossutil cp "$BACKUP_DIR/all-$DATE.sql.gz" oss://$OSS_BUCKET/mysql/
find "$BACKUP_DIR" -name "*.gz" -mtime +7 -delete
加入定时任务:
crontab -e
30 2 * * * /home/yourname/backup.sh >> /var/log/mysql_backup.log 2>&1
五、搭一个开发环境(以 Python/Java/C 为例)
Python 隔离环境:
sudo apt install python3-pip python3-venv -y
python3 -m venv ~/.venvs/flask
source ~/.venvs/flask/bin/activate
pip install flask gunicorn -i https://pypi.tuna.tsinghua.edu.cn/simple
Java 17:
sudo apt install openjdk-17-jdk -y
echo "export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> ~/.bashrc
source ~/.bashrc
C/C++ & Makefile:
sudo apt install build-essential gdb cmake -y
main.c 示例:
#include <stdio.h>
int main(){
printf("Hello, Linux C!\n");
return 0;
}
Makefile:
CC=gcc
CFLAGS=-Wall -g
hello: main.c
$(CC) $(CFLAGS) -o hello main.c
clean:
rm -f hello
一键编译:make && ./hello
六、一键初始化脚本(新机器 3 分钟搞定)
保存为 init_dev.sh,放到 GitHub,新机器直接 wget 下来跑:
#!/bin/bash
set -e
sudo sed -i 's@http://.*.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list
sudo apt update && sudo apt upgrade -y
sudo apt install -y git vim htop tree curl wget unzip zip build-essential
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
sudo usermod -aG docker $USER
sudo apt install -y python3-pip python3-venv
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
echo "请重新登录以使 Docker 用户组生效!"
运行:
wget https://raw.githubusercontent.com/yourname/dotfiles/main/init_dev.sh
chmod +x init_dev.sh && ./init_dev.sh
七、学习路线 & 资源(亲测不踩坑)
入门:本文 + 《鸟哥Linux私房菜》前 10 章
进阶:《Linux就该这么学》+ RHCSA 真题
高级:Brendan Gregg《性能之巅》+ BCC 工具集
实战:Docker/K8s 官方文档 + 极客时间《深入剖析Kubernetes》
八、文末彩蛋:我的踩坑日记
1. 不要把 rm -rf / 写到脚本里,就算加了判断也会手抖。
2. 不要把 sudo 写到定时任务里,直接用 root 身份跑。
3. 不要给脚本起名 test,会和 Shell 内置命令冲突。
4. 不要在生产机用 set -x 调试,日志会爆炸。

九、一键三连 & 评论区
如果这篇笔记帮你省下 3 天踩坑时间,记得
👍 点赞 + ⭐ 收藏 + 💬 评论区打卡“Linux 我来了”。
有问题直接抛评论区,我 24h 内必回,一起变强!
更多推荐




所有评论(0)