刚买了一台便宜VPS,连上SSH之后却不知道该输入什么命令?别慌,这篇文章整理了VPS日常运维中最常用的Linux命令,从文件操作到系统监控,从网络调试到进程管理,覆盖你90%的使用场景。

前言

很多新手拿到VPS后的第一反应是"然后呢?"——SSH连上了,光标在闪,却不知道下一步干什么。其实Linux命令没有想象中那么难,常用的也就几十个。本文按场景分类,帮你快速上手。建议收藏本文,遇到问题随时查阅。

一、文件与目录操作

这是最基础的操作,cd、ls、mkdir 之类的命令每天都会用到。

1. 查看当前路径

pwd

2. 列出文件

ls              # 简单列表
ls -la          # 详细列表,包含隐藏文件
ls -lh          # 文件大小显示为 KB/MB/GB

3. 切换目录

cd /etc         # 进入 /etc 目录
cd ~            # 回到用户主目录
cd ..           # 返回上一级
cd -            # 回到上一次所在的目录

4. 创建目录

mkdir mydir              # 创建单个目录
mkdir -p a/b/c           # 递归创建多层目录

5. 创建文件

touch file.txt           # 创建空文件,或更新文件时间戳

6. 复制、移动、删除

cp file.txt backup.txt           # 复制文件
cp -r mydir mydir_backup         # 复制目录(-r 递归)
mv old.txt new.txt               # 重命名
mv file.txt /tmp/                # 移动文件
rm file.txt                      # 删除文件
rm -rf mydir                     # 强制删除目录(慎用!)

7. 查看文件内容

cat file.txt             # 一次性输出全部内容
less file.txt            # 分页查看,按 q 退出
head -20 file.txt        # 查看前20行
tail -20 file.txt        # 查看后20行
tail -f /var/log/syslog  # 实时追踪日志(按 Ctrl+C 退出)

8. 搜索文件

find / -name "*.log"             # 按文件名搜索
find /var -size +100M            # 查找大于100MB的文件
find /tmp -mtime +7 -delete      # 删除7天前的临时文件

9. 搜索文件内容

grep "error" /var/log/syslog           # 搜索包含 error 的行
grep -r "password" /etc/               # 递归搜索目录
grep -i "warning" file.txt             # 忽略大小写
grep -c "404" access.log               # 统计匹配行数

二、系统信息与监控

连上VPS后,第一件事通常是看看这台机器的配置和运行状态。

10. 系统基本信息

uname -a               # 内核版本
cat /etc/os-release     # 发行版信息
hostname               # 主机名
uptime                 # 运行时间和负载

11. CPU 与内存

top                    # 实时进程监控(按 q 退出)
htop                   # 更好用的进程监控(需安装)
free -h                # 内存使用情况
nproc                  # CPU核心数
cat /proc/cpuinfo      # CPU详细信息

12. 磁盘空间

df -h                  # 磁盘使用情况
du -sh /var/log        # 查看目录大小
du -sh /* 2>/dev/null  # 查看根目录下各目录大小
ncdu /                 # 交互式磁盘分析(需安装)

13. 查看网络连接

ss -tulnp              # 查看监听端口
ss -s                  # 连接统计
curl ifconfig.me       # 查看公网IP

三、用户与权限

VPS安全管理的基础,尤其是权限设置不能马虎。

14. 用户管理

whoami                 # 当前用户
id                     # 当前用户的 UID/GID
adduser newuser        # 添加用户
passwd newuser         # 设置密码
usermod -aG sudo newuser   # 将用户加入 sudo 组
deluser olduser        # 删除用户

15. 文件权限

chmod 755 script.sh            # 设置权限(rwxr-xr-x)
chmod 600 id_rsa               # 私钥只允许所有者读写
chmod -R 644 /var/www/html     # 递归设置权限
chown www-data:www-data file   # 修改文件所有者

权限数字对照:r=4, w=2, x=1。755 表示所有者可读写执行,其他人可读和执行。

四、软件包管理

不同发行版用不同的包管理器,记住你VPS用的是哪个。

16. Debian/Ubuntu (apt)

apt update                     # 更新软件源
apt upgrade -y                 # 升级所有软件包
apt install nginx              # 安装软件
apt remove nginx               # 卸载软件
apt autoremove                 # 清理不需要的依赖
apt search keyword             # 搜索软件包
dpkg -l | grep nginx           # 查看已安装的包

17. CentOS/RHEL (yum/dnf)

yum update                     # 更新所有软件包
yum install nginx              # 安装软件
yum remove nginx               # 卸载软件
yum search keyword             # 搜索软件包
rpm -qa | grep nginx           # 查看已安装的包

五、进程管理

程序卡死了?CPU飙高了?这些命令帮你排查。

18. 查看进程

ps aux                         # 查看所有进程
ps aux | grep nginx            # 过滤特定进程
pidof nginx                    # 获取进程PID

19. 管理进程

kill PID                       # 正常终止进程
kill -9 PID                    # 强制杀死进程
killall nginx                  # 按名称杀死进程
pkill -f "python app.py"       # 按命令行匹配杀死进程

20. 后台运行

nohup ./script.sh &            # 后台运行,退出SSH不会中断
screen -S mysession            # 创建 screen 会话
screen -r mysession            # 恢复会话
screen -ls                     # 列出所有会话

如果需要更可靠的后台服务管理,推荐安装1Panel面板或使用 systemd。

六、网络工具

VPS网络出问题了怎么排查?这些命令是必备的。

21. 网络连通性

ping google.com                # 测试连通性
ping -c 5 google.com           # 只 ping 5 次

22. DNS 查询

nslookup example.com           # DNS解析
dig example.com                # 更详细的DNS查询
dig +short example.com         # 只返回IP

23. 路由追踪

traceroute example.com         # 追踪路由路径
mtr example.com                # 实时路由追踪(更好用)

24. 端口测试

nc -zv example.com 443         # 测试端口是否开放
curl -I https://example.com    # 测试HTTP连接
wget https://example.com/file  # 下载文件

25. 防火墙 (UFW)

ufw status                     # 查看防火墙状态
ufw allow 22                   # 放行SSH端口
ufw allow 80/tcp               # 放行HTTP
ufw allow 443/tcp              # 放行HTTPS
ufw enable                     # 启用防火墙
ufw delete allow 80/tcp        # 删除规则

七、压缩与解压

下载的备份文件、源码包,经常需要解压。

26. tar 命令

tar -czf archive.tar.gz mydir          # 打包并压缩
tar -xzf archive.tar.gz                # 解压 .tar.gz
tar -xjf archive.tar.bz2               # 解压 .tar.bz2
tar -xf archive.tar                     # 解压 .tar

27. zip/unzip

zip -r archive.zip mydir       # 压缩为 zip
unzip archive.zip              # 解压 zip
unzip archive.zip -d /tmp/     # 解压到指定目录

八、服务管理 (systemd)

现代Linux发行版都用 systemd 管理服务,这套命令必须会。

28. 服务操作

systemctl start nginx          # 启动服务
systemctl stop nginx           # 停止服务
systemctl restart nginx        # 重启服务
systemctl reload nginx         # 重新加载配置
systemctl status nginx         # 查看服务状态
systemctl enable nginx         # 设置开机自启
systemctl disable nginx        # 取消开机自启

29. 查看日志

journalctl -u nginx            # 查看服务日志
journalctl -u nginx -f         # 实时追踪日志
journalctl -u nginx --since "1 hour ago"   # 查看最近1小时的日志

九、文本处理

日志分析、配置文件编辑经常用到的文本处理命令。

30. 文本编辑器

nano file.txt                  # 简单易用的编辑器
vim file.txt                   # 功能强大的编辑器(学习曲线陡)

31. 文本处理

wc -l file.txt                 # 统计行数
sort file.txt                  # 排序
uniq -c file.txt               # 去重并计数
awk '{print $1}' access.log    # 提取第一列
sed 's/old/new/g' file.txt     # 替换文本
cut -d: -f1 /etc/passwd        # 按分隔符提取字段

32. 管道与重定向

command > file.txt              # 输出写入文件(覆盖)
command >> file.txt             # 输出追加到文件
command 2>&1                    # 错误输出合并到标准输出
command | grep "error"          # 管道:将输出作为下一个命令的输入

十、SSH 相关

远程连接VPS的基本操作。

33. SSH 连接

ssh [email protected]         # 基本连接
ssh -p 2222 user@host          # 指定端口
ssh -i ~/.ssh/id_rsa user@host # 使用密钥文件

34. 文件传输 (SCP)

scp file.txt user@host:/tmp/                  # 上传文件
scp user@host:/tmp/file.txt ./                # 下载文件
scp -r mydir user@host:/tmp/                  # 上传目录
rsync -avz mydir user@host:/backup/           # 同步目录(增量传输,更高效)

35. SSH 密钥管理

ssh-keygen -t ed25519                    # 生成密钥对
ssh-copy-id user@host                    # 将公钥复制到远程服务器
cat ~/.ssh/id_ed25519.pub                # 查看公钥

十一、定时任务

自动化运维的基础,定时备份、定时清理都要用到。

36. crontab

crontab -e                     # 编辑定时任务
crontab -l                     # 查看定时任务

Cron 表达式格式:分 时 日 月 周 命令

# 每天凌晨3点备份数据库
0 3 * * * /root/backup.sh

# 每小时检查一次磁盘空间
0 * * * * df -h | mail -s "Disk Report" [email protected]

# 每周日凌晨清理日志
0 0 * * 0 find /var/log -name "*.log" -mtime +30 -delete

十二、Docker 基础

现在大多数VPS应用都用Docker部署,这几个命令是基础中的基础。完整的Docker安装教程看这篇

37. Docker 操作

docker ps                              # 查看运行中的容器
docker ps -a                           # 查看所有容器
docker images                          # 查看镜像
docker pull nginx                      # 拉取镜像
docker run -d -p 80:80 nginx           # 后台运行容器
docker stop container_id               # 停止容器
docker rm container_id                 # 删除容器
docker rmi image_id                    # 删除镜像
docker logs container_id               # 查看容器日志
docker exec -it container_id bash      # 进入容器

38. Docker Compose

docker compose up -d                   # 启动服务
docker compose down                    # 停止并删除服务
docker compose logs -f                 # 查看日志
docker compose restart                 # 重启服务
docker compose pull                    # 更新镜像

十三、VPS性能测试

拿到一台新VPS,跑个分看看性能是基本操作。推荐看VPS跑分教程了解完整的测试方法。

39. 快速测试

# 一键综合测试脚本
curl -Lso- bench.sh | bash

# 简单的CPU测试
dd if=/dev/zero bs=1M count=1024 | md5sum

# 磁盘IO测试
dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync

# 下载速度测试
wget -O /dev/null http://cachefly.cachefly.net/100mb.test

安装Glances可以实时监控VPS的CPU、内存、磁盘和网络。

十四、常见问题

忘记 root 密码怎么办?

通过VPS面板(Vultr、RackNerd等都支持)重置密码,或者用救援模式修改。

SSH 连不上怎么办?

一是检查VPS是否开机,二是检查SSH端口是否正确,三是检查防火墙是否放行了22端口。详细排查看VPS安全设置

磁盘满了怎么清理?

du -sh /* 2>/dev/null | sort -rh | head -10     # 找出最大的目录
apt autoremove && apt clean                      # 清理软件包缓存
journalctl --vacuum-size=100M                    # 清理系统日志
docker system prune -a                           # 清理Docker无用数据

如何查看VPS是否被墙?

ping your-vps-ip
curl -v http://your-vps-ip

如果本地 ping 不通但VPS面板显示正常运行,可能是被封了。考虑使用Cloudflare Tunnel绕过封锁。

总结

以上50个命令覆盖了VPS日常运维的绝大部分场景。不需要一次全记住,建议先熟悉文件操作、系统监控和服务管理这三类,其他的用到再来查。

新手建议搭配常用脚本BBR加速一起配置,让你的VPS跑得更快更稳。如果预算有限,可以看看我们的便宜VPS推荐,从最低成本开始学习。