Command Line Reference

CLI Cheat Sheet

日常终端操作速查:路径、文件、搜索、管道、权限、压缩、远程传输、磁盘与进程排查。偏实用命令,适合 Linux、macOS 和常见服务器环境。

$ pwd
/home/ubuntu/fileserver
$ rg "TODO" www api
$ tar -czf backup.tgz www api
$ scp backup.tgz host:/tmp/

基础与路径

navigation / shell
目录导航 pwd / cd / ls
pwd                         # 当前目录
cd /path/to/dir             # 进入目录
cd ~                        # 回到 HOME
cd -                        # 回到上一次目录
cd ..                       # 上级目录

ls                          # 列出文件
ls -la                      # 详细列表,含隐藏文件
ls -lh                      # 人类可读大小
ls -lt                      # 按修改时间排序
ls -lS                      # 按大小排序
tree -L 2                   # 树形显示,两层深度
路径、通配符、引用 glob / quote
.                           # 当前目录
..                          # 上级目录
~                           # 当前用户 HOME
*                           # 任意长度字符
*.log                       # 所有 .log 文件
file?.txt                   # file1.txt / fileA.txt
[abc].txt                   # a.txt / b.txt / c.txt

echo "$HOME"                # 展开变量
echo '$HOME'                # 原样输出
printf '%s\n' *.html        # 安全列出匹配项

文件与目录操作

create / copy / move / remove
创建、复制、移动 touch / mkdir / cp / mv
touch file.txt              # 创建空文件或更新时间
mkdir logs                  # 创建目录
mkdir -p a/b/c              # 创建多层目录

cp source.txt backup.txt    # 复制文件
cp -r src/ dst/             # 复制目录
cp -a src/ dst/             # 归档复制,保留权限/时间

mv old.txt new.txt          # 重命名
mv *.log logs/              # 移动匹配文件
rsync -av src/ dst/         # 增量同步目录内容
删除与清理 rm / find
rm file.txt                 # 删除文件
rm -i file.txt              # 删除前确认
rmdir empty_dir             # 删除空目录
rm -r old_dir/              # 删除目录

find . -name "*.tmp" -print # 先预览匹配项
find . -name "*.tmp" -delete
find . -type f -mtime +30 -print
find . -type f -size +100M -print
删除前先用 find ... -printls 预览目标;跨目录批量删除不要直接从 rm -rf 开始。

查看文件内容

read / compare / count
阅读文本 cat / less / tail
cat file.txt
cat -n file.txt             # 显示行号
less file.txt               # 分页查看
head -n 20 file.txt         # 前 20 行
tail -n 50 file.log         # 后 50 行
tail -f app.log             # 实时追踪日志
文件信息 file / stat / wc
file data.bin               # 判断文件类型
stat file.txt               # 文件元数据
wc -l file.txt              # 行数
wc -w file.txt              # 单词数
wc -c file.txt              # 字节数
du -sh dir/                 # 目录总大小
du -h --max-depth=1 .       # 一级目录大小
比较差异 diff / cmp
diff old.txt new.txt
diff -u old.txt new.txt     # unified diff
cmp file1.bin file2.bin     # 二进制比较
comm -12 a.txt b.txt        # 两个有序文件交集
sort file.txt | uniq -c     # 统计重复行

管道、重定向与文本处理

pipe / redirect / transform
组合命令 | / > / xargs
command > out.txt            # 覆盖写入
command >> out.txt           # 追加写入
command 2> err.txt           # 错误输出
command > all.log 2>&1       # 标准输出和错误

cat access.log | wc -l
rg -l "TODO" | xargs wc -l
printf '%s\n' *.log | xargs -n1 gzip
文本整理 sort / sed / awk / jq
sort names.txt
sort names.txt | uniq
sort names.txt | uniq -c | sort -nr

sed 's/old/new/g' file.txt
sed -n '10,30p' file.txt
awk '{print $1, $3}' data.txt

jq . data.json
jq '.items[].name' data.json

权限与所有者

chmod / chown / sudo
权限速查 rwx
模式含义
r读,数字值 4
w写,数字值 2
x执行,数字值 1
755所有者 rwx,组/其他 rx
644所有者 rw,组/其他 r
600仅所有者可读写,常用于私钥
常用命令 chmod / chown
chmod 755 script.sh
chmod +x script.sh
chmod -R 755 public/
chmod 600 ~/.ssh/id_rsa

chown user:group file.txt
chown -R www-data:www-data /var/www

sudo command
sudo -u www-data command

压缩、校验与备份

tar / zip / checksum
tar .tar.gz
tar -czf backup.tgz dir/
tar -xzf backup.tgz
tar -tzf backup.tgz         # 查看内容
tar -czf site.tgz www api docker-compose.yml
zip .zip
zip -r archive.zip dir/
unzip archive.zip
unzip -l archive.zip        # 查看内容
zip -r archive.zip dir/ -x "*.DS_Store"
校验 hash
sha256sum file.iso
sha256sum -c checksums.txt
md5sum file.bin

openssl dgst -sha256 file.zip

远程登录与传输

ssh / scp / rsync / curl
SSH 与文件传输 remote
ssh user@host
ssh -i key.pem user@host
ssh host 'uptime; df -h'

scp local.txt host:/tmp/
scp host:/var/log/app.log .
scp -r www/ host:/home/user/www/

rsync -avz www/ host:/srv/www/
rsync -avz --delete www/ host:/srv/www/
下载与请求 curl / wget
curl -I https://example.com
curl -L -o file.zip https://example.com/file.zip
curl -sS https://api.example.com/data.json
curl -X POST -H 'Content-Type: application/json' \
  -d '{"name":"test"}' https://example.com/api

wget https://example.com/file.zip
wget -r -np https://example.com/docs/

系统排查

disk / process / network / logs
磁盘、进程、端口 ops
df -h                       # 文件系统容量
du -sh *                    # 当前目录各项大小
free -h                     # 内存
uptime                      # 负载

ps aux | grep nginx
top                         # 实时进程
htop                        # 更友好的 top
kill PID
kill -9 PID                 # 强制结束

ss -tulpen                  # 监听端口
lsof -i :8080               # 查看端口占用
服务与日志 systemd
systemctl status nginx
systemctl restart nginx
systemctl enable nginx
systemctl --failed

journalctl -u nginx -n 100 --no-pager
journalctl -u nginx -f
journalctl -p 3 -b          # 本次启动的错误日志

docker ps
docker logs --tail 100 nginx
docker compose ps
docker compose restart