1. Linux基础指令入门:为什么每个技术人都该掌握?
十五年前我刚接触Linux时,面对黑底白字的终端窗口完全不知所措。如今作为运维工程师,每天有80%的工作都在终端完成。Linux指令就像数字世界的瑞士军刀——看似简单,却能解决各种复杂问题。无论你是开发、测试还是运维,掌握这些基础指令都能极大提升效率。
新手常犯的错误是试图一次性记住所有指令。实际上,掌握20%的核心指令就能应对80%的日常需求。本文将重点讲解这些高频指令,并通过真实工作场景演示它们的组合用法。你会发现,即使是ls这样简单的命令,配合参数也能玩出花样。
提示:所有示例基于Ubuntu 22.04 LTS,但原理适用于大多数Linux发行版。建议边读边打开终端实操。
2. 文件操作:从ls到grep的生存技能
2.1 查看与导航:ls、pwd、cd
ls -lht /var/log这个命令组合值得拆解:
-l以长格式显示(包含权限、所有者等信息)-h将文件大小转为易读格式(如K/M/G)-t按修改时间排序- 路径
/var/log指定查看系统日志目录
我常用ls -lht --color=auto,--color=auto参数会让目录、可执行文件等显示不同颜色,快速识别文件类型。要永久生效,可在~/.bashrc添加alias ls='ls --color=auto'。
cd -是个神奇的命令——快速返回上一个工作目录。比如:
cd /var/log # 进入日志目录 cd /etc # 切换到配置目录 cd - # 立即返回/var/log2.2 文件操作:cp、mv、rm的防坑指南
复制文件夹时务必加-r参数:
cp -r ~/projects /backup # 递归复制整个目录rm命令的危险性众所周知。建议新手先配置安全删除:
alias rm='rm -i' # 删除前询问确认更安全的做法是使用trash-cli:
sudo apt install trash-cli trash-put file.txt # 文件会进入回收站2.3 内容查看与搜索:cat、less、grep
查看大文件首选less:
less /var/log/syslog # 支持上下翻页、搜索(/关键词)grep的经典组合:
grep -rin "error" /var/log/ # -r递归 -i忽略大小写 -n显示行号统计日志中错误出现的次数:
grep -ic "error" /var/log/syslog3. 系统管理:权限、进程与网络
3.1 权限管理:chmod与chown
Linux权限系统常让新手困惑。记住这个数字对应关系:
- 4 = 读(r)
- 2 = 写(w)
- 1 = 执行(x)
所以chmod 755 script.sh表示:
- 所有者:7=4+2+1 (rwx)
- 组用户:5=4+1 (r-x)
- 其他用户:5=4+1 (r-x)
修改文件所有者:
sudo chown user:group file.txt3.2 进程管理:ps、top、kill
查看进程的黄金组合:
ps aux | grep nginx # 查看nginx进程top运行时按这些键:
M:按内存使用排序P:按CPU使用排序1:显示所有CPU核心负载
优雅停止进程:
kill -15 PID # 发送SIGTERM,允许进程清理资源 kill -9 PID # 强制终止(最后手段)3.3 网络诊断:ping、netstat、ss
检查端口监听情况:
ss -tulnp | grep 80 # 比netstat更高效curl的高级用法:
curl -sI https://example.com | grep "HTTP" # 只显示HTTP状态码4. 高效工作流:管道与脚本
4.1 管道(|)的魔法
统计当前目录下文件数量:
ls | wc -l查找并批量修改文件:
grep -l "old_text" *.txt | xargs sed -i 's/old_text/new_text/g'4.2 基础Shell脚本
一个实用的备份脚本:
#!/bin/bash # 简单备份脚本 BACKUP_DIR="/backup/$(date +%Y%m%d)" mkdir -p $BACKUP_DIR cp -r /path/to/important/files $BACKUP_DIR echo "备份完成到 $BACKUP_DIR"给脚本添加执行权限:
chmod +x backup.sh5. 常见问题排查手册
5.1 "Permission denied"错误
检查流程:
ls -l查看文件权限groups确认自己所属用户组- 是否需要
sudo?
5.2 磁盘空间不足
快速定位大文件:
du -h --max-depth=1 / | sort -h5.3 服务启动失败
查看日志的标准姿势:
journalctl -u nginx --since "1 hour ago" # systemd系统6. 进阶学习路径
掌握基础指令后,建议按这个顺序深入:
- 正则表达式(
grep -E、sed) - 文本处理三剑客(
awk、sed、grep) - 系统性能分析(
vmstat、iostat) - 自动化工具(
cron、systemd)
我个人的经验是:每天刻意练习2-3个命令的组合用法,一个月后你会发现自己已经能流畅地在终端工作。记住,遇到问题先man 命令名查看手册,这比盲目搜索更高效。