控制服务器常用命令按系统分为Linux和Windows两套:Linux核心是systemctl、ps、top、kill、ip、firewall-cmd、crontab;Windows核心是net、sc、tasklist、taskkill、PowerShell与远程桌面命令,执行前必须先确认系统环境和当前会话权限。
Linux服务器控制命令有哪些:按运维场景分组
Linux服务器控制命令数量多,但真正高频的只有几类,先把场景拆开,命令就不会乱。
服务器重启命令怎么用才安全
生产环境最怕误重启,执行前先确认磁盘写入完成,再决定用哪个命令。
reboot:直接重启,最常用。shutdown -r now:立即重启,语义更明确。shutdown -h now:立即关机。shutdown -r +5:5分钟后重启,适合需要留时间通知的场景。shutdown -c:取消已经设置的重启或关机计划。sync:强制把内存数据写入磁盘,重启前建议执行一次。
多数情况下,用reboot和shutdown -r now在效果上一致,但shutdown可以带延迟参数,适合多人协作的服务器。
进程和服务控制命令
进程卡死、服务异常,是控制服务器时最常见的场景。
systemctl start nginx:启动服务。systemctl stop nginx:停止服务。systemctl restart nginx:重启服务。systemctl status nginx:查看服务状态。ps aux | grep java:查看Java进程。top:实时查看CPU和内存占用。htop:比top更直观,部分系统需要额外安装。kill 1234:正常结束PID为1234的进程。kill -9 1234:强制结束PID为1234的进程。pkill -f nginx:按名称批量结束匹配进程。
kill和kill -9的区别很关键。kill发送TERM信号,给进程保存数据、正常退出的机会;kill -9发送KILL信号,直接终止,可能导致数据丢失,能用kill就不用kill -9。
网络和防火墙控制命令
服务器连不上、端口不通,先排查网络和防火墙。
ip addr show:查看网卡IP地址。ss -tlnp:查看所有监听端口。ping 1.2.3.4:测试网络连通性。traceroute 1.2.3.4:跟踪路由跳数。firewall-cmd --list-ports:查看已开放端口。firewall-cmd --add-port=8080/tcp --permanent:永久开放8080端口。firewall-cmd --reload:重载防火墙规则。ufw allow 22/tcp:Ubuntu系统开放22端口。
CentOS和Ubuntu的防火墙命令不同,CentOS 7以后用firewall-cmd,Ubuntu用ufw,别混着用。
文件、用户和日志控制命令
服务器控制不只管进程,还要管文件和权限。
ls -l /etc/nginx:查看目录权限。chmod 750 /data:修改目录权限。chown -R www:www /www:修改目录属主。useradd -m deploy:创建deploy用户并生成家目录。passwd deploy:设置deploy用户密码。sudo -i:切换到root身份。tail -f /var/log/nginx/error.log:实时查看Nginx错误日志。journalctl -u nginx -f:实时查看Nginx服务日志。grep "error" /var/log/messages:从系统日志中过滤error。
权限命令最容易出问题是chmod 777,相当一部分初学者为了省事直接给最高权限,结果等于把服务器大门敞开,能用750就不用777。
定时任务控制命令
定时备份、定时清理日志,都靠crontab。
crontab -e:编辑当前用户的定时任务。crontab -l:查看当前用户的定时任务。systemctl list-timers:查看systemd定时器。0 3 /bin/bash /data/backup.sh:每天凌晨3点执行备份脚本。
改完crontab后,不需要重启服务,保存即生效。
Windows服务器控制命令有哪些:CMD与PowerShell双轨
Windows服务器控制命令分CMD和PowerShell两套,日常操作CMD足够,批量管理和自动化建议用PowerShell。
服务器重启命令怎么用
Windows服务器重启命令核心是shutdown。
shutdown /r /t 0:立即重启。shutdown /s /t 60:60秒后关机。shutdown /a:取消重启或关机计划。shutdown /m \192.168.1.10 /r /t 0:远程重启指定服务器,需要目标机器开启相应权限。
远程重启前先确认自己有管理员权限,否则会提示拒绝访问。
进程与服务控制命令
Windows服务管理用net和sc两套命令,进程管理用tasklist和taskkill。
tasklist | findstr java:查看Java进程。taskkill /PID 1234 /F:强制结束PID为1234的进程。net stop "SQL Server":停止SQL Server服务。net start "SQL Server":启动SQL Server服务。sc query MySQL:查看MySQL服务状态。sc config MySQL start= auto:设置MySQL服务为自动启动。Get-Service:PowerShell查看所有服务。Stop-Process -Name notepad:PowerShell按名称结束进程。
sc config命令中start=后面必须加空格,这是命令本身的语法要求,少空格会报错。
网络和防火墙控制命令
Windows服务器排查网络,常用命令和Linux思路类似。
ipconfig /all:查看所有网卡信息。netstat -ano | findstr 80:查看80端口占用情况。tracert 1.2.3.4:跟踪路由。netsh advfirewall firewall add rule name="Web80" dir=in action=allow protocol=TCP localport=80:添加入站放行80端口规则。netsh advfirewall reset:重置防火墙规则。
netstat -ano里的PID可以通过tasklist /FI "PID eq 1234"反查进程名,这个排查路径很常用。
计划任务与日志控制命令
Windows计划任务用schtasks,日志用wevtutil。
schtasks /create /tn "Backup" /tr C:backup.bat /sc daily /st 03:00:创建每天3点执行的计划任务。schtasks /query /tn "Backup":查看指定计划任务。schtasks /delete /tn "Backup" /f:删除计划任务。wevtutil qe System /c:20 /rd:true /f:text:查看最近20条系统日志。
远程控制服务器命令怎么用:SSH、RDP与带外管理
远程控制服务器命令是运维入口,连不上服务器,后面所有命令都白搭。
SSH远程控制命令
Linux服务器默认用SSH远程控制。
ssh root@192.168.1.10:默认22端口连接。ssh -p 2222 root@192.168.1.10:指定端口连接。scp /data/file.txt root@192.168.1.10:/tmp/:上传文件。sftp root@192.168.1.10:进入SFTP交互模式。
SSH连不上时,先看IP通不通,再看端口开不开,最后看服务起没起,这个排查顺序最省时间。
Windows远程桌面命令
Windows服务器远程控制主要靠远程桌面和PowerShell远程。
mstsc /v:192.168.1.10 /admin:打开远程桌面并进入管理员会话。Enter-PSSession -ComputerName 192.168.1.10 -Credential administrator:PowerShell远程会话。winrm quickconfig:快速启用WinRM远程管理服务。
远程桌面默认端口3389,修改端口后需要在mstsc中填写IP:新端口。
带外管理命令
服务器死机、系统无法启动时,远程桌面和SSH都不管用,需要带外管理。
ipmitool -I lanplus -H 192.168.1.100 -U admin -P password power status:查看电源状态。ipmitool -I lanplus -H 192.168.1.100 -U admin -P password power reset:强制重启服务器。
不同远程控制方式适用场景不同:
| 方式 | 适用系统 | 主要命令 | 优点 | 限制 |
|---|---|---|---|---|
| SSH | Linux | ssh、scp、sftp | 轻量、安全 | 系统瘫痪后不可用 |
| RDP | Windows | mstsc | 图形化操作 | 需图形环境 |
| IPMI | 不通系统 | ipmitool | 可管理开关机 | 需硬件支持 |
服务器控制命令实操避坑:顺序比记忆数量更重要
控制服务器命令不在多,而在于执行顺序,顺序错了,命令越熟越容易出事故。
重启前先做三步检查
- 第一步:
df -h和top看磁盘和负载,确认没有异常写入。 - 第二步:确认数据库、消息队列等有状态服务已经停止或完成数据落盘。
- 第三步:保留一条控制台会话,防止重启后SSH或RDP起不来无法登录。
行业共识认为,生产环境执行重启或防火墙变更前必须保留控制台会话,这是防止远程断连后无法恢复的基本操作。
防火墙命令误操作怎么恢复
- Linux:误关防火墙或改错规则后,不要退出当前SSH会话,立即执行
firewall-cmd --panic off,或从服务商控制台登录恢复。 - Windows:执行
netsh advfirewall reset恢复默认规则。
最危险的操作是:远程改防火墙规则,顺手执行systemctl restart firewalld,结果SSH会话直接断开,规则变更前先开放管理端口,这是基本习惯。
地域和租用价格不改变命令:北京服务器租用价格与上海机房执行一致
服务器租用价格和机房地域会影响硬件配置、网络线路和延迟,但不会改变控制命令,北京服务器租用价格高一些的独享物理机,和上海机房低价的VPS,只要系统相同,命令就完全通用,Linux还是systemctl那套,Windows还是net和sc,地域差异只体现在IP归属和访问速度上,运维命令没有地域版本。
服务器控制命令的关键不是背得多,而是场景匹配:先确认系统,再确认服务与进程,最后用防火墙和日志验证结果,Linux的systemctl和Windows的sc/net是两条主线,远程控制命令只是入口,真正决定安全的是执行顺序和回滚意识。
控制服务器命令有哪些常见问题
远程控制服务器命令连不上怎么排查
按顺序检查:先ping服务器IP,确认网络通不通;再用telnet IP 22或nc -vz IP 22测试SSH端口;然后确认安全组或防火墙是否放行;最后检查SSH或RDP服务是否启动,多数情况下问题出在安全组和防火墙,而不是服务本身。
Linux和Windows服务器控制命令有什么区别
Linux以文本命令和systemd服务管理为主,命令格式统一,适合脚本化;Windows以CMD、PowerShell和服务控制台为主,图形化程度更高,Windows Server 2019以后可以安装OpenSSH,在Windows上执行部分Linux风格命令,但底层系统调用仍然是Windows逻辑。
服务器重启命令执行时会丢失数据吗
正常重启不会丢失已经写入磁盘的数据,可能丢失的是应用层尚未保存到磁盘的数据,尤其是数据库和缓存服务,执行重启前先停止有状态服务,Linux执行sync,Windows确认磁盘写入完成,异常断电式强制重启存在数据丢失风险。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/681193.html





