搞了几年运维,以下5个命令是我实际敲过的、真的省了大把时间的,不是什么「冷知识」——冷知识的意思是知道但从来不用。
1. ncdu — 磁盘空间可视化
du -sh 能告诉你一个目录多大,但不会告诉你哪个子目录最大。ncdu是个交互式的磁盘使用分析器,跑一遍ncdu /var,它给你一个可以上下翻的列表,按大小排序,按回车进子目录。找那些莫名其妙吃满磁盘的文件,从半小时缩到30秒。
Ubuntu/Debian安装:apt install ncdu。CentOS:yum install ncdu。
2. jq — JSON处理神器
服务端调API拿到的JSON经常一坨堆在终端里。用jq可以格式化、过滤、提取。比如API返回了一堆用户数据,你只想看id和name:curl api.example.com/users | jq '.users[] | {id, name}'。
更实用的场景是处理日志文件里的JSON行。假设你的应用日志是JSON格式,一行一个对象:cat app.log | jq 'select(.level=="error") | .message',瞬间筛出所有错误信息。
3. tmux — 终端会话管理器
通过SSH连上服务器跑长任务,网络一断任务就挂了——tmux解决的就是这个问题。tmux会在服务器上维护一个独立的终端会话,你的SSH断了也没事,重连后tmux attach恢复。
我现在的习惯是:连上服务器第一件事就是tmux。所有的编译、迁移、部署全在里面跑。跑了几年没翻过车。
4. rsync — 比scp聪明的文件同步
往服务器传文件用scp,但如果要同步一个目录(有新文件、有修改过的文件),scp会重新传全部。rsync只传差异部分,而且支持断点续传。
我最常用的命令:rsync -avz --progress /local/dir/ user@server:/remote/dir/。末尾的斜杠很重要——有斜杠代表同步目录内容,没斜杠代表同步目录本身。
5. htop — 比top好看一百倍的进程管理器
top的升级版。彩色显示CPU、内存、进程树,支持鼠标点击、F键排序。装一个:apt install htop。以后不用top了。
还木有评论哦,快来抢沙发吧~