1、系统信息
| 类别 | 命令 | 说明 |
|---|---|---|
| 系统信息 | uname -r | 显示内核版本 |
| lsb_release -a | 显示发行版信息(如 CentOS 7) | |
| cat /etc/redhat-release | 查看 CentOS 版本信息 | |
| cat /proc/cpuinfo | 查看 CPU 详细信息 | |
| lscpu | 显示 CPU 架构和核心数 | |
| lsblk | 查看块设备和挂载点信息 | |
| hostnamectl | 查看和设置主机名、系统信息 | |
| cat /etc/os-release | 查看系统版本信息 | |
| whoami | 显示当前用户名 | |
| dmidecode -t system | 查看硬件系统信息(需 root) | |
| lshw | 列出所有硬件信息(需安装 lshw) | |
| free -h | 查看内存和交换区使用情况 | |
| swapon --show | 显示交换分区使用情况 | |
| uptime | 显示系统运行时间和负载 | |
| cat /proc/meminfo | 查看内存详细信息 | |
| nproc | 显示 CPU 核心数 | |
| lscpu | grep "Model name" | 查看 CPU 型号 | |
| cat /proc/uptime | 查看系统运行时间(秒) | |
| cat /sys/class/dmi/id/product_name | 查看硬件产品名称 |
2、用户与组管理
| 类别 | 命令 | 说明 |
|---|---|---|
| 用户与组管理 | adduser <用户名> | 添加新用户 |
| userdel -r <用户名> | 删除用户及其家目录 | |
| passwd <用户名> | 修改指定用户密码 | |
| passwd | 修改当前用户密码 | |
| sudo passwd root | 修改 root 用户密码 | |
| groupadd <组名> | 创建新组 | |
| groupdel <组名> | 删除组 | |
| usermod -aG <组名> <用户名> | 将用户添加到组 | |
| usermod -s /bin/bash <用户名> | 修改用户默认 Shell | |
| id <用户名> | 查看用户 UID、GID 和组信息 | |
| getent passwd | 查看所有用户信息 | |
| getent group | 查看所有组信息 | |
| who | 显示当前登录用户 | |
| w | 显示登录用户及活动 | |
| last | 查看用户登录历史 | |
| lastlog | 查看所有用户最后登录时间 | |
| chage -l <用户名> | 查看用户密码过期信息 | |
| usermod -L <用户名> | 锁定用户账户 | |
| usermod -U <用户名> | 解锁用户账户 | |
| vipw | 安全编辑 /etc/passwd 文件 | |
| vigr | 安全编辑 /etc/group 文件 |
3、主机名与网络配置
| 类别 | 命令 | 说明 |
|---|---|---|
| 主机名与网络配置 | hostnamectl set-hostname <主机名> | 设置主机名 |
| hostname | 显示当前主机名 | |
| echo <主机名> > /etc/hostname | 永久修改主机名(需重启生效) | |
| vi /etc/sysconfig/network | 编辑网络配置文件,设置主机名 | |
| echo "nameserver 8.8.8.8" > /etc/resolv.conf | 设置 DNS(临时,重启可能失效) | |
| vi /etc/sysconfig/network-scripts/ifcfg-<接口> | 编辑网络接口配置文件,添加 DNS | |
| service network restart | 重启网络服务以应用 DNS | |
| cat /etc/resolv.conf | 查看当前 DNS 配置 | |
| nslookup <域名> | 查询域名解析 | |
| dig <域名> | 详细 DNS 查询(需安装 bind-utils) | |
| host <域名> | 简单 DNS 查询(需 bind-utils) | |
| ip addr show | 显示所有接口的 IP 和状态 | |
| ip link show | 显示网络接口状态(无 IP) | |
| ifconfig | 显示接口状态(需 net-tools) | |
| ip link set <接口> up | 启用网络接口 | |
| ip link set <接口> down | 禁用网络接口 | |
| ip addr add <IP/掩码> dev <接口> | 手动添加 IP 地址 | |
| ip route show | 查看路由表 | |
| ip route add default via <网关> | 添加默认路由 | |
| ping <主机> | 测试连通性(如 ping 8.8.8.8) | |
| traceroute <主机> | 跟踪路由路径(需 traceroute) | |
| netstat -tuln | 查看监听端口(需 net-tools) | |
| ss -tuln | 查看监听端口(替代 netstat) | |
| curl <URL> | 获取网页内容 | |
| wget <URL> | 下载文件 |
4、SSH 管理
| 类别 | 命令 | 说明 |
|---|---|---|
| SSH 管理 | ssh-keygen -t rsa | 生成 RSA 密钥对 |
| ssh-keygen -t rsa -b 4096 | 生成 4096 位 RSA 密钥对 | |
| ssh-copy-id <用户@主机> | 将公钥复制到远程主机 | |
| ssh <用户@主机> | 登录远程主机 | |
| ssh -p <端口> <用户@主机> | 指定端口登录远程主机 | |
| sudo systemctl restart sshd | 重启 SSH 服务 | |
| sudo systemctl status sshd | 检查 SSH 服务状态 | |
| sudo systemctl enable sshd | 设置 SSH 服务开机自启 | |
| cat ~/.ssh/id_rsa.pub | 查看本地公钥 | |
| ssh-add | 将私钥添加到 SSH 代理 | |
| sudo vi /etc/ssh/sshd_config | 编辑 SSH 服务配置文件 | |
| ssh -i <私钥文件> <用户@主机> | 使用指定私钥登录 | |
| ssh-keygen -R <主机> | 从 known_hosts 删除主机指纹 |
5、时间与时区管理
| 类别 | 命令 | 说明 |
|---|---|---|
| 时间与时区管理 | date | 显示当前日期和时间 |
| timedatectl | 查看系统时间和时区状态 | |
| timedatectl set-timezone Asia/Shanghai | 设置时区为上海 | |
| timedatectl set-time "2025-04-10 10:00:00" | 手动设置系统时间 | |
| yum install ntp -y | 安装 NTP 服务 | |
| ntpdate pool.ntp.org | 手动同步时间 | |
| systemctl start ntpd | 启动 NTP 服务 | |
| systemctl enable ntpd | 设置 NTP 服务开机自启 | |
| hwclock | 查看硬件时钟 | |
| hwclock --systohc | 将系统时间同步到硬件时钟 | |
| hwclock --hctosys | 将硬件时钟同步到系统时间 | |
| timedatectl list-timezones | 列出所有可用时区 |
6、防火墙管理
| 类别 | 命令 | 说明 |
|---|---|---|
| 防火墙管理 | iptables -L -n -v | 查看 iptables 规则 |
| iptables -A INPUT -p tcp --dport 22 -j ACCEPT | 允许 SSH 连接 | |
| iptables -A INPUT -p tcp --dport 80 -j ACCEPT | 允许 HTTP 连接 | |
| iptables -A INPUT -j DROP | 拒绝所有未匹配的连接 | |
| service iptables save | 保存 iptables 规则 | |
| service iptables restart | 重启 iptables 服务 | |
| firewall-cmd --state | 查看 firewalld 状态(需安装 firewalld) | |
| firewall-cmd --permanent --add-service=ssh | 允许 SSH 服务 | |
| firewall-cmd --permanent --add-port=80/tcp | 开放 80 端口 | |
| firewall-cmd --reload | 重新加载 firewalld 规则 | |
| firewall-cmd --list-all | 查看当前区域的所有规则 |
7、SELinux 管理
| 类别 | 命令 | 说明 |
|---|---|---|
| SELinux 管理 | getenforce | 查看当前 SELinux 状态 |
| setenforce 0 | 临时禁用 SELinux(0=关闭,1=启用) | |
| setenforce 1 | 临时启用 SELinux | |
| vi /etc/selinux/config | 编辑 SELinux 配置文件 | |
| sestatus | 查看详细 SELinux 状态 | |
| semanage fcontext -a -t httpd_sys_content_t "/var/www(/.*)?" | 设置文件上下文(例如 Apache) | |
| restorecon -R /var/www | 恢复目录的 SELinux 上下文 | |
| ausearch -m avc | 查看 SELinux 拒绝日志 | |
| semanage port -l | 列出 SELinux 端口策略 | |
| semanage port -a -t http_port_t -p tcp 8080 | 添加自定义端口到 SELinux 策略 |
8、文件与目录管理
| 类别 | 命令 | 说明 |
|---|---|---|
| 文件与目录管理 | mkdir -p /路径/目录 | 创建目录及其父目录 |
| rmdir 目录名 | 删除空目录 | |
| ls -lh | 列出目录内容(-a 显示隐藏文件) | |
| ls -ld 目录名 | 查看目录本身的详细信息 | |
| cp -r 源目录 目标目录 | 递归复制目录及其内容 | |
| mv 源文件 目标文件 | 移动或重命名文件/目录 | |
| rm -rf 目录名 | 强制删除目录及其内容(谨慎使用) | |
| touch 文件名 | 创建空文件或更新时间戳 | |
| ln -s 源文件 链接名 | 创建符号链接 | |
| ln 源文件 硬链接名 | 创建硬链接 | |
| cat 文件名 | 查看文件内容 | |
| less 文件名 | 分页查看文件(q 退出) | |
| more 文件名 | 分页查看文件(空格翻页) | |
| head -n 10 文件名 | 查看文件前 10 行 | |
| tail -n 10 文件名 | 查看文件后 10 行 | |
| tail -f 文件名 | 实时查看文件末尾(日志用) | |
| stat 文件名 | 查看文件详细状态(权限、大小等) | |
| file 文件名 | 查看文件类型 |
9、文件搜索与文本处理
| 类别 | 命令 | 说明 |
|---|---|---|
| 文件搜索与文本处理 | find / -name "*.txt" | 查找所有 .txt 文件 |
| find /路径 -type f -mtime -7 | 查找 7 天内修改的文件 | |
| locate 文件名 | 快速查找文件(需 updatedb) | |
| whereis <命令> | 查找命令位置(如 whereis ls) | |
| which <命令> | 显示命令路径(如 which python) | |
| grep -r "模式" /路径 | 递归搜索匹配文本 | |
| grep -i "模式" 文件名 | 忽略大小写搜索文本 | |
| awk '{print $2}' 文件名 | 打印文件第二列 | |
| sed 's/旧/新/g' 文件名 | 替换文件中匹配文本(不修改原文件) | |
| sed -i 's/旧/新/g' 文件名 | 替换文件中匹配文本并保存 | |
| cut -d',' -f1 文件名 | 按逗号分隔提取第一列 | |
| sort 文件名 | 对文件内容排序 | |
| uniq 文件名 | 去除重复行(需先排序) | |
| wc -l 文件名 | 统计文件行数 |
10、权限管理
| 类别 | 命令 | 说明 |
|---|---|---|
| 权限管理 | chmod 755 文件名 | 修改文件权限(755 = rwx/r-x/r-x) |
| chmod -R 644 目录名 | 递归修改目录下文件权限 | |
| chown -R 用户:组 目录 | 递归更改所有者和组 | |
| chgrp 组名 文件名 | 更改文件所属组 | |
| ls -l 文件名 | 查看文件权限详情 | |
| setfacl -m u:用户:rwx 文件名 | 设置文件 ACL 权限 | |
| getfacl 文件名 | 查看文件 ACL 权限 |
11、进程管理
| 类别 | 命令 | 说明 |
|---|---|---|
| 进程管理 | ps aux | 列出所有正在运行的进程 |
| ps -ef | 列出所有进程详细信息 | |
| kill -9 <PID> | 强制终止进程(PID 为进程 ID) | |
| pkill -9 <进程名> | 按进程名强制终止 | |
| killall <进程名> | 终止所有匹配进程名的进程 | |
| top | 实时查看进程状态(q 退出) | |
| htop | 更友好的进程查看工具(需安装) | |
| jobs | 查看后台任务 | |
| bg | 将暂停任务放入后台 | |
| fg | 将后台任务切换到前台 | |
| nohup <命令> & | 后台运行命令并忽略挂起信号 | |
| nice -n 10 <命令> | 以指定优先级运行命令 | |
| renice 10 <PID> | 调整运行中进程优先级 |
12、日志查看与分析
| 类别 | 命令 | 说明 |
|---|---|---|
| 日志查看与分析 | journalctl -xe | 查看系统日志并跳转到末尾 |
| journalctl -u <服务名> | 查看指定服务日志(如 sshd) | |
| journalctl -b | 查看本次启动的日志 | |
| journalctl --since "YYYY-MM-DD" | 查看指定日期后的日志 | |
| tail -n 50 /var/log/messages | 查看系统日志最后 50 行 | |
| tail -f /var/log/secure | 实时查看安全日志(认证相关) | |
| dmesg | 查看内核日志 | |
| dmesg --level=err | 查看错误级别的内核日志 | |
| ausearch -m avc | 查看 SELinux 拒绝日志 | |
| logrotate -f /etc/logrotate.conf | 强制执行日志轮转 |
13、磁盘与空间管理
| 类别 | 命令 | 说明 |
|---|---|---|
| 磁盘与空间管理 | df -h | 查看磁盘分区使用情况 |
| df -i | 查看磁盘 inode 使用情况 | |
| du -sh /路径 | 计算指定路径总大小 | |
| sudo fdisk -l | 列出磁盘分区信息(需 root) | |
| lsblk | 列出块设备信息 | |
| parted -l | 查看分区表信息(需 parted) | |
| mkfs.ext4 /dev/sdX | 格式化分区为 ext4(替换 /dev/sdX) | |
| mkfs.xfs /dev/sdX | 格式化分区为 xfs | |
| mount /dev/sdX /mnt | 挂载分区到指定目录 | |
| umount /mnt | 卸载挂载点 | |
| blkid | 查看块设备 UUID 和类型 | |
| parted /dev/sdX mklabel gpt | 创建 GPT 分区表 | |
| parted /dev/sdX mkpart primary 0% 100% | 创建主分区 | |
| resize2fs /dev/sdX | 调整 ext 文件系统大小 | |
| xfs_growfs /mnt | 扩展 xfs 文件系统大小 |
14、软件包管理(YUM)
| 类别 | 命令 | 说明 |
|---|---|---|
| 软件包管理 | yum update -y | 更新所有软件包 |
| yum install <软件名> -y | 安装指定软件包(如 nginx) | |
| yum remove <软件名> -y | 删除软件包 | |
| yum autoremove -y | 清理不再需要的依赖包 | |
| yum clean all | 删除缓存的软件包文件 | |
| yum list installed | 列出已安装的软件包 | |
| yum list available | 列出可安装的软件包 | |
| yum provides <文件> | 查找提供指定文件的软件包 | |
| yum info <软件名> | 查看软件包详细信息 | |
| yum groupinstall <组名> | 安装软件包组(如 "Development Tools") | |
| yum repolist | 查看启用的软件源 | |
| yum-config-manager --add-repo <URL> | 添加第三方软件源(需 yum-utils) | |
| yum history | 查看 YUM 操作历史 | |
| yum check-update | 检查可用更新 |
15、容器管理(Docker)
| 类别 | 命令 | 说明 |
|---|---|---|
| 容器管理 | yum install docker -y | 安装 Docker |
| systemctl start docker | 启动 Docker 服务 | |
| systemctl enable docker | 设置 Docker 开机自启 | |
| docker ps | 查看运行中的容器 | |
| docker ps -a | 查看所有容器(包括停止的) | |
| docker run -d <镜像名> | 后台运行容器 | |
| docker run -it <镜像名> /bin/bash | 交互式运行容器 | |
| docker stop <容器名> | 停止容器 | |
| docker rm <容器名> | 删除容器 | |
| docker images | 查看本地镜像 | |
| docker pull <镜像名> | 拉取镜像 | |
| docker rmi <镜像名> | 删除镜像 | |
| docker build -t <镜像名> . | 从 Dockerfile 构建镜像 | |
| docker exec -it <容器名> /bin/bash | 进入容器终端 | |
| docker logs <容器名> | 查看容器日志 |
16、性能监控
| 类别 | 命令 | 说明 |
|---|---|---|
| 性能监控 | top | 实时查看进程状态(q 退出) |
| htop | 更友好的进程查看工具(需安装) | |
| vmstat 1 | 每秒刷新系统资源使用情况 | |
| iostat | 查看 CPU 和 IO 统计(需 sysstat) | |
| iotop | 实时查看磁盘 IO(需 iotop) | |
| mpstat 1 | 每秒显示 CPU 使用情况(需 sysstat) | |
| pidstat 1 | 每秒显示进程资源使用(需 sysstat) | |
| sar -u 1 | 每秒显示 CPU 使用情况(需 sysstat) | |
| free -m | 查看内存使用情况(以 MB 为单位) |
17、备份与恢复
| 类别 | 命令 | 说明 |
|---|---|---|
| 备份与恢复 | tar -cvf backup.tar /路径 | 创建备份文件 |
| tar -xvf backup.tar | 解压备份文件 | |
| rsync -av /源 /目标 | 同步备份文件/目录 | |
| dd if=/dev/sda of=/backup.img bs=4M | 创建磁盘镜像 | |
| dd if=/backup.img of=/dev/sda bs=4M | 恢复磁盘镜像 | |
| xfsdump -f /backup.xfs /mnt | 备份 xfs 文件系统(需 xfsdump) |
18、内核模块管理
| 类别 | 命令 | 说明 |
|---|---|---|
| 内核模块管理 | lsmod | 列出已加载的内核模块 |
| modprobe <模块名> | 加载内核模块 | |
| rmmod <模块名> | 卸载内核模块 | |
| modinfo <模块名> | 查看模块详细信息 | |
| depmod | 更新模块依赖 | |
| cat /proc/modules | 查看当前加载的模块 |
19、历史命令管理
| 类别 | 命令 | 说明 |
|---|---|---|
| 历史命令管理 | history | 查看历史命令 |
| history | grep <关键词> | 搜索历史命令 | |
| echo "export HISTTIMEFORMAT='%F %T '" >> ~/.bashrc | 显示历史命令时间戳 | |
| history -c | 清空当前会话历史 | |
| ctrl + r | 交互式搜索历史命令 | |
| !<编号> | 执行指定编号的历史命令 |
20、系统维护
| 类别 | 命令 | 说明 |
|---|---|---|
| 系统维护 | reboot | 重启系统 |
| shutdown -h now | 立即关闭系统 | |
| shutdown -r 10 | 10 分钟后重启系统 | |
| systemctl rescue | 进入救援模式 | |
| systemctl emergency | 进入紧急模式 | |
| fsck /dev/sda1 | 检查并修复文件系统(替换 /dev/sda1) | |
| grub2-mkconfig -o /boot/grub2/grub.cfg | 更新 GRUB 配置文件 | |
| systemctl daemon-reload | 重新加载 systemd 配置 | |
| systemctl list-units | 列出所有 systemd 单元状态 |
注意事项
- 软件包管理:CentOS 7 使用 yum,不支持模块化软件包管理。
- 容器管理:CentOS 7 默认无 podman,需安装 Docker。
- 网络管理:CentOS 7 默认使用 network-scripts,nmcli 需安装 NetworkManager。
- SELinux:CentOS 7 默认启用 SELinux,部分命令需考虑 SELinux 上下文。
- 文件系统:CentOS 7 支持 ext4 和 xfs,默认多为 ext4。
6340

被折叠的 条评论
为什么被折叠?



