侧边栏壁纸
  • 累计撰写 30 篇文章
  • 累计创建 40 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

CentOS 命令大全:从基础到高级完全指南(v2025)

16uni
2025-06-25 / 0 评论 / 0 点赞 / 13 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

本CentOS/Linux命令手册,涵盖300+核心命令的深度解析,从文件操作、文本处理到系统监控、网络配置、安全管理一应俱全。每个命令均提供功能说明+核心参数+真实场景示例,并附赠最佳实践、安全规范与学习资源。无论您是初学者还是高级运维工程师,均可快速提升服务器管理效率,规避操作风险。

一、基础文件与目录操作

1. 目录与文件管理

ls - 列出目录内容

ls [选项] [文件或目录]

功能:列出目录内容,包括文件和子目录的名称等信息。

核心参数

  • -a:显示包括隐藏文件(以.开头的文件)在内的所有文件

  • -l:使用长列表格式显示文件的详细信息(文件类型、权限、拥有者、大小、修改时间)

  • -h:与-l一起使用,以易读格式(K/M/G)显示文件大小

  • -t:按修改时间排序,最新的文件排在前面

  • -R:递归列出子目录内容

  • --color=auto:启用颜色分类显示

示例

ls -lah /home  # 查看/home目录下所有文件(含隐藏文件)的详细信息ls -lathR --color=auto /path  # 按时间倒序+人性化大小显示隐藏文件并递归列出子目录

cd - 切换目录

cd [目录名]

功能:用于切换当前工作目录。

常见用法

  • cd /usr/local:切换到绝对路径

  • cd ..:切换到上级目录

  • cd ~cd:返回用户主目录

  • cd -:返回上一个工作目录

pwd - 显示当前目录

pwd [选项]

功能:显示当前所在的目录的完整路径。

参数

  • -P:显示实际物理路径(非符号链接路径)

示例

pwd -P  # 显示物理路径

mkdir - 创建目录

mkdir [选项] 目录...

功能:创建新的目录。

核心参数

  • -p:递归创建多级目录

  • -m:设置目录权限(如-m 755

示例

mkdir -p /data/project/{src,log,backup}  # 一次性创建多级嵌套目录mkdir -m 755 shared_dir  # 创建权限为755的目录

rmdir - 删除空目录

rmdir [选项] 目录...

功能:删除空目录。

参数

  • -p:递归删除多级空目录

2. 文件操作

cp - 复制文件/目录

cp [选项] 源文件或目录... 目标文件或目录...

功能:复制文件或目录。

核心参数

  • -r/-R:递归复制目录及其内容

  • -p:保留文件的原始属性(权限、拥有者、时间戳)

  • -i:覆盖前提示确认

  • -v:显示复制过程

  • -a:归档模式(相当于-dR --preserve=all

示例

cp -rv /source_dir /backup/  # 递归复制并显示过程cp -a /source /dest  # 完整保留所有属性复制

mv - 移动/重命名

mv [选项] 源文件或目录... 目标文件或目录...

功能:移动或重命名文件/目录。

核心参数

  • -i:覆盖前提示确认

  • -f:强制覆盖,不提示

  • -u:只移动更新的文件

  • -v:显示移动过程

示例

mv -fiv source dest  # 强制覆盖并显示过程

rm - 删除文件/目录

rm [选项] 文件或目录...

功能:删除文件或目录。

核心参数

  • -r/-R:递归删除目录及其内容

  • -f:强制删除,不提示

  • -i:删除前提示确认

  • --preserve-root:防止误删根目录(默认启用)

危险示例

rm -rf /  # 这将阻止执行,保护根目录。但实际需依赖--preserve-root(默认启用)。rm -rf dir/*  # 删除目录下所有内容(慎用!)

⚠️ 即使有防护,类似rm -rf /*仍可能摧毁系统!生产环境务必使用alias rm='rm -i'

touch - 创建文件/更新时间戳

touch [选项] 文件...

功能:创建空文件或更新文件时间戳。

参数

  • -c:不创建新文件

  • -t:指定时间戳(格式[[CC]YY]MMDDhhmm[.ss])

示例

touch -t 202406251200 file  # 设置文件时间戳为2024年6月25日12:00

ln - 创建链接

ln [选项] 源文件 链接文件

功能:创建文件链接。

参数

  • -s:创建符号链接(软链接)

  • -v:显示链接创建过程

示例

ln -sv /path/to/file link_name  # 创建符号链接

3. 文件查看与编辑

cat - 查看文件内容

cat [选项] [文件]...

功能:显示文件内容,或将多个文件内容连接起来输出。

核心参数

  • -n:显示行号

  • -b:对非空行编号

  • -s:压缩连续空行为一行

  • -E:在行尾显示$符号

示例

cat -n /etc/passwd  # 查看带行号的passwd文件

more/less - 分页查看

more [选项] [文件]...less [选项] [文件]...

功能:分页查看大文件内容。

more操作

  • 空格键:向下翻页

  • Enter:向下翻一行

  • q:退出

less增强功能

  • /pattern:向下搜索

  • ?pattern:向上搜索

  • b:向上翻页

  • F:实时跟踪文件增长(类似tail -f

head/tail - 查看文件首尾

head [选项] [文件]...tail [选项] [文件]...

功能:查看文件开头/结尾部分。

核心参数

  • -n:指定显示的行数(如-n 20

  • -f(tail):实时跟踪文件新增内容

  • -s(tail):指定刷新间隔秒数

示例

tail -f /var/log/messages  # 实时监控日志文件tail -n 100 -s 5 /var/log/secure  # 每5秒刷新显示最后100行

4. 文件查找

find - 高级文件搜索

find [路径...] [表达式...]

功能:在指定目录及其子目录中查找文件。

常用表达式

  • -name:按文件名查找(支持通配符)

  • -type:按类型查找(f文件/d目录)

  • -size:按大小查找(如+50M表示大于50MB)

  • -mtime:按修改时间查找(如-7表示7天内)

  • -exec:对找到的文件执行命令

  • -delete:删除匹配的文件

示例

find /var -size +50M -mtime -30  # 查找30天内修改的>50MB文件find . -perm 644 -exec chmod 755 {} \;  # 批量修改权限
find /tmp -atime +90 -delete  # 自动清理90天未访问文件

locate - 快速文件查找

locate [选项] 模式

功能:通过数据库快速查找文件(需先运行updatedb更新数据库)。

参数

  • -i:忽略大小写

  • -r:使用正则表达式

whereis - 查找命令文件

whereis [选项] 命令名

功能:查找命令的二进制文件、源码和手册页位置。

which - 查找命令路径

which 命令名

功能:显示命令的完整路径(在PATH环境变量中查找)。

二、文本处理与过滤

1. 文本搜索

grep - 文本搜索

grep [选项] 模式 [文件...]

功能:在文件中搜索匹配模式的行。

核心参数

  • -i:忽略大小写

  • -v:反向匹配(显示不匹配的行)

  • -n:显示匹配行号

  • -r/-R:递归搜索目录

  • -l:仅显示包含匹配项的文件名

  • -C:显示匹配行的上下文(前后几行)

  • -E:使用扩展正则表达式

  • --include:指定搜索文件类型

示例

grep -Einr "error|warn" /var/log --include="*.log"  # 递归搜索日志中的错误或警告grep -v "^#" /etc/nginx/nginx.conf  # 过滤掉注释行

ack/ag - 代码搜索工具

ack [选项] 模式
ag [选项] 模式

功能:专为代码搜索优化的工具,自动忽略版本控制目录和二进制文件。

2. 文本处理

sed - 流编辑器

sed [选项] '脚本' 输入文件

功能:流式文本编辑(非交互式)。

常用命令

  • s:替换(s/old/new/g全局替换)

  • d:删除行

  • p:打印行

  • a:追加行

  • i:插入行

核心参数

  • -i:直接修改文件(危险操作建议先备份)

  • -e:执行多个编辑命令

  • -n:抑制默认输出

示例

sed -i.bak 's/old_domain/new_domain/g' *.conf  # 替换并备份原文件sed '/^$/d' file.txt  # 删除所有空行

awk - 文本分析

awk [选项] '模式 {动作}' 文件

功能:强大的文本分析处理工具。

核心概念

  • -F:指定字段分隔符(默认空格)

  • NR:当前记录号(行号)

  • NF:当前记录的字段数

  • $0:整行内容

  • $1...$n:第n个字段

内置函数

  • length():字符串长度

  • sub()/gsub():字符串替换

  • split():字符串分割

示例

awk -F: '$3 >= 1000 {print $1}' /etc/passwd  # 提取普通用户netstat -tn | awk '/^tcp/{print $5}' | cut -d: -f1 | sort | uniq -c  # 统计连接IP

cut - 截取文本

cut [选项] 文件

功能:按列截取文本内容。

参数

  • -d:指定分隔符(默认TAB)

  • -f:指定字段(如1,3-5

  • -c:按字符位置截取

paste - 合并文本

paste [选项] 文件1 文件2

功能:水平合并文件内容。

参数

  • -d:指定分隔符(默认TAB)

sort - 排序

sort [选项] 文件

功能:对文本行进行排序。

参数

  • -n:按数值排序

  • -r:逆序排序

  • -k:指定排序列

  • -u:去重

  • -t:指定分隔符

uniq - 去重

uniq [选项] 文件

功能:去除或统计连续重复行。

参数

  • -c:统计出现次数

  • -d:仅显示重复行

  • -u:仅显示唯一行

tr - 字符转换

tr [选项] 字符集1 字符集2

功能:字符替换、压缩或删除。

示例

tr 'a-z' 'A-Z' < file  # 转为大写tr -d '\r' < file  # 删除回车符tr -s ' ' < file  # 压缩多个空格为单个

wc - 统计

wc [选项] 文件

功能:统计行数、词数、字符数。

参数

  • -l:行数

  • -w:词数

  • -c:字节数

  • -m:字符数

3. 高级文本工具

diff - 文件比较

diff [选项] 文件1 文件2

功能:比较文件差异。

参数

  • -u:统一格式输出(适合生成补丁)

  • -r:递归比较目录

patch - 应用补丁

patch [选项] < 补丁文件

功能:应用diff生成的补丁文件。

xargs - 参数传递

xargs [选项] [命令]

功能:将标准输入转换为命令参数。

参数

  • -n:每次传递的参数个数

  • -I:指定替换字符串

  • -P:并行进程数

示例

find . -name "*.log" | xargs -I{} mv {} /backup  # 移动所有日志文件

tee - 多重输出

tee [选项] 文件

功能:同时输出到屏幕和文件。

参数

  • -a:追加模式

三、系统管理与监控

1. 系统信息

uname - 系统信息

uname [选项]

功能:显示系统信息。

参数

  • -a:所有信息

  • -s:内核名称

  • -n:主机名

  • -r:内核版本

  • -m:硬件架构

hostnamectl - 主机名控制

hostnamectl [选项]

功能:查看/修改主机名和相关设置。

uptime - 运行时间

uptime

功能:显示系统运行时间、用户数和平均负载。

dmidecode - 硬件信息

dmidecode [选项]

功能:显示详细的硬件信息。

参数

  • -t:按类型查询(如memory

2. 资源监控

top - 实时监控

top [选项]

功能:动态显示系统进程和资源使用情况。

交互命令

  • P:按CPU排序

  • M:按内存排序

  • T:按时间排序

  • k:终止进程

  • q:退出

参数

  • -d:刷新间隔秒数

  • -p:监控指定PID

htop - 增强版top

htop [选项]

功能:交互式进程查看器(需安装)。

增强功能

  • 树状视图

  • 鼠标操作

  • 颜色标识

free - 内存信息

free [选项]

功能:显示内存使用情况。

参数

  • -h:人性化显示

  • -s:持续显示(间隔秒数)

  • -t:显示总计行

vmstat - 虚拟内存统计

vmstat [间隔] [次数]

功能:报告进程、内存、分页、块IO等系统状态。

关键指标

  • r:运行队列长度(>CPU核数表示饱和)

  • si/so:swap交换情况

iostat - I/O统计

iostat [选项] [间隔] [次数]

功能:监控CPU使用率和设备I/O情况。

参数

  • -d:仅显示设备报告

  • -x:扩展统计信息

sar - 系统活动报告

sar [选项] [间隔] [次数]

功能:收集、报告和保存系统活动信息。

常用选项

  • -u:CPU使用率

  • -r:内存使用

  • -b:I/O统计

  • -n:网络统计

dstat - 综合监控

dstat [选项]

功能:多功能系统资源统计工具。

3. 进程管理

ps - 进程快照

ps [选项]

功能:显示当前进程状态。

常用组合

  • ps aux:BSD格式显示所有进程

  • ps -ef:标准格式显示所有进程

  • ps -eLf:显示线程信息

pidstat - 进程统计

pidstat [选项] [间隔] [次数]

功能:监控进程级别的CPU、内存、I/O等。

kill - 终止进程

kill [选项] PID...

功能:向进程发送信号。

常用信号

  • -9/SIGKILL:强制终止

  • -15/SIGTERM:正常终止(默认)

killall/pkill - 按名称终止

killall [选项] 进程名
pkill [选项] 模式

功能:根据名称终止进程。

参数

  • -u:指定用户进程

nice/renice - 调整优先级

nice [选项] 命令renice [优先级] [选项] 参数

功能:调整进程优先级(-20最高,19最低)。

4. 服务管理

systemctl - 服务管理

systemctl [选项] 命令 [服务]

功能:管理系统服务(Systemd)。

常用命令

  • start/stop/restart:启停服务

  • enable/disable:设置开机启动

  • status:查看状态

  • list-units:列出所有单元

示例

systemctl daemon-reload  # 重载服务配置systemctl enable --now httpd  # 启用并立即启动

service - 传统服务管理

service 服务名 命令

功能:兼容SysV的服务管理方式。

journalctl - 日志查询

journalctl [选项]

功能:查询systemd日志。

参数

  • -u:按服务过滤

  • -f:跟踪最新日志

  • --since/--until:时间范围

  • -k:仅内核日志

5. 计划任务

crontab - 定时任务

crontab [选项]

功能:管理用户定时任务。

常用选项

  • -e:编辑任务

  • -l:列出任务

  • -r:删除所有任务

时间格式

分钟 小时 日 月 周 命令

at - 一次性任务

at [时间]

功能:设置一次性定时任务。

时间格式

  • now + 1 hour

  • 10:00 tomorrow

四、用户与权限管理

1. 用户管理

useradd - 添加用户

useradd [选项] 用户名

功能:创建新用户。

关键参数

  • -m:创建主目录

  • -d:指定主目录路径

  • -s:指定shell

  • -g:主组

  • -G:附加组

usermod - 修改用户

usermod [选项] 用户名

功能:修改用户属性。

常用操作

  • -aG:追加附加组(不覆盖原有组)

  • -L:锁定账户

  • -U:解锁账户

userdel - 删除用户

userdel [选项] 用户名

功能:删除用户。

参数

  • -r:同时删除主目录和邮件

passwd - 密码管理

passwd [选项] [用户名]

功能:设置或修改密码。

参数

  • -l:锁定密码

  • -u:解锁密码

  • -e:强制下次登录修改密码

2. 组管理

groupadd - 添加组

groupadd [选项] 组名

功能:创建新组。

参数

  • -g:指定GID

groupmod - 修改组

groupmod [选项] 组名

功能:修改组属性。

groupdel - 删除组

groupdel 组名

功能:删除组。

3. 权限管理

chmod - 修改权限

chmod [选项] 模式 文件...

功能:修改文件权限。

模式类型

  • 符号模式:u+rwx,g+rx,o+r

  • 数字模式:755(rwxr-xr-x)

示例

chmod -R g+rwX,o= dir/  # 目录可执行权限智能分配

chown - 修改所有者

chown [选项] 所有者[:组] 文件...

功能:修改文件所有者和组。

示例

chown -R apache:apache /var/www

chgrp - 修改所属组

chgrp [选项] 组名 文件...

功能:修改文件所属组。

umask - 默认权限

umask [模式]

功能:设置文件创建时的默认权限掩码。

4. 高级权限控制

setfacl - ACL管理

setfacl [选项] 规则 文件...

功能:设置文件访问控制列表(ACL)。

常用规则

  • -m:添加/修改ACL条目

  • -x:删除ACL条目

  • -d:设置默认ACL

示例

setfacl -m u:user1:rwx,d:u:user1:rwx /shared  # 赋予用户权限+默认权限

getfacl - 查看ACL

getfacl [选项] 文件...

功能:查看文件ACL信息。

chattr - 文件属性

chattr [选项] [+-=属性] 文件...

功能:修改文件系统属性。

重要属性

  • +i:不可修改/删除

  • +a:只能追加

lsattr - 查看属性

lsattr [选项] 文件...

功能:显示文件属性。

五、网络配置与诊断

1. 网络配置

ip - 网络配置

ip [选项] 对象 命令

功能:多功能网络配置工具(替代ifconfig)。

常用对象

  • link:网络设备

  • addr:IP地址

  • route:路由表

  • neigh:ARP表

示例

ip addr show eth0  # 显示接口IP
ip route add default via 192.168.1.1  # 添加默认网关

nmcli - 网络管理

nmcli [选项] 对象 命令

功能:NetworkManager命令行工具。

常用操作

nmcli con show  # 查看连接nmcli con up/down "连接名"  # 启用/禁用连接

ifconfig - 接口配置

ifconfig [接口] [选项]

功能:配置网络接口(传统命令)。

2. 网络诊断

ping - 连通性测试

ping [选项] 主机

功能:测试网络连通性。

参数

  • -c:发送包数量

  • -i:间隔秒数

  • -W:超时时间

traceroute - 路由追踪

traceroute [选项] 主机

功能:追踪数据包路径。

参数

  • -T:使用TCP

  • -n:不解析域名

mtr - 增强版traceroute

mtr [选项] 主机

功能:结合ping和traceroute的网络诊断工具。

netstat - 网络统计

netstat [选项]

功能:显示网络连接、路由表等信息。

常用组合

  • netstat -tuln:查看监听端口

  • netstat -anp:查看所有连接及进程

ss - 套接字统计

ss [选项]

功能:查看套接字信息(替代netstat)。

常用组合

  • ss -tunlp:查看监听端口及进程

  • ss -s:统计摘要

dig - DNS查询

dig [选项] 域名 [类型]

功能:DNS查询工具。

参数

  • +trace:跟踪解析过程

  • +short:简洁输出

nslookup - DNS查询

nslookup [选项] 域名

功能:交互式DNS查询工具。

3. 网络工具

tcpdump - 抓包分析

tcpdump [选项] [表达式]

功能:网络数据包捕获分析。

常用选项

  • -i:指定接口

  • -w:保存到文件

  • -n:不解析域名

  • -X:十六进制+ASCII输出

示例

tcpdump -i eth0 'tcp port 80 and host 192.168.1.5' -w dump.pcap

nc - 网络瑞士军刀

nc [选项] 主机 端口

功能:多功能网络工具。

常用模式

  • 端口扫描:nc -zv host 20-30

  • 数据传输:nc -l 1234 > file(接收)和nc host 1234 < file(发送)

iptables - 防火墙

iptables [选项] 链 规则

功能:配置防火墙规则。

常用操作

  • -A:追加规则

  • -I:插入规则

  • -D:删除规则

  • -L:列出规则

示例

iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许80端口

firewall-cmd - 防火墙管理

firewall-cmd [选项]

功能:firewalld防火墙管理工具。

常用命令

  • --add-port:添加端口

  • --add-service:添加服务

  • --list-all:列出所有规则

4. SSH相关

ssh - 远程登录

ssh [选项] 用户@主机

功能:安全远程登录。

常用选项

  • -p:指定端口

  • -i:指定密钥文件

  • -X:启用X11转发

  • -L/-R:端口转发

scp - 安全复制

scp [选项] 源文件 目标文件

功能:通过SSH安全复制文件。

示例

scp -P 2222 file user@host:/path  # 指定端口复制

ssh-keygen - 密钥生成

ssh-keygen [选项]

功能:生成SSH密钥对。

常用选项

  • -t:密钥类型(如rsa, ed25519)

  • -b:密钥位数

ssh-copy-id - 密钥部署

ssh-copy-id [选项] 用户@主机

功能:将公钥部署到远程主机。

六、软件包管理

1. YUM/DNF管理

yum - 包管理

yum [选项] 命令 [包]

功能:RPM包管理工具(CentOS 7)。

常用命令

  • install:安装

  • update:更新

  • remove:卸载

  • search:搜索

  • list:列出包

  • history:查看事务历史

示例

yum install httpd --downloadonly --downloaddir=/tmp  # 仅下载不安装

dnf - 新一代包管理

dnf [选项] 命令 [包]

功能:YUM的下一代替代品(CentOS 8+)。

增强功能

  • module:模块管理

  • autoremove:自动删除无用依赖

2. RPM管理

rpm - 包管理

rpm [选项] 操作

功能:底层RPM包管理。

常用操作

  • -ivh:安装

  • -Uvh:升级

  • -e:卸载

  • -qa:查询已安装

  • -ql:列出包文件

  • -V:验证包

示例

rpm -qa \*kernel\*  # 查询所有内核包

3. 仓库管理

yum-config-manager - 仓库配置

yum-config-manager [选项]

功能:管理YUM仓库配置。

常用操作

  • --add-repo:添加仓库

  • --enable/--disable:启用/禁用仓库

createrepo - 创建仓库

createrepo [选项] 目录

功能:创建本地YUM仓库。

七、磁盘与存储管理

1. 磁盘分区

fdisk - 分区工具

fdisk [选项] 设备

功能:MBR分区工具。

交互命令

  • n:新建分区

  • d:删除分区

  • p:打印分区表

  • w:保存退出

parted - 高级分区

parted [选项] 设备 命令

功能:支持GPT的高级分区工具。

常用命令

  • mklabel:创建分区表

  • mkpart:创建分区

  • resizepart:调整分区

2. 文件系统

mkfs - 创建文件系统

mkfs [选项] [-t 类型] 设备

功能:格式化分区。

常用类型

  • ext4/xfs/vfat

示例

mkfs.xfs /dev/sdb1  # 格式化为XFS

fsck - 文件系统检查

fsck [选项] 设备

功能:检查修复文件系统。

参数

  • -y:自动修复

  • -f:强制检查

3. 挂载管理

mount - 挂载

mount [选项] 设备 挂载点

功能:挂载文件系统。

常用选项

  • -t:文件系统类型

  • -o:挂载选项(如noatime

umount - 卸载

umount [选项] 设备或挂载点

功能:卸载文件系统。

/etc/fstab - 自动挂载

格式

设备 挂载点 文件系统 选项 dump fsck

示例

/dev/sdb1 /data xfs defaults 0 0

4. LVM管理

pvcreate - 物理卷

pvcreate [选项] 设备

功能:创建物理卷。

vgcreate - 卷组

vgcreate [选项] 卷组名 物理卷

功能:创建卷组。

lvcreate - 逻辑卷

lvcreate [选项] -n 名称 卷组名

功能:创建逻辑卷。

常用选项

  • -L:指定大小

  • -l:指定PE数量

lvextend - 扩展逻辑卷

lvextend [选项] 逻辑卷

功能:扩展逻辑卷大小。

示例

lvextend -L +10G /dev/vg0/lv0  # 增加10G空间

5. 磁盘工具

lsblk - 块设备

lsblk [选项]

功能:列出块设备信息。

参数

  • -f:显示文件系统

  • -o:自定义输出列

blkid - 块设备信息

blkid [选项] 设备

功能:显示块设备UUID和类型。

dd - 磁盘复制

dd [选项]

功能:低级别磁盘操作。

常用场景

  • 磁盘克隆:dd if=/dev/sda of=/dev/sdb bs=4M

  • 创建镜像:dd if=/dev/cdrom of=image.iso

重要dd if=/dev/sda of=/dev/sdb 若参数颠倒将导致数据覆盖!务必三重确认设备标识。

badblocks - 坏道检测

badblocks [选项] 设备

功能:检测磁盘坏道。

八、系统服务与日志

1. 服务管理

systemctl - 服务管理

systemctl [选项] 命令 [服务]

功能:管理系统服务(Systemd)。

常用命令

  • start/stop/restart:启停服务

  • enable/disable:设置开机启动

  • status:查看状态

  • list-unit-files:列出所有单元

示例

systemctl daemon-reload  # 重载服务配置systemctl enable --now httpd  # 启用并立即启动

service - 传统服务管理

service 服务名 命令

功能:兼容SysV的服务管理方式。

chkconfig - 服务配置

chkconfig [选项] 服务名 [状态]

功能:管理系统服务启动项(SysV)。

2. 日志管理

journalctl - 日志查询

journalctl [选项]

功能:查询systemd日志。

参数

  • -u:按服务过滤

  • -f:跟踪最新日志

  • --since/--until:时间范围

  • -k:仅内核日志

rsyslog - 系统日志

配置文件/etc/rsyslog.conf

logrotate - 日志轮转

logrotate [选项] 配置文件

功能:管理日志文件的轮转、压缩和删除。

配置示例

/var/log/nginx/*.log {    daily    missingok    rotate 30    compress    delaycompress    notifempty    create 640 nginx adm    sharedscripts    postrotate        /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true    endscript}

3. 系统审计

auditd - 审计服务

auditctl [选项] 命令

功能:配置内核审计系统。

常用命令

  • -l:列出规则

  • -a:添加规则

  • -w:监控文件

ausearch - 审计查询

ausearch [选项] [表达式]

功能:查询审计日志。

九、备份与压缩

1. 归档工具

tar - 打包压缩

tar [选项] 文件或目录

功能:文件打包和压缩。

常用选项

  • -c:创建归档

  • -x:提取归档

  • -t:查看内容

  • -z:gzip压缩

  • -j:bzip2压缩

  • -J:xz压缩

  • -v:显示过程

  • -f:指定文件名

示例

tar -zcvf backup.tar.gz /data  # 创建gzip压缩包tar -xvf backup.tar.gz -C /restore  # 解压到指定目录

cpio - 归档工具

cpio [选项]

功能:另一种归档工具,常与find配合使用。

示例

find . -print | cpio -ov > backup.cpio

2. 压缩工具

gzip/gunzip - 压缩解压

gzip [选项] 文件gunzip [选项] 文件

功能:gzip格式压缩/解压。

参数

  • -d:解压

  • -c:输出到标准输出

  • -9:最大压缩率

bzip2/bunzip2 - 压缩解压

bzip2 [选项] 文件bunzip2 [选项] 文件

功能:bzip2格式压缩/解压。

xz/unxz - 压缩解压

xz [选项] 文件unxz [选项] 文件

功能:xz格式压缩/解压。

3. 备份工具

rsync - 远程同步

rsync [选项] 源 目标

功能:高效文件同步工具。

核心参数

  • -a:归档模式(保留所有属性)

  • -v:详细输出

  • -z:压缩传输

  • --delete:删除目标多余文件

  • --exclude:排除文件

示例

rsync -avzP --delete /src/ user@dest:/backup  # 镜像同步rsync -e "ssh -p 2222" ~/data remote:/backup  # 指定SSH端口

dd - 磁盘备份

dd [选项]

功能:低级别磁盘复制。

备份示例

dd if=/dev/sda of=/backup/sda.img bs=4M  # 创建磁盘镜像

十、SELinux管理

1. 状态管理

getenforce - 查看状态

getenforce

功能:显示SELinux当前模式(Enforcing/Permissive/Disabled)。

setenforce - 设置模式

setenforce [0|1]

功能:临时修改SELinux模式(0=Permissive,1=Enforcing)。

sestatus - 详细状态

sestatus [选项]

功能:显示SELinux详细状态信息。

2. 策略管理

semanage - 策略管理

semanage [选项] 操作

功能:管理SELinux策略元素。

常用操作

  • port -a -t http_port_t -p tcp 8080:允许端口

  • fcontext -a -t httpd_sys_content_t "/web(/.*)?":设置文件上下文

restorecon - 修复上下文

restorecon [选项] 文件或目录

功能:恢复文件SELinux上下文。

参数

  • -R:递归

  • -v:显示更改

3. 布尔值管理

getsebool - 查看布尔值

getsebool -a

功能:列出所有SELinux布尔值及其状态。

setsebool - 设置布尔值

setsebool [选项] 布尔值 [on|off]

功能:修改SELinux布尔值。

参数

  • -P:永久生效(写入配置文件)

4.常见错误解决

查看并修复上下文错误

ausearch -m AVC -ts recent  # 检索拒绝日志
sealert -a /var/log/audit/audit.log  # 生成解决方案报告

十一、内核与硬件

1. 内核管理

uname - 内核信息

uname [选项]

功能:显示系统内核信息。

参数

  • -a:所有信息

  • -r:内核版本

  • -m:硬件架构

sysctl - 内核参数

sysctl [选项] [变量=值]

功能:查看和修改内核参数。

常用操作

  • sysctl -a:显示所有参数

  • sysctl -w net.ipv4.tcp_tw_reuse=1:临时修改参数

  • sysctl -p:加载/etc/sysctl.conf

dmesg - 内核日志

dmesg [选项]

功能:显示内核环形缓冲区消息。

参数

  • -T:显示时间戳

  • -l:按级别过滤(如err,warn

2. 硬件信息

lspci - PCI设备

lspci [选项]

功能:列出所有PCI设备。

参数

  • -vv:详细信息

  • -k:显示内核驱动

lsusb - USB设备

lsusb [选项]

功能:列出USB设备信息。

lscpu - CPU信息

lscpu [选项]

功能:显示CPU架构信息。

dmidecode - DMI信息

dmidecode [选项]

功能:显示硬件系统信息。

参数

  • -t:按类型查询(如memory

十二、实用工具

1. 终端工具

screen - 终端复用

screen [选项] [命令]

功能:终端会话管理。

常用操作

  • screen -S name:创建命名会话

  • screen -r name:恢复会话

  • Ctrl+a d:分离会话

tmux - 终端复用

tmux [选项]

功能:更强大的终端复用工具。

基本操作

  • tmux new -s name:新建会话

  • Ctrl+b d:分离会话

  • tmux attach -t name:恢复会话

watch - 重复执行

watch [选项] 命令

功能:定期执行命令并全屏显示。

参数

  • -n:间隔秒数

  • -d:高亮变化

2. 开发工具

git - 版本控制

git [选项] 命令

功能:分布式版本控制系统。

常用命令

  • clone:克隆仓库

  • add:添加文件

  • commit:提交更改

  • push:推送到远程

  • pull:从远程拉取

gcc - C编译器

gcc [选项] 文件...

功能:GNU C编译器。

常用选项

  • -o:指定输出文件

  • -g:生成调试信息

  • -Wall:启用所有警告

make - 构建工具

make [选项] [目标]

功能:自动化构建工具。

3. 其他工具

bc - 计算器

bc [选项] [文件]

功能:命令行计算器。

示例

echo "2+3" | bc  # 简单计算

cal - 日历

cal [选项] [[月] 年]

功能:显示日历。

date - 日期时间

date [选项] [+格式]

功能:显示或设置系统时间。

示例

date +"%Y-%m-%d %H:%M:%S"  # 格式化输出

十三、命令分类速查表

分类

常用命令

文件操作

ls, cd, pwd, mkdir, rm, cp, mv, ln, find, locate, which, whereis

文本处理

cat, more, less, head, tail, grep, awk, sed, cut, paste, sort, uniq, wc

系统监控

top, htop, ps, vmstat, iostat, sar, free, df, du, lsof, netstat, ss

进程管理

ps, top, htop, kill, killall, pkill, nice, renice, pidstat

用户管理

useradd, usermod, userdel, groupadd, passwd, chsh, id, who, last

权限管理

chmod, chown, chgrp, umask, setfacl, getfacl, chattr, lsattr

网络配置

ip, ifconfig, route, nmcli, netstat, ss, firewall-cmd, iptables

网络诊断

ping, traceroute, mtr, dig, nslookup, tcpdump, nc, telnet, nmap

SSH相关

ssh, scp, sftp, ssh-keygen, ssh-copy-id, ssh-agent

包管理

yum, dnf, rpm, yum-config-manager, createrepo

磁盘管理

fdisk, parted, mkfs, mount, umount, lsblk, blkid, df, du, dd, fsck

LVM管理

pvcreate, vgcreate, lvcreate, lvextend, lvreduce, vgdisplay, lvdisplay

服务管理

systemctl, service, chkconfig, journalctl, logrotate

计划任务

crontab, at, batch

备份压缩

tar, gzip, bzip2, xz, zip, unzip, rsync, cpio, dd

SELinux

getenforce, setenforce, sestatus, semanage, restorecon, setsebool

内核相关

uname, sysctl, dmesg, lsmod, modinfo, modprobe

硬件信息

lspci, lsusb, lscpu, dmidecode, hdparm, smartctl

开发工具

gcc, make, gdb, git, svn

实用工具

screen, tmux, watch, bc, cal, date, nohup, time, xargs, tee

十四、最佳实践与安全建议

1. 危险命令防护

# 在~/.bashrc中添加以下别名alias rm='rm -i'              # 删除前确认alias cp='cp -i'              # 覆盖前确认alias mv='mv -i'              # 覆盖前确认
echo "set -o noclobber" >> ~/.bashrc  # 防止重定向覆盖文件

2. 历史记录优化

# 在/etc/profile或~/.bashrc中添加export HISTTIMEFORMAT="%F %T "  # 记录命令执行时间export HISTSIZE=10000          # 保存1万条历史记录export HISTCONTROL=ignoreboth  # 忽略重复命令和空格开头的命令

3. 脚本安全规范

#!/bin/bash# 脚本开头建议包含以下内容set -e          # 遇到错误自动退出set -u          # 使用未定义变量时报错set -o pipefail # 管道命令中任意错误导致整个管道失败

4. 关键操作前备份

# 重要文件修改前创建备份cp /etc/fstab{,.bak}  # 创建fstab.bak备份

5. 权限最小化原则

# 使用最小必要权限chmod 750 /path/to/dir  # 而非777sudo -u appuser command # 而非root

6. 日志记录

# 重要操作记录日志logger -t ADMIN "Disk space cleanup performed"

十五、学习资源

1. 官方文档

2. 书籍推荐

  • 《鸟哥的Linux私房菜》

  • 《Linux命令行与shell脚本编程大全》

  • 《UNIX环境高级编程》

3. 在线资源

4. 进阶工具

  • tldr:简化版man手册(dnf install tldr

  • cheat:命令备忘单

  • bat:带语法高亮的cat替代品

本指南涵盖了CentOS系统管理的方方面面,从基础命令到高级运维技巧,共包含300+常用命令及其详细说明。

0

评论区