本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" # 格式化输出
十三、命令分类速查表
十四、最佳实践与安全建议
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. 官方文档
CentOS官方文档:https://docs.centos.org
Red Hat文档:https://access.redhat.com/documentation
GNU Coreutils手册:https://www.gnu.org/software/coreutils/manual/
2. 书籍推荐
《鸟哥的Linux私房菜》
《Linux命令行与shell脚本编程大全》
《UNIX环境高级编程》
3. 在线资源
Linux man pages在线:https://man7.org/linux/man-pages/
Explain Shell(命令解释):https://explainshell.com/
Linux命令速查:https://linuxcommand.org/
4. 进阶工具
tldr
:简化版man手册(dnf install tldr
)cheat
:命令备忘单bat
:带语法高亮的cat替代品
本指南涵盖了CentOS系统管理的方方面面,从基础命令到高级运维技巧,共包含300+常用命令及其详细说明。
评论区