整理一下平时用得最多的命令,免得每次都要现查。
文件与目录
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 # 翻历史命令
!! # 重复上一条命令
!$ # 上一条命令的最后一个参数
最后两个是提效神器,用熟了能省不少打字。
先记这些,以后遇到新的再补。