就是通过命令行界面(CLI)输入系统命令,实现对服务器的完全控制,从文件操作、进程管理到网络诊断,这些指令是运维人员的日常工具。 它不同于图形界面点击,本质是“用文本对话”的方式指挥系统干活。
服务器文本指令到底管什么
服务器文本指令覆盖日常运维的绝大部分场景,行业共识认为,掌握这些指令是入门服务器管理的第一道门槛,也是排查故障时最高效的路径。
按功能划分,常用的服务器文本指令主要分这几类:
- 文件与目录操作:
ls、cd、cp、mv、rm、find,这些是基础中的基础 - 系统状态查看:
top、free、df、uptime,用于监控CPU、内存、磁盘和运行时长 - 进程管理:
ps、kill、systemctl,负责查看和终止运行中的程序 - 网络相关:
ping、netstat、curl、ss,用于诊断连通性和端口占用 - 日志查看:
tail、grep、journalctl,这是定位问题最常用的手段
对于新手来说,特别是刚接触云服务器的用户,容易混淆“重启服务器”和“重启服务”的区别,前者用reboot,后者通常用systemctl restart 服务名,如果手动修改了配置但不生效,优先检查服务是否真正重载过。
新手最容易混淆的文件操作指令
文件操作是服务器管理工作里出现频率最高的场景,很多刚接触Linux服务器的朋友,最容易搞混的是cp和mv的区别:cp是复制,原文件保留;mv是移动或重命名,原文件消失。
日常文件操作的具体用法:
- 查看当前路径:
pwd,告诉你现在身处哪个目录 - 切换目录:
cd /var/log,进入日志目录;cd ~回到当前用户的家目录 - 列出文件:
ls -lh,以人性化格式显示文件大小和权限 - 创建目录:
mkdir -p 项目/前端,连父目录一起创建,避免报错 -
查找文件
:find / -name ".conf",从根目录搜索所有配置文件
实际操作时有个技巧:执行rm之前先用ls确认路径无误,特别是使用rm -rf强制递归删除时,一旦路径写错,后果无法挽回,业内专家指出,线上事故中有相当一部分比例源于误操作删除文件。
权限管理也常和文件操作混在一起:
chmod 755 脚本.sh:赋予脚本读、写、执行权限chown -R www:www /var/www:递归修改目录属主为www用户
核心运维指令的实战用法
服务器搭建完成后,日常维护的核心就是看状态、查进程、盯日志,这几个动作能覆盖大多数故障场景。
状态查看与性能分析
当服务器响应变慢时,第一步不是去代码里找问题,而是看系统资源是否吃紧。
top:实时刷新CPU、内存占用排行,按P键按CPU排序,按M键按内存排序free -h:以G为单位显示内存总量、已用和可用数量df -h:查看磁盘分区占用百分比,超过80%就该清理了uptime:显示负载均值,三个数字分别代表1分钟、5分钟、15分钟的负载趋势
判断负载是否异常的标准: 如果15分钟负载值长期大于服务器CPU核心数,说明系统已经超载,比如一台4核机器,负载值持续超过4.0就需要关注。
进程管理与服务控制
进程失控是服务器常见的异常之一,比如脚本陷入死循环、某个服务占用大量CPU。
排查和处理的顺序:
- 用
ps aux --sort=-%cpu | head -n 10找出最吃CPU的进程PID - 用
top -p 1234单独观察这个进程,确认是否异常 - 确认无误后执行
kill 1234优雅终止,无效再加kill -9 1234强制结束 - 如果是常驻服务,用
systemctl status 服务名查看运行状态和最近日志
日志查看实用技巧
排查问题绕不开日志,但日志文件通常很长,直接打开会刷屏。
linux查看日志常用命令组合:
tail -f 应用.log:持续跟踪最新写入的日志内容,调试接口时非常直观grep "ERROR" 应用.log | tail -n 50:过滤出错误信息并显示最后50条
tail -n 200 应用.log:直接看最后200行,省去翻页的麻烦journalctl -u nginx --since "1 hour ago":查看某个服务近一小时的系统日志
这里有个常见误区: 很多人习惯先用tail看完整日志,再一行行找异常,正确的做法是先grep关键词,再顺着时间戳往前看上下文,日志量大的服务器上,全量读取会消耗大量I/O。
Windows服务器下的常用命令
不是所有服务器都用Linux,Windows Server同样占据一定市场份额,两者指令风格差异明显,但逻辑相通。
网络与端口排查
排查网络问题时,Windows下最常用的是netstat组合:
netstat -ano:查看所有连接和监听端口,最后一列是PIDnetstat -ano | findstr 8080:定位占用8080端口的进程IDtasklist | findstr PID号:根据PID找到对应的程序名
文件与磁盘操作
dir:列出当前目录内容,相当于Linux的lscd /d D:wwwroot:切换盘符和目录,必须加/d参数type 文件.txt:查看文本文件内容,相当于Linux的cat
Windows和Linux指令对比:
| 功能 | Linux | Windows |
|---|---|---|
| 列目录 | ls | dir |
| 复制文件 | cp | copy |
| 查看IP | ip addr | ipconfig |
| 测试连通 | ping | ping(参数略不同) |
| 清屏 | clear | cls |
需要留意的是,Windows PowerShell支持更多类Linux风格的命令别名,比如ls和cat在PowerShell中也能用,但语法细节仍有差异。
进阶:用脚本组合指令效率翻倍
单个指令解决单个问题,但服务器管理工作往往需要“组合拳”,编写简单的Shell脚本能显著提升效率。
典型场景:批量备份网站目录并清理3天前的旧备份。
#!/bin/bash 备份名="backup_$(date +%Y%m%d).tar.gz" tar -czf /data/backups/$备份名 /var/www/html find /data/backups -name ".tar.gz" -mtime +3 -exec rm {} ; echo "备份完成:$备份名"
将这个脚本保存为backup.sh,赋予执行权限后加入crontab定时任务,每天凌晨自动运行。
另一个高频场景:批量杀掉残留的Python爬虫进程。
ps aux | grep "spider.py" | grep -v grep | awk '{print $2}' | xargs kill -9
这条命令的分解逻辑是:先找到匹配的进程行,排除grep自身,提取PID列,再交给kill处理,熟练使用awk和xargs是进阶的重要标志。
高效记忆与沉淀指令知识的策略
指令数量庞大,靠死记硬背不现实,多数情况下,运维人员依赖的是--help参数和在线文档。
推荐的做法:
- 建一个自己的速查表,按场景分类记录,不用强记所有参数
- 用
history命令回顾自己执行过哪些指令,看看哪些高频使用值得优化 - 遇到不熟悉的指令先
man 指令名查手册,比搜索更准确
随着云服务器和容器技术普及,文本指令的基础地位并未动摇,Docker的docker exec、Kubernetes的kubectl,底层逻辑依然是CLI操作,扎实的指令功底,能帮助你在切换不同技术栈时更快上手。
服务器文本指令常见问题解答
问:1. 服务器命令行输入指令提示“command not found”怎么办?
答:这个提示通常表明系统搜索不到该命令,先检查是否拼写错误,再确认软件包是否安装,CentOS用yum install安装,Ubuntu用apt install安装,如果是刚安装的软件,可能还需要执行source /etc/profile刷新环境变量。
问:2. 误删了服务器上的文件,有什么办法恢复?
答:ext4文件系统没有直接的恢复命令,如果文件被进程占用,尝试从/proc/进程号/fd/目录找回,日常预防更关键:上线前做好定时备份策略,重要操作前先打快照,云控制台的回收站功能也建议开启。
问:3. 服务器端口打不开,怎么排查是防火墙还是服务的问题?
答:先在服务器本机执行curl 127.0.0.1:端口号,通的话说明服务正常,问题在防火墙或安全组,Linux下检查firewalld或iptables规则,云服务器还要确认控制台的安全组规则是否放行。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/770506.html





