xxyi

Linux 开发常用命令

2026-05-10

文件与目录操作

   命令                 用途                           示例             
   ls -la          列出所有文件(含隐藏文件)          ls -la /etc  
   cd                切换目录                      cd ~/projects 
   pwd              显示当前路径 
   cp -r             递归复制                      cp -r src/ backup/ 
   mv               移动 / 重命名                  mv old.txt new.txt
   rm -rf          强制删除(⚠️ 慎用)                rm -rf dist/ 
   mkdir -p         递归创建目录                    mkdir -p a/b/c   
   find              查找文件                     find . -name "*.log"

文件内容查看与编辑

cat file.txt           # 查看全部内容
less file.txt          # 分页查看(推荐)
head -n 20 file.txt    # 前 20 行
tail -f app.log        # 实时追踪日志(开发必用)
grep -rn "keyword" .   # 递归搜索关键词
sed -i 's/foo/bar/g'   # 批量替换文本
awk '{print $1}'       # 按列提取数据

进程与系统监控

ps aux | grep node     # 查找进程
kill -9 <PID>          # 强制终止进程
top / htop             # 实时资源监控(htop 更好看)
lsof -i :8080          # 查看占用端口的进程
df -h                  # 磁盘使用情况
free -h                # 内存使用情况
nohup ./app &          # 后台运行程序

网络调试

# 发送 HTTP 请求
curl -X POST https://api.example.com \
  -H "Content-Type: application/json" \
  -d '{"key":"value"}'
 
wget https://example.com/file.zip   # 下载文件
netstat -tlnp                       # 查看监听端口
ss -tlnp                            # 更现代的替代 netstat
ping / traceroute                   # 网络连通性测试
ssh user@host                       # 远程登录
scp file user@host:/path            # 远程传文件

权限与用户

chmod +x script.sh     # 添加可执行权限
chmod 755 file         # 设置具体权限
chown user:group file  # 修改所有者
sudo command           # 以 root 权限执行

软件包管理

apt update && apt upgrade   # 更新系统
apt install <package>       # 安装软件
apt remove <package>        # 卸载软件
dpkg -l | grep <name>       # 查询已安装包

高效搜索

grep -rn "TODO" --include="*.py" .   # 搜索文本内容
find . -name "*.conf" -mtime -7      # 7 天内修改的配置文件
which python3                        # which / whereis: 定位命令位置

管道与重定向

管道:前一个命令的输出传给后一个

cat access.log | grep "ERROR" | wc -l

重定向

./build.sh > build.log 2>&1     # 标准输出 + 错误都写入文件
./app >> app.log 2>&1 &         # 后台运行并追加日志

一些组合

kill -9 $(lsof -t -i:8080)                    # 查谁占了 8080 端口并杀掉
tail -f app.log | grep ERROR                  # 实时看最新错误日志
find . -name "*.py" | xargs wc -l | sort -rn  # 统计代码行数
find . -name "*.sh" -exec chmod +x {} \;      # 批量改文件权限