免费工具 · 免登录

Shell 命令速查

管服务器最常用的 40 条命令,都在这里。每条都能一键复制, 下面还有 7 个终端动画演示——先看动画里命令是怎么跑的,再照着敲。

小字说明:终端演示为模拟输出,命令是真的,照着敲就行;演示里的 IP、路径都是示例。

文件与目录5 条

pwd

显示当前在哪个目录,敲晕了先敲它

ls -lah

列出文件详情:权限、大小、时间都看得到

cd /var/www

切换到指定目录;回上一个目录用 cd -

mkdir -p /var/www/myapp

建目录,-p 让中间不存在的目录一起建

cp -r old/ new/

复制整个目录;改配置前先备份就靠它

文本查看与搜索5 条

cat Caddyfile

一次性看完小文件的内容

less /var/log/syslog

翻大文件:空格翻页、/ 搜索、q 退出,比 cat 安全

grep -rn "TODO" .

在当前目录所有文件里递归搜 TODO,-n 显示行号

grep -i "error" app.log

忽略大小写搜 error,日志里找报错最常用

tail -n 50 app.log

看文件最后 50 行,日志一般只看尾巴

权限与用户5 条

chmod 600 ~/.ssh/id_ed25519

私钥只能自己读写,否则 SSH 拒绝用它登录

chmod +x deploy.sh

给脚本加上可执行权限,才能 ./deploy.sh 运行

chown -R www-data:www-data /var/www

把网站目录的归属还给运行网站的用户

sudo -i

临时切换到 root,比一直用 root 登录安全

adduser deploy

新建日常用的普通用户,别天天用 root 干活

进程与系统6 条

ps aux | grep node

找出跑着的 node 进程,确认服务真的在跑

kill 812

礼貌地结束进程(812 换成 ps 查到的 PID);不行再 kill -9

top

实时看 CPU 和内存被谁吃了,按 q 退出

df -h

看磁盘还剩多少空间,网站报 500 先看它

free -h

看内存用量,1 核小机器构建失败多半是内存不够

uptime

看机器跑了多久、平均负载,判断卡不卡

网络诊断5 条

curl -I https://example.com

只取 HTTP 响应头,确认网站通没通、返回码对不对

ping -c 4 8.8.8.8

测网络通不通,-c 4 表示打 4 个包就停

ss -tlnp

看哪些端口在监听,服务到底起没起来一眼看出来

curl ifconfig.me

查这台机器的公网 IP,配 DNS 时要用

dig example.com +short

查域名解析到了哪个 IP,DNS 生效没生效

压缩与解压4 条

tar -czvf backup.tar.gz /var/www

把网站目录打包压缩,备份就这一句

tar -xzvf backup.tar.gz

解开上面的备份包,恢复时用它

zip -r site.zip .

打成 zip 包,发给别人或下载到本地方便

unzip site.zip -d /tmp/restore

把 zip 解到指定目录,不污染当前目录

软件包管理5 条

apt update && apt upgrade -y

Ubuntu 更新软件列表并升级,服务器到手第一件事

apt install -y curl git htop

装常用工具,-y 跳过安装确认

node -v && npm -v

确认 node 装好没、版本对不对

which node

看 node 到底装在哪,版本混乱时先查它

timedatectl set-timezone Asia/Shanghai

把时区设成上海,日志时间才对得上

日志排查5 条

systemctl status nginx

服务挂了先看它:active 还是 failed

journalctl -u nginx --no-pager -n 50

看 nginx 最近 50 行日志,找报错

journalctl -f -u myapp

实时追一个服务的日志,Ctrl+C 退出

tail -n 100 -f /var/log/nginx/error.log

实时追 nginx 报错日志,502 先看这里

dmesg | tail -n 30

看内核日志,进程被系统杀掉(OOM)来这里找证据

终端动画演示

选了 7 个最值得看的命令。滑到它们会自动播放:先看命令怎么敲, 再看输出长什么样,最后看"看这里"讲该盯哪一列。看完直接去上面复制命令用。

ls -lah:看文件详情

root@vps:~#

👀 看这里:第一列是权限(d 开头的是目录),第五列是文件大小。-h 让它显示成 K、M 这种人能看懂的单位;注意 id_ed25519 那行是 -rw-------,只有自己能读写——SSH 钥匙就该这样。

df -h:看磁盘空间

root@vps:~#

👀 看这里:重点看 Use% 那一列。超过 80% 就该清日志、清缓存了;到 100% 网站会直接报 500,先 df -h 再动手。

ps aux | grep node:找进程

root@vps:~#

👀 看这里:第二列 812 就是进程 ID,服务卡死了就 kill 812。最后一行是 grep 命令自己,不用管它。

tail -f:实时追日志

root@vps:~#

👀 看这里:-f 会一直等着,有新日志就往下滚——上面就是模拟的滚动效果。定位问题时单独开一个窗口追着看,按 Ctrl+C 退出。

curl -I:看网站通没通

root@vps:~#

👀 看这里:只看第一行——200 就是通了;301/302 是跳转,404 是没这个页面,502 多半是后面的服务没起来。

chmod 600:修 SSH 钥匙权限

root@vps:~#
root@vps:~#

👀 看这里:chmod 成功时没有任何输出——没消息就是好消息。下面再验证一下:

👀 看这里:权限变成 -rw-------,只有自己能读写,SSH 才认这把钥匙。如果是 -rw-r--r--,登录会被拒绝。

systemctl status:看服务活没活

root@vps:~#

👀 看这里:只看 Active 这一行——active (running) 是活着,failed 就是挂了。挂了别急着重启,先往下翻日志看它为什么挂。

想系统学?博客里有配套实战:《VPS 到手先做这 10 件事》《Caddy 反代:5 分钟给网站加上 HTTPS》《systemd 守护进程:服务挂了自己重启》——去博客看看 →

Shell 命令速查 · 免费 · EazyOPC