努力
加油

习惯了Windows的用户转用CentOS需要学习哪些基本操作?

从 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:程序崩溃没反应,你需要:
    1. 看进程是否在运行:ps aux | grep nginx
    2. 看服务状态:systemctl status nginx
    3. 看日志:tail -f /var/log/nginx/error.log (实时跟踪日志输出,这对调试至关重要)

总结:新手避坑指南

  1. 不要随意 rm -rf:特别是带通配符的时候,比如 rm -rf *.log,先 ls *.log 看看列出来的是不是你想要的。
  2. 多用 Tab 键:补全文件名、命令名,能减少 80% 的手误。
  3. 善用 man 和 help:遇到不会的命令,man ls 或 ls --help 是最权威的文档。
  4. 备份!备份!备份!:修改重要配置前,先 cp config.conf config.conf.bak。
  5. 关于 CentOS 版本:强烈建议直接使用 Rocky Linux 9 或 AlmaLinux 9,它们是 CentOS 的精神续作,社区活跃,长期支持,未来几年都不会再出现 CentOS 停更这种尴尬局面。

转用 Linux 的前两周是最痛苦的,但当你能熟练地用一行命令部署一个 Web 服务,并看懂日志排查问题时,那种掌控感是 Windows GUI 无法给予的。加油。