Linux新手必学的30个命令:VPS上手第一天就能用到


买了VPS,连上SSH,面对黑漆漆的命令行窗口,不知道下一步该敲什么——这是每个Linux新手的必经之路。好消息是:VPS日常运维真正高频使用的命令,不超过30个。背熟这30条,足以应对90%的场景:建站、传文件、看日志、装软件、查资源、排故障。

本文按使用频率和场景分类,每个命令附带VPS实战用法。建议收藏,遇到问题时直接按图索骥。


一、连接与导航(5个命令)

  1. ssh — 远程登录VPS的入口
用法
--------------------------------------------------------------------------
ssh 用户名@服务器IP -p 端口

实战示例
--------------------------------------------------------------------------
ssh root@192.168.1.1 -p 22

常见问题
--------------------------------------------------------------------------
首次连接提示"Are you sure you want to continue connecting?" → 输入 yes
密码输入时屏幕无显示 → 正常现象,直接输完回车

VPS到手第一步就是SSH登录。建议把常用服务器写到 ~/.ssh/config 里,以后直接 ssh 别名 即可连接。

  1. pwd — 确认"我在哪"
用法
--------------------------------------------------------------------------
pwd

实战示例
--------------------------------------------------------------------------
root@server:~# pwd
/root

说明
--------------------------------------------------------------------------
VPS上配置文件路径一旦搞错,修改的就是别人的网站。操作前先用pwd确认当前目录。
  1. ls — 查看目录内容
用法
--------------------------------------------------------------------------
ls              # 基础列出
ls -l           # 详细列表(权限、大小、时间)
ls -la          # 包含隐藏文件(以.开头的配置文件)
ls -lh          # 人类可读的文件大小(K/M/G自动转换)
ls -lt          # 按时间倒序排列(最新文件在最前)

实战示例
--------------------------------------------------------------------------
ls -lah /var/log/nginx/    # 查看Nginx日志目录,含隐藏文件,大小可读
  1. cd — 切换目录
用法
--------------------------------------------------------------------------
cd /var/www/html     # 进入绝对路径
cd ..                # 返回上一级
cd ~                 # 回到用户主目录
cd -                 # 返回刚才的目录

实战示例
--------------------------------------------------------------------------
cd /etc/nginx/sites-available/
pwd                  # 确认位置
nano default         # 修改站点配置
  1. clear — 清屏
用法
--------------------------------------------------------------------------
clear

实战示例
--------------------------------------------------------------------------
执行了大量命令后屏幕混乱 → clear → 清爽继续

二、文件与目录操作(6个命令)

  1. mkdir — 创建目录
用法
--------------------------------------------------------------------------
mkdir dirname              # 创建单级目录
mkdir -p /a/b/c/d          # 递归创建多级目录(-p表示自动创建父目录)

实战示例
--------------------------------------------------------------------------
mkdir -p /var/www/yvps.cn/public_html
mkdir -p /backup/2026-08-18
  1. cp — 复制文件/目录
用法
--------------------------------------------------------------------------
cp file.txt /backup/                    # 复制文件
cp -r /var/www/site1 /backup/site1      # 复制目录(-r递归)
cp -a /var/www/site1 /backup/site1      # 保留权限、符号链接等属性

实战示例
--------------------------------------------------------------------------
cp -a /var/www/yvps.cn /backup/yvps.cn_$(date +%F)    # 带日期备份网站
  1. mv — 移动或重命名
用法
--------------------------------------------------------------------------
mv oldname.txt newname.txt       # 重命名
mv file.txt /var/www/html/       # 移动文件
mv dir1 /var/www/                # 移动目录

实战示例
--------------------------------------------------------------------------
mv /var/www/html/index.html /var/www/html/index.html.bak    # 修改前备份
  1. rm — 删除(高危命令,务必谨慎)
用法
--------------------------------------------------------------------------
rm file.txt              # 删除文件
rm -f file.txt           # 强制删除,不提示
rm -rf dirname/          # 递归强制删除目录(极度危险,慎用)

实战示例
--------------------------------------------------------------------------
rm -rf /                  # 传说中的"删库跑路"命令,永远不要执行
rm -rf /var/www/html/*    # 清空网站目录(执行前先用pwd确认路径)

安全建议
--------------------------------------------------------------------------
删除前先用 ls 确认目标 → 再执行 rm
重要数据删除前先做备份
  1. touch — 创建空文件或更新时间戳
用法
--------------------------------------------------------------------------
touch newfile.txt        # 创建空文件
touch -c file.txt        # 文件存在则更新时间戳,不存在不创建

实战示例
--------------------------------------------------------------------------
touch /var/www/html/robots.txt          # 创建robots.txt
touch /var/log/nginx/access.log          # 日志轮转后重建空日志文件
  1. find — 查找文件
用法
--------------------------------------------------------------------------
find /var/www -name "*.php"           # 按名称查找
find /var/log -type f -mtime +7      # 查找7天前修改的文件
find / -name "nginx.conf" 2>/dev/null # 全系统查找,屏蔽错误输出

实战示例
--------------------------------------------------------------------------
find /var/www -type f -size +100M     # 找出超过100M的大文件(排查磁盘爆满)
find /var/log -name "*.log" -mtime +30 -delete   # 删除30天前的旧日志

三、系统监控与资源查看(5个命令)

  1. df — 查看磁盘空间
用法
--------------------------------------------------------------------------
df -h           # 人类可读格式查看所有挂载点
df -h /         # 只看根分区
df -hT          # 显示文件系统类型

实战示例
--------------------------------------------------------------------------
df -h

输出解读
--------------------------------------------------------------------------
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   35G  5.2G  88% /
# Use%超过85%就要警惕,超过95%网站可能直接500错误
  1. du — 查看目录/文件占用大小
用法
--------------------------------------------------------------------------
du -sh /var/www/           # 查看目录总大小
du -h --max-depth=1 /var/  # 查看/var下各子目录大小(一层)
du -sh *                   # 查看当前目录下每个文件/文件夹的大小

实战示例
--------------------------------------------------------------------------
du -sh /var/log/* | sort -rh | head -10    # 找出最大的10个日志文件
du -sh /home/*                             # 查看各用户目录占用
  1. free — 查看内存使用
用法
--------------------------------------------------------------------------
free -h         # 人类可读格式
free -m         # 以MB为单位

输出解读
--------------------------------------------------------------------------
              total        used        free      shared  buff/cache   available
Mem:           1.9G        892M        156M         12M        902M        876M
Swap:          1.0G          0B        1.0G

关键指标
--------------------------------------------------------------------------
available 才是真实可用内存(包含缓存回收)
Swap使用率长期>0说明内存不足,需要升级或优化
  1. top — 实时进程监控
用法
--------------------------------------------------------------------------
top

交互操作(运行中按键)
--------------------------------------------------------------------------
M        # 按内存使用率排序
P        # 按CPU使用率排序
k        # 输入PID后回车,杀死进程
q        # 退出

实战场景
--------------------------------------------------------------------------
网站突然变慢 → top → 按P看哪个进程CPU飙高 → 定位问题
  1. htop — 更美观的进程监控(需安装)
用法
--------------------------------------------------------------------------
htop

安装方法
--------------------------------------------------------------------------
# Ubuntu/Debian
apt install htop -y

# CentOS/RHEL
yum install htop -y

优势
--------------------------------------------------------------------------
彩色界面、支持鼠标、树状进程视图、更直观的CPU/内存条形图

四、软件包管理(4个命令)

  1. apt / apt-get — Debian/Ubuntu系软件管理
用法
--------------------------------------------------------------------------
apt update                  # 更新软件源列表
apt upgrade -y              # 升级所有已安装软件
apt install nginx -y        # 安装Nginx
apt remove nginx -y         # 卸载软件(保留配置)
apt purge nginx -y          # 彻底卸载(含配置)
apt autoremove -y           # 清理不再需要的依赖包

实战示例
--------------------------------------------------------------------------
apt update && apt upgrade -y    # 新VPS到手第一步:更新系统
apt install -y vim htop curl wget net-tools    # 安装常用工具包
  1. yum / dnf — CentOS/RHEL系软件管理
用法
--------------------------------------------------------------------------
yum update -y               # 更新系统
yum install nginx -y        # 安装软件
yum remove nginx -y         # 卸载软件
yum clean all               # 清理缓存

实战示例
--------------------------------------------------------------------------
yum update -y && yum install -y vim htop curl wget    # 新VPS初始化
  1. systemctl — 服务管理(Systemd系统)
用法
--------------------------------------------------------------------------
systemctl start nginx        # 启动服务
systemctl stop nginx         # 停止服务
systemctl restart nginx      # 重启服务
systemctl reload nginx       # 重载配置(不中断连接)
systemctl enable nginx       # 设置开机自启
systemctl disable nginx      # 取消开机自启
systemctl status nginx       # 查看服务状态和最近日志

实战示例
--------------------------------------------------------------------------
systemctl status mysql       # MySQL挂了?先看状态
systemctl restart php8.1-fpm # 修改PHP配置后重载
  1. crontab — 定时任务
用法
--------------------------------------------------------------------------
crontab -e          # 编辑当前用户的定时任务
crontab -l          # 列出所有定时任务
crontab -r          # 删除所有定时任务(慎用)

时间格式
--------------------------------------------------------------------------
* * * * * 命令
│ │ │ │ │
│ │ │ │ └── 星期 (0-7, 0和7都是周日)
│ │ │ └──── 月份 (1-12)
│ │ └────── 日期 (1-31)
│ └──────── 小时 (0-23)
└────────── 分钟 (0-59)

实战示例
--------------------------------------------------------------------------
# 每天凌晨3点备份网站
0 3 * * * tar -czf /backup/site_$(date +\%F).tar.gz /var/www/html/

# 每10分钟检查一次网站可用性
*/10 * * * * curl -f http://localhost/ || systemctl restart nginx

# 每周一清理7天前的日志
0 0 * * 1 find /var/log -name "*.log" -mtime +7 -delete

五、网络诊断(4个命令)

  1. ping — 测试网络连通性
用法
--------------------------------------------------------------------------
ping yvps.cn                # 持续Ping,按Ctrl+C停止
ping -c 4 8.8.8.8           # 只发4个包
ping -c 100 -i 0.2 IP       # 快速Ping100个包(测丢包率)

实战示例
--------------------------------------------------------------------------
ping -c 100 你的VPS_IP       # 从本地测试到VPS的延迟和丢包
ping -c 100 114.114.114.114  # 从VPS测试到国内的连通性
  1. curl — 请求URL/下载文件/API调试
用法
--------------------------------------------------------------------------
curl yvps.cn                         # 获取网页内容
curl -I yvps.cn                      # 只看HTTP响应头
curl -o file.zip http://example.com/file.zip    # 下载文件
curl -L yvps.cn                      # 跟随重定向
curl -H "User-Agent: Mozilla/5.0" yvps.cn      # 自定义请求头

实战示例
--------------------------------------------------------------------------
curl -I localhost                    # 测试本地Nginx是否响应
curl -sSL https://get.docker.com | sh           # 一键安装Docker
curl -X POST -d "key=value" http://api.example.com    # API调试
  1. wget — 下载文件
用法
--------------------------------------------------------------------------
wget http://example.com/file.tar.gz           # 普通下载
wget -c http://example.com/file.tar.gz       # 断点续传
wget -O newname.zip http://example.com/old.zip   # 指定保存文件名
wget --no-check-certificate https://...      # 忽略证书错误

实战示例
--------------------------------------------------------------------------
wget https://wordpress.org/latest.tar.gz     # 下载WordPress
wget -c http://example.com/10GB.iso          # 大文件断点续传
  1. netstat / ss — 查看端口和连接
用法
--------------------------------------------------------------------------
netstat -tunlp          # 查看所有监听的TCP/UDP端口和对应进程
ss -tunlp               # 同上,但速度更快(推荐)
ss -s                   # 查看连接统计

实战示例
--------------------------------------------------------------------------
ss -tunlp | grep :80    # 查看80端口被哪个进程占用
ss -tunlp | grep nginx  # 查看Nginx监听了哪些端口

输出解读
--------------------------------------------------------------------------
LISTEN    0    128    0.0.0.0:80    0.0.0.0:*    users:(("nginx",pid=1234,fd=6))
# 表示Nginx进程(PID 1234)正在监听80端口

六、进程与服务管理(3个命令)

  1. ps — 查看进程
用法
--------------------------------------------------------------------------
ps aux                  # 查看所有进程的详细信息
ps aux | grep nginx     # 过滤出Nginx相关进程
ps -ef | grep mysql     # 另一种格式查看

输出字段解读
--------------------------------------------------------------------------
USER   PID  %CPU %MEM  VSZ   RSS  TTY  STAT START TIME COMMAND
root  1234  0.5  2.1  89212 8456 ?    Ss   10:20 0:01 nginx: master

关键字段
--------------------------------------------------------------------------
PID     进程ID,kill命令需要用到
%CPU    CPU占用率
%MEM    内存占用率
STAT    进程状态(R运行/S睡眠/Z僵尸)
  1. kill / killall — 终止进程
用法
--------------------------------------------------------------------------
kill 1234               # 向PID 1234发送终止信号(优雅关闭)
kill -9 1234            # 强制终止(SIGKILL,进程无法拦截)
killall nginx           # 按名称杀死所有Nginx进程
pkill -f php-fpm        # 按完整命令行匹配杀死进程

实战示例
--------------------------------------------------------------------------
top                     # 找到CPU飙高的进程PID
kill -9 PID             # 强制结束(如果普通kill无效)
  1. nohup — 后台运行程序
用法
--------------------------------------------------------------------------
nohup python3 script.py &           # 后台运行,关闭终端不中断
nohup ./start.sh > app.log 2>&1 &    # 后台运行,输出重定向到日志文件

实战示例
--------------------------------------------------------------------------
nohup python3 /opt/bot/main.py > /var/log/bot.log 2>&1 &
# 运行聊天机器人,日志写入文件,断开SSH后依然运行

七、权限与安全(3个命令)

  1. chmod — 修改文件权限
用法
--------------------------------------------------------------------------
chmod 755 file          # 所有者读写执行,其他用户读执行
chmod 644 file          # 所有者读写,其他用户只读
chmod -R 755 /var/www   # 递归修改目录及子文件权限

权限数字对照
--------------------------------------------------------------------------
7 = rwx (读写执行)
6 = rw- (读写)
5 = r-x (读执行)
4 = r-- (只读)
0 = --- (无权限)

三位数字分别代表:所有者/所属组/其他用户

实战示例
--------------------------------------------------------------------------
chmod 755 /var/www/html/index.php      # 网站入口文件
chmod 644 /var/www/html/wp-config.php  # 配置文件(不给执行权限)
chmod -R 755 /var/www/html/uploads   # 上传目录需要执行权限
  1. chown — 修改文件所有者
用法
--------------------------------------------------------------------------
chown www-data:www-data file.txt       # 修改所有者和所属组
chown -R www-data:www-data /var/www    # 递归修改

实战示例
--------------------------------------------------------------------------
# Nginx/Apache默认以www-data用户运行,网站目录需归属该用户
chown -R www-data:www-data /var/www/html
  1. passwd — 修改密码
用法
--------------------------------------------------------------------------
passwd                  # 修改当前用户密码
passwd username         # 修改指定用户密码(需root权限)

安全建议
--------------------------------------------------------------------------
VPS到手后立即修改root密码
密码长度至少16位,包含大小写字母+数字+符号
更安全的做法:禁用root密码登录,改用SSH密钥

八、30个命令速查表(建议截图保存)

分类              命令              核心用途
------------------------------------------------------------------------------------------
连接导航          ssh               远程登录VPS
                  pwd               查看当前路径
                  ls                列出目录内容
                  cd                切换目录
                  clear             清屏

文件操作          mkdir             创建目录
                  cp                复制文件/目录
                  mv                移动/重命名
                  rm                删除(高危)
                  touch             创建空文件
                  find              查找文件

系统监控          df                查看磁盘空间
                  du                查看目录大小
                  free              查看内存
                  top               实时进程监控
                  htop              增强版进程监控

软件管理          apt/yum           安装/卸载软件
                  systemctl         管理服务
                  crontab           定时任务

网络诊断          ping              测试连通性
                  curl              请求URL/API
                  wget              下载文件
                  ss/netstat        查看端口占用

进程管理          ps                查看进程
                  kill/killall      终止进程
                  nohup             后台运行

权限安全          chmod             修改权限
                  chown             修改所有者
                  passwd            修改密码

九、新手常见错误与避坑

错误1:rm -rf 后面路径写错

危险操作
--------------------------------------------------------------------------
rm -rf / var/www/html        # 注意空格!这会先删根目录,再删var/www/html
rm -rf /var/www/html /       # 多打了一个斜杠,后果同上

正确做法
--------------------------------------------------------------------------
rm -rf /var/www/html         # 路径确认无误再执行
# 或者先用 ls /var/www/html 确认目标存在

错误2:修改配置文件前不做备份

正确做法
--------------------------------------------------------------------------
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak.$(date +%F)
nano /etc/nginx/nginx.conf   # 现在可以安心修改了

错误3:直接修改生产环境配置

正确做法
--------------------------------------------------------------------------
nginx -t                     # 修改后先测试配置语法
systemctl reload nginx       # 语法通过后再重载(不要restart,会断连接)

错误4:忘记加sudo或以root乱操作

正确做法
--------------------------------------------------------------------------
# 日常操作使用普通用户
sudo apt update              # 需要root权限时加sudo

# 如果已经是root,执行危险命令前再三确认
whoami                       # 确认当前用户
pwd                          # 确认当前目录

十、进阶:命令组合技巧

技巧1:管道符 | 组合多个命令
--------------------------------------------------------------------------
cat /var/log/nginx/access.log | grep "404" | wc -l
# 查看日志中404错误的数量

技巧2:重定向 > 和 >>
--------------------------------------------------------------------------
echo "hello" > file.txt      # 覆盖写入
echo "world" >> file.txt     # 追加写入
command > /dev/null 2>&1     # 丢弃所有输出(后台任务常用)

技巧3:&& 和 || 逻辑组合
--------------------------------------------------------------------------
apt update && apt upgrade -y          # 前一条成功才执行后一条
ping -c 1 yvps.cn || echo "网站挂了"   # 前一条失败才执行后一条

技巧4:Tab自动补全
--------------------------------------------------------------------------
输入路径时按Tab键自动补全文件名,按两次Tab列出所有候选
这是防止路径输入错误最有效的手段

总结

Linux命令不是背出来的,是用出来的。新VPS到手,建议按这个顺序操作一遍:

  1. ssh 连上服务器
  2. apt update && apt upgrade -y 更新系统
  3. df -h 和 free -h 查看资源
  4. apt install -y vim htop curl wget 安装必备工具
  5. passwd 修改root密码
  6. 配置SSH密钥登录,禁用密码(参考本站安全加固文章)

把这30个命令在真实环境中用3-5遍,基本就能脱离"新手"标签。遇到不会的命令,优先用 man 命令名 或 命令名 --help 查看官方文档,养成查手册的习惯比背命令更重要。


手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

Linux防火墙配置全攻略:iptables、ufw、firewalld该用哪个?

欧洲VPS推荐:德国、荷兰、英国节点,适合外贸与跨境电商

评 论
更换验证码