整理一下平时用得最多的命令,免得每次都要现查。

文件与目录

ls -lah              # 看文件,带大小和权限
cd /var/www          # 进目录
pwd                  # 当前路径
du -sh *             # 当前目录下每个东西占多大
df -h                # 磁盘使用情况

du -sh * 配合 sort 找大文件很好用:

du -sh * | sort -rh | head -10

查找

grep -rn "关键词" /etc/nginx    # 递归搜索并显示行号
find /var/log -name "*.log" -mtime -7   # 7 天内修改过的日志

grep -r 比 find | xargs grep 好记,日常够用。

进程与服务

ps aux | grep nginx
systemctl status nginx
systemctl restart nginx
journalctl -u nginx -n 50 --no-pager

journalctl -f 可以实时看日志,排查问题时很有用。

端口

ss -lntp | grep 80

比 netstat 快,而且 -p 能直接看到进程名。

压缩与传输

tar -czf backup.tar.gz /path/to/dir     # 打包压缩
tar -xzf backup.tar.gz                  # 解压
scp file.tar.gz root@1.2.3.4:/root/     # 传到服务器

内存与负载

free -h
uptime
top

free -h 重点看 available 而不是 free,因为 buff/cache 是可以回收的。

几个容易忘的

ctr           # 其实没有这个,别记混
history | grep ssh      # 翻历史命令
!!                      # 重复上一条命令
!$                      # 上一条命令的最后一个参数

最后两个是提效神器,用熟了能省不少打字。


先记这些,以后遇到新的再补。