
写在前面你为什么必须会 Linux不管你写 Java、Python、Go 还是前端生产环境 90% 以上跑在 Linux 上。不会 Linux 意味着部署项目只能靠运维出问题只会重启面试被问如何查看 CPU 负载直接卡壳别慌Linux 不需要精通只需要够用。本文带你 30 分钟拿下日常高频操作。一、Linux 是什么先搞懂这 3 个核心哲学1.1 一切皆文件在 Linux 眼里硬盘、键盘、进程、网络连接都是以文件形式存在的。/dev/sda→ 硬盘/proc/cpuinfo→ CPU 信息/var/log/syslog→ 系统日志好处是你用操作文件的方式就能操作硬件和系统。1.2 单根目录树Linux 没有 C 盘 D 盘所有路径从/根目录开始text/ # 根目录 ├── bin # 基础命令 ├── etc # 配置文件 ├── home # 用户家目录 ├── var # 日志、缓存 ├── tmp # 临时文件 └── usr # 用户程序1.3 Shell 是你的翻译官你敲的命令 → Shell 翻译 → 内核执行。默认是bash现在流行zsh。二、高频命令实战2.1 文件操作最常用bashls -la # 列出所有文件含隐藏 cd ~/project # 切换目录~ 代表 home pwd # 我目前在哪个路径 mkdir -p a/b/c # 创建多级目录 touch file.txt # 新建空文件 cp -r src dst # 递归复制目录 mv old new # 移动或重命名 rm -rf dir/ # ⚠️ 强制删除极其危险新手必坑rm -rf /是删库跑路神技千万别试2.2 文件查看与搜索bashcat file # 一次性显示全文 less file # 分页查看按 q 退出 head -n 10 file # 看前 10 行 tail -f log.log # 实时追踪日志调试神器 grep error log.log # 搜索关键词 grep -r TODO ./ # 递归搜索当前目录 find / -name *.conf # 按名字找文件2.3 权限管理看懂这 9 位字符drwxr-xr-x拆解第 1 位d目录-文件第 2-4 位用户权限第 5-7 位组权限第 8-10 位其他权限bashchmod 755 script.sh # rwxr-xr-x chmod ux file # 给用户加执行权限 chown user:group file # 修改归属2.4 系统状态运维必会bashps aux # 所有进程 ps -ef | grep java # 找 Java 进程 top # 实时资源按 q 退出 htop # 更漂亮的 top需安装 kill -9 1234 # 强制杀死 PID 1234 df -h # 磁盘使用率 du -sh * # 当前目录各文件夹大小 free -m # 内存单位 MB uptime # 运行了多久负载如何2.5 网络相关bashping baidu.com # 测试网络连通 curl http://localhost:8080 # 发 HTTP 请求 wget http://xxx/file.tar.gz # 下载文件 netstat -tunlp # 查看所有监听端口-t TCP-u UDP-n 数字-l 监听-p 进程 ss -tunlp # 新版 netstat更快三、文本处理三剑客grep / awk / sedgrep搜索bashgrep error app.log | wc -l # 统计错误行数awk切列bashps aux | awk {print $2, $11} # 打印 PID 和命令名sed替换bashsed -i s/old/new/g file.txt # 全局替换-i 直接改文件四、包管理装软件就靠它系统包管理器安装示例Ubuntu/Debianaptapt install nginx -yCentOS/RHELyumyum install nginx -y新版 CentOSdnfdnf install nginx -ybashapt update # 更新软件源 apt upgrade -y # 升级所有软件 apt search nginx # 搜索软件包 apt remove nginx # 卸载五、实战从零部署一个静态网站bash# 1. 更新并安装 Nginx apt update apt install nginx -y # 2. 创建网页 echo h1 我的第一个 Linux 网站/h1 /var/www/html/index.html # 3. 启动服务 systemctl start nginx systemctl enable nginx # 开机自启 # 4. 检查状态 systemctl status nginx # 5. 防火墙放行如有 ufw allow 80 # 6. 访问测试 curl http://localhost # 或在浏览器输入http://你的服务器IPsystemctl 常用命令bashsystemctl start/stop/restart/reload/status/enable/disable 服务名六、遇到问题怎么办现象排查命令磁盘满了df -h找大文件du -sh *CPU 100%top看哪个进程占 CPU端口被占用netstat -tunlp | grep 8080命令找不到which command检查是否安装权限不够前面加sudo或用root用户