CentOS 入门教程

FreeGuideOnline 最新 2026-07-14

bash pwd # 显示当前目录 ls -al # 列出所有文件含隐藏文件 cd /etc # 切换目录 mkdir project # 创建目录 touch readme.txt # 创建空文件或更新文件时间戳 cp source dest # 复制文件 mv old new # 移动/重命名 rm -rf testdir # 删除目录(递归强制,谨慎使用)


### 查看文件内容
```bash
cat file.txt         # 一次性显示
less large.log       # 分页浏览,按 q 退出
head -n 10 file.txt  # 前10行
tail -f /var/log/messages  # 实时追踪日志
grep 'error' app.log # 搜索匹配行

用户与权限管理

理解用户与组

  • root:超级管理员,UID 为 0,拥有最高权限,日常操作应避免直接使用 root。
  • 普通用户:UID 从 1000 起,权限受限。
  • 每个用户可以属于一个主组和多个附加组。

用户管理命令

useradd john                    # 添加用户
passwd john                     # 设置密码
usermod -aG wheel john         # 将用户加入 wheel 组(可 sudo)
userdel -r john                 # 删除用户及家目录
id john                         # 查看用户 UID、GID 和组
whoami                          # 显示当前用户
su - john                       # 切换到 john
sudo command                    # 以 root 权限执行命令(需提前配置 /etc/sudoers)

文件权限与所有权

ls -l                           # 输出如 -rw-r--r--. 1 root root 0 date filename

解释:第1位 - 表示普通文件,d 目录;随后9位每三位一组,分别代表拥有者、所属组、其他人权限(r=读,w=写,x=执行)。

修改权限:

chmod 755 script.sh             # 数字法:用户读写执行,组和其他读执行
chmod u+x script.sh             # 符号法:用户增加执行权限
chown john:users file.txt       # 更改拥有者和组

文本编辑:vi/vim 快速上手

CentOS 默认安装 vim 增强版(需安装 vim-enhanced)。

常用模式:

  • 普通模式(Esc):移动光标、复制粘贴等。
  • 插入模式(i、a、o 等):输入文本。
  • 命令模式(:):保存、退出等。

基础操作:

vim filename

进入后按 i 进入插入模式编辑;按 Esc 返回普通模式;

  • :w 保存
  • :q 退出
  • :wqZZ 保存退出
  • :q! 不保存强制退出
  • dd 删除整行,yy 复制,p 粘贴,/keyword 搜索,n 下一个匹配

软件包管理:yum 和 dnf

CentOS 7 使用 yum,CentOS 8/Stream 使用 dnf(两者命令格式兼容)。

配置软件源

仓库配置在 /etc/yum.repos.d/ 下,常用官方源和 EPEL (Extra Packages for Enterprise Linux)。

安装 EPEL:

yum install epel-release   # CentOS 7
dnf install epel-release   # CentOS 8+

常用管理命令

yum update                    # 更新所有软件包
yum install httpd             # 安装 Apache
yum remove package            # 卸载
yum search keyword            # 搜索
yum info package              # 查看包详情
yum list installed            # 列出已安装
yum clean all                 # 清除缓存

网络基础配置

查看网络状态

ip addr show                  # 查看 IP 地址
nmcli device status           # NetworkManager 设备状态
ping -c 4 google.com          # 连通性测试
ss -tlnp                      # 查看监听端口

配置静态 IP( CentOS 7 示例)

编辑对应网卡配置文件,一般位于 /etc/sysconfig/network-scripts/ifcfg-ens33(ens33 可能不同),修改关键项:

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8

保存后重启网络:systemctl restart network

CentOS 8/Stream 推荐用 nmclinmtui 文本界面配置。

系统服务管理:systemd

CentOS 7 起采用 systemd 作为初始化系统。

systemctl start nginx         # 启动服务
systemctl stop nginx          # 停止
systemctl restart nginx       # 重启
systemctl enable nginx        # 开机自启
systemctl disable nginx       # 禁止自启
systemctl status nginx        # 查看状态
journalctl -u nginx           # 查看服务日志

基本安全与防火墙

CentOS 7 默认防火墙是 firewalld,7 之前是 iptables。

firewall-cmd --state                      # 查看防火墙状态
firewall-cmd --list-all                   # 查看当前配置
firewall-cmd --add-service=http --permanent  # 永久开放 http 服务
firewall-cmd --add-port=8080/tcp --permanent  # 开放 TCP 端口
firewall-cmd --reload                     # 重载配置

临时关闭测试:systemctl stop firewalld(生产环境不建议)。

SELinux 是强制访问控制系统,初学者常遇权限问题,可先设置为宽松模式调试,但最终应保持 enforcing 状态。

getenforce               # 查看状态
setenforce 0             # 临时设为 Permissive
# 永久修改需编辑 /etc/selinux/config 中 SELINUX=permissive

收集系统信息与故障排查

uname -r                  # 内核版本
cat /etc/centos-release   # CentOS 版本
free -h                   # 内存使用
df -h                     # 磁盘空间
top                       # 实时进程监控(按 q 退出)
dmesg | tail              # 内核日志末尾
last                      # 最近登录记录