从 Windows 转到 CentOS(或者现在的 Rocky/AlmaLinux,毕竟 CentOS Linux 8 已经停止维护了,但操作逻辑大同小异),最大的痛苦通常不是学命令本身,而是思维模式的转换。
在 Windows 里,你习惯了“点鼠标找设置”、“双击安装软件”、“重启就能解决90%的问题”。在 Linux 里,这些动作变成了“查文档写配置”、“包管理器一行代码装”、“日志文件告诉你为什么挂了”。
以下是你需要掌握的核心操作清单,按优先级排序,不讲废话,只讲实战:
1. 权限意识:sudo 是你的新爹
在 Windows 里,你登录管理员账号后几乎拥有所有权限。在 CentOS 里,默认用户(即使是 root 以外的普通用户)权限极其受限。
-
核心规则:只要命令报错
Permission denied,就在命令最前面加sudo。 -
注意:CentOS 7/8 之后,
root用户远程登录默认是禁用的。你必须创建一个普通用户,赋予 sudo 权限,然后日常操作都用这个普通用户 + sudo。 -
常用操作:
# 切换回 root(如果你知道密码且允许) su - # 用当前用户执行管理员命令 sudo systemctl restart nginx
2. 包管理:告别 .exe 和 .msi
Windows 下你习惯去官网下载 exe 安装包。在 CentOS 里,你要学会使用 yum (CentOS 7) 或 dnf (CentOS 8+)。这是 Linux 的灵魂。
- 搜索软件:
yum search nginx - 安装软件:
yum install -y nginx # -y 表示自动确认,否则它会问你 Y/N - 卸载软件:
yum remove nginx - 更新系统:
yum update -y - 关键点:尽量用包管理器装东西,不要手动编译源码(除非你是高级玩家),因为包管理器会自动处理依赖关系。
3. 服务管理:systemctl 取代“开始菜单”
Windows 有“服务”管理器,Linux 有 systemd。你需要掌握如何启动、停止、开机自启服务。
- 查看状态:
systemctl status nginx - 启动/停止/重启:
systemctl start nginx systemctl stop nginx systemctl restart nginx - 设置开机自启(最重要,不然重启服务器后网站就挂了):
systemctl enable nginx - 禁用开机自启:
systemctl disable nginx
4. 文件与目录结构:忘掉 C:/ D:/
Linux 没有盘符,只有一个根目录 /。你需要熟悉几个关键目录:
/etc/:配置文件的大本营。改配置基本都在这里。/var/log/:日志文件所在地。出错了先看这里,尤其是/var/log/messages或具体服务的日志如/var/log/nginx/error.log。/usr/local/:手动编译安装的软件通常放这里。/home/:普通用户的家目录。/tmp/:临时文件,重启会清空。
常用文件操作命令:
ls -l # 列出文件详情(类似 dir /q)
cd # 切换目录
cp -r src dst # 复制文件夹 (-r 代表递归)
mv old new # 移动或重命名
rm -rf dir # 删除文件夹(**极度危险**,删前请三思,Linux 没有回收站)
5. 文本编辑:学会至少一种命令行编辑器
Windows 用记事本或 VS Code 打开文件。Linux 下你需要用命令行编辑器。推荐新手学习 nano,因为它简单直观;进阶后必须掌握 vi/vim。
- 使用 nano(简单易用):
nano /etc/nginx/nginx.conf # 编辑完后,Ctrl+O 保存,Enter 确认,Ctrl+X 退出 - 使用 vi/vim(行业标准):
vi /etc/nginx/nginx.conf # 进入后是命令模式,按 i 进入插入模式编辑 # 编辑完按 Esc,输入 :wq 保存退出提示:如果不想背 vim 快捷键,可以安装
vim-enhanced或者直接用nano过渡。
6. 网络与安全:防火墙不再是“一键开关”
Windows 的防火墙图形界面很友好。CentOS 使用的是 firewalld 或 iptables。
- 检查防火墙状态:
firewall-cmd --state - 开放端口(例如开放 HTTP 80 端口):
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload - 关闭防火墙(测试环境可用,生产环境不建议):
systemctl stop firewalld systemctl disable firewalld - 云厂商安全组:别忘了,如果你在阿里云、腾讯云等云上,还需要在控制台的安全组里放行对应端口,否则服务器内部开了也没用。
7. 远程连接:SSH 是唯一的门
你不会直接坐在服务器面前操作。你需要通过 SSH 连接。
- Windows 端:推荐使用 PuTTY(经典)、MobaXterm(功能强大,推荐)或 Windows Terminal + OpenSSH。
- 连接命令:
ssh username@server_ip # 首次连接会问是否信任主机密钥,输入 yes
8. 调试思路:从“看报错弹窗”到“看日志”
这是最重要的思维转变。
- Windows:程序崩溃弹个框,你说“它崩了”。
- CentOS:程序崩溃没反应,你需要:
- 看进程是否在运行:
ps aux | grep nginx - 看服务状态:
systemctl status nginx - 看日志:
tail -f /var/log/nginx/error.log(实时跟踪日志输出,这对调试至关重要)
- 看进程是否在运行:
总结:新手避坑指南
- 不要随意
rm -rf:特别是带通配符的时候,比如rm -rf *.log,先ls *.log看看列出来的是不是你想要的。 - 多用 Tab 键:补全文件名、命令名,能减少 80% 的手误。
- 善用 man 和 help:遇到不会的命令,
man ls或ls --help是最权威的文档。 - 备份!备份!备份!:修改重要配置前,先
cp config.conf config.conf.bak。 - 关于 CentOS 版本:强烈建议直接使用 Rocky Linux 9 或 AlmaLinux 9,它们是 CentOS 的精神续作,社区活跃,长期支持,未来几年都不会再出现 CentOS 停更这种尴尬局面。
转用 Linux 的前两周是最痛苦的,但当你能熟练地用一行命令部署一个 Web 服务,并看懂日志排查问题时,那种掌控感是 Windows GUI 无法给予的。加油。
云技术博客