刚买了一台便宜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推荐,从最低成本开始学习。