Linux之centos 系统常用命令详解(附实战案例)

CentOS 系统常用命令详解(附实战案例)

前言

本文针对 CentOS 7/8 系统,整理了运维工作中高频使用的命令,涵盖系统信息、文件操作、用户权限、软件管理、服务控制、网络配置等核心场景,并结合实战案例说明具体用法,适合运维人员日常查阅与新手学习。

一、系统基础信息查询

1. 系统版本与内核信息

命令功能说明实战案例输出解析
uname -a显示完整系统内核、主机名、硬件架构等[root@centos7 ~]# uname -aLinux centos7 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
- centos7:主机名
- 3.10.0-1160.el7.x86_64:内核版本
- x86_64:64位架构
cat /etc/redhat-release查看 CentOS 发行版本[root@centos7 ~]# cat /etc/redhat-releaseCentOS Linux release 7.9.2009 (Core)
明确系统为 CentOS 7.9 版本
hostnamectl查看/修改主机名及系统信息[root@centos7 ~]# hostnamectl显示静态主机名、操作系统、内核、硬件架构等,比 hostname 更全面

2. 硬件资源查询

命令功能说明实战案例关键参数
lscpu查看 CPU 详细信息[root@centos7 ~]# lscpu关注:CPU(s)(总核心数)、Core(s) per socket(每颗CPU核心数)、Socket(s)(CPU颗数)
free -h查看内存使用情况(人类可读单位)[root@centos7 ~]# free -h输出:
Mem: 15Gi 2.3Gi 10Gi 180Mi 2.7Gi 13Gi
- total:总内存
- used:已使用
- free:空闲内存
df -h查看磁盘分区使用情况[root@centos7 ~]# df -h常用:df -h / 查看根分区使用;df -i 查看 inode 占用(避免因 inode 满导致无法创建文件)
du -sh <目录>统计目录占用空间[root@centos7 ~]# du -sh /var/log输出:856M /var/log(日志目录总占用 856MB)
lsblk查看磁盘分区结构[root@centos7 ~]# lsblk示例输出:
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 199G 0 part /

二、文件与目录操作

1. 目录切换与查看

命令功能说明实战案例场景说明
cd切换工作目录1. cd /etc/nginx → 切换到 nginx 配置目录
2. cd .. → 返回上级目录
3. cd ~ → 切换到当前用户家目录(root 为 /root,普通用户为 /home/用户名
日常操作中最频繁的命令,结合 pwd 确认当前路径
pwd显示当前绝对路径[root@centos7 nginx]# pwd/etc/nginx避免因“不知道当前在哪”导致的误操作
ls列出目录内容1. ls -l → 详细列表(权限、所有者、大小、时间)
2. ls -a → 显示隐藏文件(以 . 开头的文件)
3. ls -lh → 详细列表+人类可读大小(如 1.2M 而非 1234567
ls -lh /var/lib/mysql 可快速查看数据库文件大小

2. 文件/目录创建与删除

命令功能说明实战案例注意事项
mkdir创建目录1. mkdir /data/backup → 创建单个备份目录
2. mkdir -p /data/nginx/{logs,html} → 递归创建多级目录(同时创建 logshtml
-p 确保父目录不存在时自动创建,避免报错
touch创建空文件/更新时间戳1. touch /data/test.txt → 创建空文件
2. touch -d "2024-01-01 10:00" test.txt → 修改文件时间戳为指定时间
常用于创建日志文件或测试文件
rm删除文件/目录1. rm /data/test.txt → 删除文件(需确认)
2. rm -f /data/test.txt → 强制删除(无提示)
3. rm -rf /data/old_logs → 强制删除目录及所有内容
rm -rf 极其危险! 避免在根目录(/)下使用,建议删除前先用 ls 确认路径
cp复制文件/目录1. cp /etc/nginx/nginx.conf /data/backup/ → 复制配置文件到备份目录
2. cp -r /etc/nginx/ /data/backup/ → 递归复制 nginx 整个目录
-r 必须用于目录复制,否则会报错
mv移动/重命名1. mv /data/test.txt /home/user/ → 移动文件到用户目录
2. mv /data/old.txt /data/new.txt → 重命名文件
移动跨分区文件时会复制后删除原文件,同分区则直接修改路径

3. 文件内容查看与编辑

命令功能说明实战案例适用场景
cat正序显示完整内容cat /etc/passwd → 查看所有用户信息适合小文件(如配置文件、用户列表)
head显示文件前 N 行1. head /var/log/messages → 显示前 10 行(默认)
2. head -20 /var/log/nginx/access.log → 显示前 20 行访问日志
快速查看文件开头(如日志的最新记录)
tail显示文件后 N 行/实时跟踪1. tail -100 /var/log/nginx/error.log → 显示最后 100 行错误日志
2. tail -f /var/log/messages → 实时跟踪日志更新(按 Ctrl+C 退出)
排查实时问题(如服务启动失败、用户访问异常)
less分页查看大文件less /var/log/secure → 分页查看安全日志(包含登录记录)支持:
- 空格翻页,b 回退
- /关键词 搜索,n 下一个匹配
- q 退出
vim文本编辑(全功能)实战步骤
1. vim /etc/nginx/nginx.conf → 打开配置文件(命令模式)
2. 按 i 进入插入模式(可编辑内容)
3. 编辑完成后按 Esc 返回命令模式
4. 输入 :wq 保存并退出;q! 强制退出不保存
运维必备编辑器,建议掌握基础操作(如搜索 :/listen、替换 :%s/80/8080/g

4. 文件查找与内容搜索

命令功能说明实战案例效率提示
find按路径/名称/大小/时间查找文件1. find /etc -name "*.conf" → 在 /etc 下查找所有 .conf 配置文件
2. find /var -size +1G → 查找 /var 下大于 1GB 的文件
3. find /data -mtime -7 → 查找 /data 下 7 天内修改的文件
查找范围大时速度较慢,可结合 -type f(仅文件)、-type d(仅目录)过滤
grep搜索文件中的关键词1. grep "error" /var/log/nginx/error.log → 查找错误日志中的 “error” 行
2. grep -r "listen 80" /etc/nginx/ → 递归搜索 nginx 目录下包含 “listen 80” 的文件
3. grep -i "failed" /var/log/secure → 忽略大小写查找 “failed”(登录失败记录)
结合 `

三、用户与权限管理

1. 用户管理(需 root 权限)

命令功能说明实战案例权限说明
useradd创建用户1. useradd webadmin → 创建普通用户(家目录默认 /home/webadmin
2. useradd -d /data/web -s /bin/bash webuser → 自定义家目录和登录 shell
新用户默认无 sudo 权限,需手动添加到 wheel 组
passwd设置/修改密码1. passwd webadmin → 为 webadmin 设置密码(输入时无回显,需确认两次)
2. passwd -l webadmin → 锁定用户(无法登录)
3. passwd -u webadmin → 解锁用户
强密码建议:包含大小写、数字、特殊字符(如 Web@123!
usermod修改用户属性1. usermod -aG wheel webadmin → 将 webadmin 添加到 wheel 组(获取 sudo 权限)
2. usermod -s /sbin/nologin webuser → 禁止 webuser 登录(适合服务用户)
-aG 表示“追加到组”,避免覆盖原有附加组
userdel删除用户1. userdel webuser → 删除用户(保留家目录)
2. userdel -r webadmin → 彻底删除用户及家目录
删除前确认用户无正在运行的进程(可用 ps -u webadmin 查看)
id查看用户身份信息[root@centos7 ~]# id webadminuid=1001(webadmin) gid=1001(webadmin) groups=1001(webadmin),10(wheel)确认用户的 UID、GID 及所属组

2. 权限管理(核心!)

(1)权限表示规则

Linux 文件权限分为 3 类用户3 种权限

  • 用户类别:所有者(u)、所属组(g)、其他用户(o)
  • 权限类型:读(r=4)、写(w=2)、执行(x=1)
  • 表示方式
    • 符号:如 rwxr-xr-x(所有者可读可写可执行,组和其他用户可读可执行)
    • 数字:如 755(4+2+1=7,4+1=5,4+1=5)

示例解析
-rwxr-xr-- 1 root root 1234 May 20 10:00 test.sh

  1. 第 1 位:文件类型(- 普通文件、d 目录、l 软链接)
  2. 2-4 位:所有者权限(rwx
  3. 5-7 位:所属组权限(r-x
  4. 8-10 位:其他用户权限(r--
(2)权限修改命令
命令功能说明实战案例常见场景
chmod修改权限1. 数字方式:chmod 755 test.sh → 所有者 rwx,组和其他 rx
2. 符号方式:chmod u+x test.sh → 给所有者加执行权限
3. 递归修改:chmod -R 770 /data/web → 目录及子内容仅所有者和组可读写执行
脚本执行前需加执行权限(chmod +x script.sh
chown修改所有者/所属组1. chown webadmin:webadmin test.txt → 同时修改所有者和所属组为 webadmin
2. 递归修改:chown -R nginx:nginx /usr/share/nginx/html → nginx 网站目录归属 nginx 用户
服务启动失败常因权限不足(如 nginx 无权限读取网站文件)

四、软件包管理

CentOS 7 用 yum,CentOS 8 用 dnf(用法兼容 yum),均基于 RPM 包管理,支持自动解决依赖。

1. YUM/DNF 常用命令(需 root 权限)

命令功能说明实战案例注意事项
yum clean all清理缓存[root@centos7 ~]# yum clean all解决“缓存过期导致无法安装”问题
yum makecache生成缓存[root@centos7 ~]# yum makecache加速后续软件包查找和安装
yum repolist查看启用的仓库[root@centos7 ~]# yum repolist确认是否启用 EPEL 等第三方仓库(需先安装 epel-release
yum install安装软件1. yum install nginx -y → 安装 nginx(-y 自动确认)
2. yum install epel-release -y → 安装 EPEL 仓库(提供更多软件)
安装前建议更新缓存(yum makecache
yum update更新软件1. yum update nginx -y → 仅更新 nginx
2. yum update -y → 更新系统所有软件(包括内核,建议生产环境谨慎操作)
更新内核后需重启生效(reboot
yum remove卸载软件[root@centos7 ~]# yum remove nginx -y会自动卸载依赖,但可能影响其他软件,卸载前确认
yum list installed查看已安装软件`[root@centos7 ~]# yum list installedgrep java` → 查看已安装的 Java 包

2. RPM 包管理(手动安装,需 root 权限)

命令功能说明实战案例适用场景
rpm -ivh安装 RPM 包[root@centos7 ~]# rpm -ivh nginx-1.20.1-1.el7.x86_64.rpm无网络时手动安装本地 RPM 包
rpm -qa查看已安装 RPM 包`[root@centos7 ~]# rpm -qagrep mysql` → 查找已安装的 MySQL 相关包
rpm -ql查看 RPM 包文件列表[root@centos7 ~]# rpm -ql nginx → 查看 nginx 安装的所有文件路径定位配置文件、二进制文件位置

五、服务与进程管理

1. Systemd 服务管理(CentOS 7+ 核心,需 root 权限)

命令功能说明实战案例(以 nginx 为例)故障排查
systemctl start启动服务[root@centos7 ~]# systemctl start nginx启动失败用 systemctl status nginx 查看日志
systemctl stop停止服务[root@centos7 ~]# systemctl stop nginx停止后用 netstat -tuln 确认端口是否释放
systemctl restart重启服务[root@centos7 ~]# systemctl restart nginx配置文件修改后需重启(或 reload
systemctl reload重新加载配置[root@centos7 ~]# systemctl reload nginx无需中断服务,优先使用(如 nginx、apache 配置更新)
systemctl enable开机自启[root@centos7 ~]# systemctl enable nginx服务器重启后自动启动服务
systemctl status查看服务状态[root@centos7 ~]# systemctl status nginx输出包含:
- 活跃状态(active/inactive)
- 最近日志(如启动失败原因)

2. 进程管理

命令功能说明实战案例常用参数
ps查看进程状态1. ps aux → 查看所有用户的所有进程
2. `ps aux
grep nginx` → 查找 nginx 相关进程
top实时查看系统进程与资源占用[root@centos7 ~]# top交互操作:
- P:按 CPU 占用排序
- M:按内存占用排序
- k:终止进程(输入 PID)
- q:退出
kill终止进程1. kill 1234 → 发送 SIGTERM 信号终止 PID 为 1234 的进程
2. kill -9 1234 → 强制终止进程(SIGKILL 信号,无法忽略)
先尝试 kill,无效再用 kill -9(强制终止可能丢失数据)
pkill按进程名终止进程[root@centos7 ~]# pkill nginx → 终止所有 nginx 进程kill 更便捷(无需查找 PID)

六、网络配置与管理

1. 网络信息查询

命令功能说明实战案例输出关键信息
ip addr查看网卡 IP 地址[root@centos7 ~]# ip addr关注:inet 192.168.1.100/24(IP 及子网掩码)、eth0(网卡名)
ip route查看路由表[root@centos7 ~]# ip route输出:default via 192.168.1.1 dev eth0(默认网关为 192.168.1.1)
ping测试网络连通性1. ping 192.168.1.1 → 测试内网网关连通性
2. ping www.baidu.com -c 4 → 测试外网连通性(-c 4 发送 4 个包后停止)
丢包或超时表示网络不通
netstat查看端口占用[root@centos7 ~]# netstat -tuln选项:
t:TCP 端口
u:UDP 端口
l:监听中端口
n:数字显示(不解析域名)
ss查看端口占用(替代 netstat)`[root@centos7 ~]# ss -tulngrep 80` → 查看 80 端口是否被占用

2. 防火墙配置(firewalld,CentOS 7+ 默认)

命令功能说明实战案例生产建议
systemctl start firewalld启动防火墙[root@centos7 ~]# systemctl start firewalld生产环境必须开启防火墙
firewall-cmd --add-port=80/tcp --permanent永久开放 80 端口开放后需重新加载:firewall-cmd --reload--permanent 表示永久生效(重启不丢失)
firewall-cmd --list-ports查看开放的端口[root@centos7 ~]# firewall-cmd --list-ports确认需要的端口是否开放
firewall-cmd --remove-port=8080/tcp --permanent永久关闭 8080 端口关闭后需重新加载:firewall-cmd --reload及时关闭无用端口,减少攻击面

七、系统常用操作

命令功能说明实战案例备注
reboot重启系统[root@centos7 ~]# reboot生产环境重启前需通知用户,关闭重要服务
shutdown -h now立即关机[root@centos7 ~]# shutdown -h now替代 poweroff,更安全
shutdown -h +10 "System will shutdown in 10 minutes"10 分钟后关机可通过 shutdown -c 取消关机用于计划维护
sync同步内存数据到磁盘[root@centos7 ~]# sync关机前执行,避免数据丢失
history查看命令历史[root@centos7 ~]# history → 显示最近执行的命令Ctrl+R 可搜索历史命令(输入关键词)
tar压缩/解压文件1. 压缩:tar -zcvf /data/backup/nginx.tar.gz /etc/nginx/
2. 解压:tar -zxvf /data/backup/nginx.tar.gz -C /tmp/
选项:
z:gzip 压缩
c:创建压缩包
x:解压
v:显示过程
f:指定文件名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/921144.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/921144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成知识图谱与技能树的工具指南:PlantUML、Mermaid 和 D3.js

摘要本文详细介绍了生成知识图谱、技能树和桑基图的工具&#xff0c;包括 PlantUML、Mermaid 和 D3.js&#xff0c;以及它们的概念、原理和使用方法。文档为前端开发提供了示例知识图谱、技能树和桑基图&#xff0c;并为新手提供了在线编辑器和 VS Code 的操作步骤&#xff0c;…

如何正确使用ChatGPT做数学建模比赛——数学建模AI使用技巧

文章转自川川菜鸟&#xff1a;如何正确使用ChatGPT做数学建模比赛 引言 数学建模竞赛是将数学理论应用于解决现实世界问题的一项重要赛事。在这类比赛中&#xff0c;学生团队通常需要在有限时间内完成从问题分析、模型构建、算法实现到结果分析和论文撰写的一整套流程。这对参…

存算一体:重构AI计算的革命性技术(3)

四、存算一体技术的未来发展趋势与前景 4.1 技术发展&#xff1a;从“单点突破”到“多维度融合” 4.1.1 新型存储介质&#xff1a;忆阻器成核心方向 未来5-10年&#xff0c;忆阻器&#xff08;RRAM&#xff09;将成为存算一体芯片的主流存储介质&#xff0c;关键突破集中在三方…

LangChain开源LLM集成:从本地部署到自定义生成的低成本落地方案

LangChain开源LLM集成&#xff1a;从本地部署到自定义生成的低成本落地方案 目录 核心定义与价值底层实现逻辑代码实践设计考量替代方案与优化空间 1. 核心定义与价值 1.1 本质定位&#xff1a;开源LLM适配机制的桥梁作用 LangChain的开源LLM适配机制本质上是一个标准化接口…

记录一下node后端写下载https的文件报错,而浏览器却可以下载。

用node 写的下载&#xff0c;直接报错error downloading or exxtraction file: unable to verify the first certificate 根据此信息也是排查了老半天了。浏览器却可下载。问了ai之后才发现&#xff0c;证书如果不完整&#xff0c;浏览器会自动补全证书。 先用此网站SSL Serv…

Spring AI调用sglang模型返回HTTP 400分析处理

Spring AI调用sglang模型返回HTTP 400分析处理 一、问题描述 环境 java21springboot: 3.5.5spring-ai: 1.0.1 问题描述 Spring AI调用公司部署的sglang大模型返回错误HTTP 400 - {"object":"error","message":[{type: missing, loc: (body,), ms…

rust学习之开发环境

工具链 安装 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh确认 ethanG5000:~$ rustc --version rustc 1.89.0 (29483883e 2025-08-04)创建工程 创建 cargo new demo上述&#xff0c;demo为工程名称。 调试 cargo run静态编译 目前计划使用rust编写一些小工具。…

计算机毕业设计选题推荐:基于Python+Django的新能源汽车数据分析系统

精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、项目介绍二…

MATLAB矩阵及其运算(三)矩阵的创建

3.1 元素输入法元素输入法是最简单&#xff0c;也是最常用的一种矩阵的生成方法。例如&#xff1a;注意&#xff1a;整个矩阵必须用“[]”括起来&#xff1b;元素之间必须用逗号“&#xff0c;”或空格分开&#xff1b;矩阵的行与行之间必须用“&#xff1b;”或者回车键“Ente…

JVM分析(OOM、死锁、死循环)(JProfiler、arthas、jdk调优工具(命令行))

JVM分析&#xff08;OOM、死锁、死循环&#xff09;&#xff08;JProfiler、arthas、jdk调优工具&#xff08;命令行&#xff09;&#xff09; 本文声明&#xff1a; 以下内容均为 JDK 8 springboot 2.6.13 &#xff08;windows 11 或 CentOS 7.9.2009 &#xff09;进行 ssh连…

深度学习中的数据增强实战:基于PyTorch的图像分类任务优化

在深度学习的图像分类任务中&#xff0c;我们常常面临一个棘手的问题&#xff1a;训练数据不足。无论是小样本场景还是模型需要更高泛化能力的场景&#xff0c;单纯依靠原始数据训练的模型很容易陷入过拟合&#xff0c;导致在新数据上的表现不佳。这时候&#xff0c;数据增强&a…

IEEE 802.11 MAC架构解析:DCF与HCF如何塑造现代Wi-Fi网络?

IEEE 802.11 MAC架构解析:DCF与HCF如何塑造现代Wi-Fi网络? 你是否曾好奇,当多个设备同时连接到同一个Wi-Fi网络时,它们是如何避免数据冲突并高效共享无线信道的?这背后的核心秘密就隐藏在IEEE 802.11标准的MAC(媒体访问控制)子层架构中。今天,我们将深入解析这一架构的…

深入掌握sed:Linux文本处理的流式编辑器利器

一、前言&#xff1a;sed是什么&#xff1f; 二、sed的工作原理 数据处理流程&#xff1a; 详细工作流程&#xff1a; 三、sed命令常见用法 基本语法&#xff1a; 常用选项&#xff1a; 常用操作命令&#xff1a; 四、实用示例演示 1. 输出符合条件的文本&#xff08;…

k8s三阶段项目

k8s部署discuz论坛和Tomcat商城 一、持久化存储—storageclassnfs 1.创建sa账户 [rootk8s-master scnfs]# cat nfs-provisioner-rbac.yaml # 1. ServiceAccount&#xff1a;供 NFS Provisioner 使用的服务账号 apiVersion: v1 kind: ServiceAccount metadata:name: nfs-prov…

Zynq开发实践(FPGA之流水线和冻结)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】谈到fpga相比较cpu的优势&#xff0c;很多时候我们都会谈到数据并发、边接收边处理、流水线这三个方面。所以&#xff0c;第三个优势&#xff0c;也…

接口保证幂等性你学废了吗?

接口幂等性定义&#xff1a;无论一次或多次调用某个接口&#xff0c;对资源产生的副作用都是一致的。 简单来说&#xff1a;用户由于各种原因&#xff08;网络超时、前端重复点击、消息重试等&#xff09;对同一个接口发了多次请求&#xff0c;系统只能处理一次&#xff0c;不能…

入行FPGA选择国企、私企还是外企?

不少人想要转行FPGA&#xff0c;但不知道该如何选择公司&#xff1f;下面就来为大家盘点一下FPGA大厂的薪资和工作情况&#xff0c;欢迎大家在评论区补充。一、老牌巨头在 FPGA设计 领域深耕许久&#xff0c;流程完善、技术扎实&#xff0c;公司各项制度都很完善&#xff0c;前…

考研总结,25考研京区上岸总结(踩坑和建议)

我的本科是一所普通的双非&#xff0c;其实&#xff0c;从我第一天入学时候&#xff0c;我就想走出去&#xff0c;开学给我带来的更多是失望&#xff08;感觉自己高考太差劲了&#xff09;&#xff0c;是不甘心&#xff08;自己一定可以去更好的地方&#xff09;。我在等一次机…

基于数据挖掘的当代不孕症医案证治规律研究

标题:基于数据挖掘的当代不孕症医案证治规律研究内容:1.摘要 背景&#xff1a;随着现代生活方式的改变&#xff0c;不孕症的发病率呈上升趋势&#xff0c;为探索有效的中医证治规律&#xff0c;数据挖掘技术为其提供了新的途径。目的&#xff1a;运用数据挖掘方法研究当代不孕症…

《sklearn机器学习》——调整估计器的超参数

GridSearchCV 详解&#xff1a;网格搜索与超参数优化 GridSearchCV 是 scikit-learn 中用于超参数调优的核心工具之一。它通过系统地遍历用户指定的参数组合&#xff0c;使用交叉验证评估每种组合的性能&#xff0c;最终选择并返回表现最优的参数配置。这种方法被称为网格搜索&…