Linux服务器必会的20个常用命令:新手运维从入门到上手
Linux 服务器必会的 20 个常用命令:新手运维从入门到上手
买了 VPS 之后,很多人面对黑色终端窗口不知所措。Linux 命令行看起来神秘,实际上日常运维只需要掌握几十个核心命令。本文精选最高频使用的 20 个命令,每个命令配合真实场景示例,帮你快速度过新手期,独立完成服务器的日常管理工作。
一、文件与目录操作(6个)
1. ls — 查看目录内容
ls # 列出当前目录文件
ls -la # 显示详细信息(包含隐藏文件)
ls -lh /var/www # 以人类可读格式显示指定目录最常用的是 ls -la,可以看到文件权限、大小、修改时间,是排查文件问题的第一步。
2. cd — 切换目录
cd /var/www/html # 进入指定目录
cd .. # 返回上一级目录
cd ~ # 回到当前用户的家目录
cd - # 返回上一次所在目录3. mkdir / rm — 创建与删除
# 创建目录
mkdir myproject
mkdir -p /var/www/site1/logs # -p 表示递归创建不存在的父目录
# 删除文件
rm filename.txt
rm -f filename.txt # 强制删除,不询问确认
# 删除目录(⚠️ 危险命令,务必确认路径!)
rm -rf /var/www/old_site # -r 递归删除,-f 强制,不可恢复⚠️ 警告:rm -rf 删除不可恢复,执行前务必三次确认路径,永远不要运行 rm -rf /。
4. cp / mv — 复制与移动
# 复制文件
cp config.php config.php.bak # 备份配置文件
cp -r /var/www/site1 /backup/site1 # -r 递归复制目录
# 移动/重命名
mv oldname.php newname.php # 重命名
mv /tmp/upload.zip /var/www/html/ # 移动文件5. cat / less / tail — 查看文件内容
# 查看整个文件(适合短文件)
cat /etc/nginx/nginx.conf
# 分页查看(适合长文件,按空格翻页,q 退出)
less /var/log/nginx/access.log
# 查看文件最后几行(排查错误最常用)
tail -n 50 /var/log/nginx/error.log # 最后50行
tail -f /var/log/nginx/access.log # 实时追踪新增内容(-f = follow)tail -f 是排查实时问题的利器,可以在浏览器访问网站的同时,实时观察日志输出。
6. nano / vim — 编辑文件
# nano:新手友好,底部有快捷键提示
sudo nano /etc/nginx/sites-available/mysite.conf
# 编辑完成后:Ctrl+O 保存,Ctrl+X 退出
# vim:功能强大但学习曲线陡
vim /etc/ssh/sshd_config
# 按 i 进入编辑模式,编辑完按 Esc,输入 :wq 保存退出,:q! 强制不保存退出二、系统状态监控(4个)
7. top / htop — 实时进程监控
top # 内置工具,实时显示进程CPU/内存占用
# 按 P 按CPU排序,按 M 按内存排序,按 q 退出
htop # 需安装:sudo apt install htop
# 比top更直观,支持鼠标操作,每个CPU核心独立显示8. df — 查看磁盘空间
df -h # 以人类可读格式显示所有分区磁盘使用情况
df -h / # 只查看根分区输出中 Use% 超过 85% 时需要关注,超过 95% 时服务可能开始出错(日志无法写入等)。
9. free — 查看内存使用
free -h # 以人类可读格式显示内存和SWAP使用情况重点看 available 列(真正可用内存),而非 free 列(Linux 会将空闲内存用于缓存,free 值通常很小但不代表内存不足)。
10. uptime — 查看系统运行时长与负载
uptime
# 输出示例:14:23:01 up 47 days, 3:21, 1 user, load average: 0.52, 0.48, 0.51load average 显示 1分钟、5分钟、15分钟的平均负载。通常负载值不应持续超过 CPU 核心数,如 4核服务器负载长期超过 4 需要关注。
三、网络排查(4个)
11. ping — 测试网络连通性
ping google.com # 测试是否能访问外网
ping 8.8.8.8 # 测试是否能访问 Google DNS(排查 DNS 与网络问题)
ping -c 4 google.com # 只发送4个包后停止(Linux 默认持续 ping)12. curl — 测试 HTTP 请求
# 测试网站是否正常响应
curl -I https://yourdomain.com # 只看响应头(状态码、服务器信息)
curl https://api.example.com/status # 查看 API 返回内容
# 测试带超时的请求
curl --connect-timeout 10 https://yourdomain.com
# 下载文件
curl -O https://example.com/file.zip13. ss / netstat — 查看网络连接
ss -tlnp # 查看所有监听中的 TCP 端口(t=TCP, l=listening, n=数字, p=进程)
ss -tnp # 查看所有已建立的连接
# 查找某个端口被哪个程序占用
ss -tlnp | grep :80
ss -tlnp | grep :330614. wget — 下载文件
wget https://example.com/file.tar.gz # 下载文件
wget -O custom_name.zip https://example.com/file # 指定保存文件名
wget -c https://example.com/large_file.zip # 断点续传四、权限与用户管理(3个)
15. chmod — 修改文件权限
chmod 755 script.sh # 设置权限为 rwxr-xr-x(常用于脚本)
chmod 644 config.php # 设置权限为 rw-r--r--(常用于配置文件)
chmod +x deploy.sh # 给文件添加可执行权限
chmod -R 755 /var/www/html # -R 递归修改目录下所有文件权限权限数字含义:4=读(r),2=写(w),1=执行(x),相加得到权限值。755 = 所有者(7=rwx) + 组(5=r-x) + 其他(5=r-x)。
16. chown — 修改文件所有者
sudo chown www-data:www-data /var/www/html # 修改所有者为 www-data(Nginx/Apache 进程用户)
sudo chown -R ubuntu:ubuntu /home/ubuntu/app # 递归修改目录所有者17. sudo — 以管理员权限执行
sudo apt update # 以 root 权限执行 apt 更新
sudo systemctl restart nginx # 重启 Nginx 服务
sudo -i # 切换到 root 用户 shell(谨慎使用)五、服务与进程管理(3个)
18. systemctl — 管理系统服务
sudo systemctl start nginx # 启动服务
sudo systemctl stop nginx # 停止服务
sudo systemctl restart nginx # 重启服务
sudo systemctl reload nginx # 重载配置(不中断服务)
sudo systemctl status nginx # 查看服务状态(是否运行、最近日志)
sudo systemctl enable nginx # 设置开机自启
sudo systemctl disable nginx # 取消开机自启19. journalctl — 查看系统日志
journalctl -u nginx # 查看 Nginx 的系统日志
journalctl -u nginx -n 50 # 只看最近50条
journalctl -u nginx --since "1 hour ago" # 查看最近1小时的日志
journalctl -f # 实时追踪系统日志20. kill / pkill — 结束进程
kill 1234 # 向 PID 为 1234 的进程发送终止信号(优雅退出)
kill -9 1234 # 强制立即杀死进程(kill -9 无法被进程忽略)
pkill nginx # 按进程名杀死所有匹配的进程
pkill -f "python app" # 按完整命令行匹配优先使用 kill PID(无 -9),给进程机会做清理工作;只有进程无响应时才用 kill -9。
六、实用组合技巧
管道(|):将一个命令的输出传给下一个命令
# 查找最占磁盘的前10个目录
du -sh /* 2>/dev/null | sort -rh | head -10
# 实时查看包含 "error" 的日志行
tail -f /var/log/nginx/error.log | grep "error"
# 统计当前连接数最多的来源 IP
ss -tn | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -10重定向(> / >>):将输出写入文件
ls -la > file_list.txt # 将输出写入文件(覆盖)
echo "backup done" >> log.txt # 追加到文件末尾(不覆盖)
command 2>&1 | tee output.log # 同时在终端显示和写入文件七、新手常见误区
- ❌ 直接用 root 用户做所有操作:建议创建普通用户,需要时加
sudo,降低误操作风险 - ❌ 不备份直接修改配置文件:修改 Nginx、PHP 等配置前先
cp config.conf config.conf.bak - ❌ 看到报错就重启服务器:重启只是掩盖问题,先用
journalctl和tail看日志找根因 - ❌ 忘记 sudo 导致权限报错:
Permission denied通常意味着需要加sudo
总结
掌握这 20 个命令,你就能独立完成以下日常运维任务:
- 📁 文件的增删改查、权限管理
- 📊 CPU、内存、磁盘的健康检查
- 🌐 网络连通性排查、端口查询
- ⚙️ 服务的启停管理、日志查看
如果你刚购买了后浪云香港云服务器,SSH 连接后即可练习本文的所有命令。遇到任何操作问题,欢迎通过工单或 Telegram 联系我们的技术支持团队。
版权声明:
作者:后浪云
链接:https://idc.net/help/442639/
文章版权归作者所有,未经允许请勿转载。
THE END
