# ===== CodeLab: Linux 常用命令速查 =====
# 来源: https://aoerliang.dpdns.org/articles/tool-linux
# 以下代码片段按文章出现顺序拼接, 共 6 段

# ----- 片段 1 (bash) -----
pwd            # 打印当前目录
ls -lh         # 带大小、易读格式列出文件
cd /var/log    # 进入目录
mkdir -p a/b/c # 递归创建目录
cp -r src dst  # 复制目录
mv old new     # 移动 / 重命名
rm -rf tmp/    # 删除目录(慎用!)

# ----- 片段 2 (bash) -----
# 实时查看应用日志,过滤出报错行
tail -f app.log | grep -i "error"

# ----- 片段 3 (bash) -----
chmod 755 script.sh   # 所有者可读写执行,其他人只读执行
chown -R app:app /data # 递归修改所有者和组
sudo -i               # 切换到 root
whoami                # 我是谁

# ----- 片段 4 (bash) -----
ps aux | grep nginx   # 查找 nginx 进程
kill -9 12345         # 强制结束进程(先试 kill 12345)
top                   # 实时查看 CPU / 内存
free -h               # 内存使用情况
df -h                 # 磁盘空间

# ----- 片段 5 (bash) -----
ping -c 4 example.com  # 测试连通性
curl -I https://x.com   # 只看响应头
ssh user@server         # 远程登录
scp file.txt user@server:/tmp/  # 复制文件到远程
tar -czf backup.tar.gz ./data   # 打包压缩

# ----- 片段 6 (bash) -----
# 统计日志里出现最多的 IP 前 5 名
cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -5

# 把命令输出保存到文件(追加用 >>)
echo "done" > result.txt
