Linux命令行能力是软件开发者杠杆率最高的技能之一——大多数服务器运行Linux,容器运行Linux,重要的工具(git、Docker、ssh、make)在Unix环境中工作最佳。以下是你真正需要的内容。
文件操作
ls -la # 列出所有文件包括隐藏文件和权限
find . -name "*.py" # 递归按模式查找文件
grep -r "function" . # 递归搜索内容
cp -r src/ dst/ # 递归复制
mv file.txt dir/ # 移动或重命名
rm -rf directory/ # 递归删除(不可逆——小心操作)
cat file.txt # 打印文件内容
less file.txt # 分页浏览大文件(q退出)
进程管理
ps aux | grep python # 按名称查找进程
kill -9 PID # 强制终止指定PID的进程
top / htop # 实时进程监控(htop更好)
nohup ./script.sh & # 在后台运行,注销后继续运行
systemctl status nginx # 检查服务状态
journalctl -f # 跟踪系统日志
网络
curl -I https://example.com # 检查HTTP响应头
wget https://example.com/file.tar.gz # 下载文件
ssh user@host -p 2222 # 使用自定义端口SSH连接
scp file.txt user@host:/tmp/ # 复制文件到远程
netstat -tlnp | grep :8080 # 检查端口占用
ss -tlnp # netstat的现代替代品
文本处理
awk '{print $2}' file.txt # 打印第二列
sed 's/old/new/g' file.txt # 文件输出中的查找替换
sort -u file.txt # 排序和去重
wc -l file.txt # 统计行数
head -20 file.txt / tail -20 file.txt # 前/后20行
jq '.data[]' file.json # 处理JSON(需单独安装)
最重要的三个命令
首先学习这些:man command(阅读任何命令的手册)、ctrl+r(反向搜索命令历史),以及|(将一个命令的输出管道到另一个命令的输入)。用管道链接命令是使Unix命令行真正强大的原因。




