开发者的Linux入门:你真正会用到的核心命令

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命令行真正强大的原因。

上一篇 Linux for Developers: The Essential Commands You'll Actually Use
下一篇 Bremen Food: Northern German Cuisine and the Fish Market