常用CentOS命令总结

描述

转载请注明以下内容:

来源:公众号【网络技术干货圈】

作者:圈圈

ID:wljsghq

CentOS(Community ENTerprise Operating System)是基于Red Hat Enterprise Linux(RHEL)的自由和开源的企业级操作系统,旨在提供一个免费的、稳定的、可自由使用的替代品。CentOS的稳定性和安全性使其成为服务器和生产环境中的首选。作为运维工程师,掌握CentOS命令行操作不仅能提高工作效率,还能解决日常工作中的复杂问题。

系统管理命令

用户和组管理

文件和目录操作

权限管理

磁盘管理

软件包管理

网络管理命令

网络配置

网络诊断

网络安全

进程和服务管理命令

进程管理

服务管理

日志管理

系统监控和性能调优命令

CPU 监控与调优

内存监控与调优

磁盘监控与调优

网络监控与调优

安全和备份命令

用户和权限管理

安全审计

加密和解密

数据备份和恢复

包管理和软件安装命令

`yum` 包管理工具

`dnf` 包管理工具

软件仓库管理

日志管理和故障排除命令

系统日志查看

日志管理工具

故障排除命令

常见问题解决方法

用户和权限管理命令

用户账户管理

用户组管理

文件和目录权限设置

sudo权限配置

备份和恢复命令

常见的备份工具

备份策略

恢复方法

系统管理命令

用户和组管理

在CentOS中,用户和组管理是非常重要的。通过管理用户和组,可以控制系统的访问权限,确保系统的安全性和稳定性。

useradd:添加新用户

 

useradd username

 

username:新用户的名称。

示例:

 

useradd john

 

passwd:设置或更改用户密码

 

passwd username

 

username:要设置密码的用户。

示例:

 

passwd john

 

usermod:修改用户信息

 

usermod [选项] username

 

常用选项:

-aG groupname:将用户添加到附加组中。

-d /home/new_home:更改用户的主目录。

示例:

 

usermod -aG wheel john

 

userdel:删除用户

 

userdel [选项] username

 

常用选项:

-r:删除用户的同时删除用户的主目录和邮件目录。

示例:

 

userdel -r john

 

groupadd:添加新组

 

groupadd groupname

 

groupname:新组的名称。

示例:

 

groupadd admin

 

groupdel:删除组

 

groupdel groupname

 

groupname:要删除的组。

示例:

 

groupdel admin

 

文件和目录操作

在日常操作中,管理文件和目录是运维工程师的基本任务。CentOS提供了一系列命令来高效地执行这些任务。

ls:列出目录内容

 

ls [选项] [目录]

 

常用选项:

-l:使用长格式列出信息。

-a:列出所有文件,包括隐藏文件。

示例:

 

ls -l /etc

 

cd:切换目录

 

cd [目录]

 

目录:要切换到的目录路径。

示例:

 

cd /var/log

 

cp:复制文件或目录

 

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

 

常用选项:

-r:递归复制目录及其内容。

示例:

 

cp /etc/passwd /tmp/
cp -r /etc /backup/

 

mv:移动或重命名文件或目录

 

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

 

示例:

 

mv /tmp/passwd /tmp/passwd_backup
mv /home/john /home/john_old

 

rm:删除文件或目录

 

rm [选项] 文件

 

常用选项:

-r:递归删除目录及其内容。

-f:强制删除,不提示确认。

示例:

 

rm /tmp/passwd_backup
rm -rf /tmp/old_files

 

mkdir:创建新目录

 

mkdir [选项] 目录

 

常用选项:

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

示例:

 

mkdir /home/new_user
mkdir -p /home/new_user/docs

 

权限管理

文件和目录的权限管理是Linux系统安全的重要组成部分。通过设置适当的权限,可以控制谁可以访问和修改文件。

chmod:修改文件权限

 

chmod [选项] 模式 文件

 

模式:可以是符号模式(如u+x)或数字模式(如755)。

示例:

 

chmod 755 script.sh
chmod u+x script.sh

 

chown:修改文件所有者

 

chown [选项] 用户:组 文件

 

示例:

 

chown john:admin /home/john/script.sh

 

chgrp:修改文件所属组

 

chgrp [选项] 组 文件

 

示例:

 

chgrp admin /home/john/script.sh

 

磁盘管理

磁盘管理包括监视磁盘使用情况、分区和挂载文件系统等操作。

df:显示文件系统磁盘空间使用情况

 

df [选项]

 

常用选项:

-h:以人类可读的格式显示。

示例:

 

df -h

 

du:显示目录或文件的磁盘使用情况

 

du [选项] [目录]

 

常用选项:

-sh:以简洁和人类可读的格式显示。

示例:

 

du -sh /var/log

 

fdisk:磁盘分区管理

 

fdisk [选项] 设备

 

示例:

 

fdisk /dev/sda

 

mount:挂载文件系统

 

mount [选项] 设备 目录

 

示例:

 

mount /dev/sda1 /mnt

 

umount:卸载文件系统

 

umount [选项] 目录

 

示例:

 

umount /mnt

 

软件包管理

在CentOS中,软件包管理是系统维护和更新的重要部分。yum命令是CentOS中的默认包管理工具。

yum:软件包管理器

 

yum [选项] 命令 [包名]

 

常用命令:

install:安装软件包。

update:更新所有已安装的软件包。

remove:删除软件包。

示例:

 

yum install httpd
yum update
yum remove httpd

 

网络管理命令

在CentOS系统中,网络管理是非常重要的一个环节。通过配置和管理网络,确保服务器能够顺畅地与外界进行通信。

网络配置

ifconfig:显示或配置网络接口

ifconfig命令用于显示或配置网络接口的IP地址、子网掩码和广播地址等信息。

 

ifconfig [接口] [选项]

 

常用选项:

up:启动网络接口。

down:关闭网络接口。

示例:

 

ifconfig eth0
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
ifconfig eth0 up

 

ip:显示或配置网络设备、路由和隧道

ip命令是ifconfig命令的增强版,功能更加强大,用于配置网络设备、管理路由和设置隧道。

 

ip [选项] 对象 命令

 

常用对象:

addr:显示或修改网络接口地址。

link:显示或修改网络接口属性。

route:显示或修改路由表。

示例:

 

ip addr show
ip addr add 192.168.1.100/24 dev eth0
ip link set eth0 up
ip route add default via 192.168.1.1

 

nmcli:NetworkManager命令行接口

nmcli命令用于控制NetworkManager,并显示网络状态、配置网络连接。

 

nmcli [选项] 命令

 

常用命令:

device status:显示所有网络设备的状态。

connection show:显示所有网络连接。

connection up:激活网络连接。

示例:

 

nmcli device status
nmcli connection show
nmcli connection up eth0

 

网络诊断

ping:测试网络连通性

ping命令通过向目标主机发送ICMP回显请求来测试网络连通性。

 

ping [选项] 目标主机

 

常用选项:

-c:指定发送的请求数。

-i:指定发送请求的间隔时间。

示例:

 

ping -c 4 google.com
ping -i 0.5 google.com

 

traceroute:跟踪路由路径

traceroute命令用于显示数据包从源主机到目标主机之间经过的路由节点。

 

traceroute [选项] 目标主机

 

常用选项:

-m:指定最大跳数。

示例:

 

traceroute google.com
traceroute -m 20 google.com

 

netstat:显示网络连接、路由表和接口统计

netstat命令用于显示当前的网络连接、路由表、接口统计和多播成员。

 

netstat [选项]

 

常用选项:

-t:显示TCP连接。

-u:显示UDP连接。

-l:显示监听的套接字。

示例:

 

netstat -tuln
netstat -i

 

ss:显示网络套接字信息

ss命令是netstat命令的替代品,功能更强大且速度更快,用于显示网络套接字的信息。

 

ss [选项]

 

常用选项:

-t:显示TCP套接字。

-u:显示UDP套接字。

-l:显示监听的套接字。

示例:

 

ss -tuln
ss -s

 

网络安全

iptables:配置Linux内核防火墙规则

iptables命令用于配置IPv4的包过滤规则,可以用于防火墙设置、NAT和数据包过滤等。

 

iptables [选项] 命令

 

常用命令:

-L:列出当前的防火墙规则。

-A:在规则链的末尾添加规则。

-D:删除规则链中的某条规则。

示例:

 

iptables -L
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -D INPUT -p tcp --dport 80 -j ACCEPT

 

firewalld:动态防火墙管理工具

firewalld命令是一个提供动态管理网络防火墙功能的工具,支持IPv4、IPv6防火墙和以太网桥。

 

firewall-cmd [选项]

 

常用选项:

--state:查看firewalld的状态。

--reload:重新加载防火墙规则。

--add-port:添加允许通过的端口。

示例:

 

firewall-cmd --state
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

 

进程和服务管理命令

在CentOS系统中,进程和服务管理是确保系统稳定运行的关键。通过管理进程和服务,运维工程师可以监控系统的运行状态,调整系统性能,并解决潜在问题。

进程管理

ps:显示当前进程

ps命令用于显示当前系统中的进程信息,可以结合不同的选项获取详细的进程状态。

 

ps [选项]

 

常用选项:

aux:显示所有用户的所有进程,并包括详细信息。

示例:

 

ps aux

 

top:实时显示系统状态

top命令用于实时监控系统的进程状态、CPU使用率、内存使用率等信息。

 

top

 

在top界面中,可以使用以下快捷键:

q:退出。

k:终止进程。

r:重新调整进程的优先级。

htop:更友好的进程监控工具

htop命令是top命令的增强版,提供了更友好的界面和更强大的功能。

 

htop

 

安装htop:

 

yum install htop

 

启动htop:

 

htop

 

kill:终止进程

kill命令用于终止指定的进程,可以通过进程ID(PID)来指定要终止的进程。

 

kill [选项] PID

 

常用选项:

-9:强制终止进程。

示例:

 

kill -9 1234

 

pkill:按进程名称终止进程

pkill命令用于按进程名称终止进程,无需知道具体的PID。

 

pkill [选项] 进程名称

 

示例:

 

pkill httpd

 

pgrep:按进程名称查找进程ID

pgrep命令用于按进程名称查找进程ID,可以用于结合其他命令进行操作。

 

pgrep [选项] 进程名称

 

示例:

 

pgrep httpd

 

服务管理

在CentOS 7及以后版本中,systemd已成为默认的系统和服务管理器。systemctl命令是用来管理systemd服务的主要工具。

systemctl:管理系统服务

 

systemctl [选项] 命令 服务

 

常用命令:

start:启动服务。

stop:停止服务。

restart:重启服务。

status:查看服务状态。

enable:设置服务开机启动。

disable:取消服务开机启动。

示例:

 

systemctl start httpd
systemctl stop httpd
systemctl restart httpd
systemctl status httpd
systemctl enable httpd
systemctl disable httpd

 

chkconfig:管理服务的开机启动(适用于CentOS 6)

在CentOS 6及以前版本中,chkconfig命令用于管理服务的开机启动。

 

chkconfig [选项] 服务

 

常用选项:

--list:列出所有服务及其开机启动状态。

--level:指定运行级别。

示例:

 

chkconfig --list httpd
chkconfig httpd on
chkconfig httpd off

 

日志管理

日志管理是系统管理中的重要环节,通过查看和分析日志,可以了解系统的运行状态,排查问题。

journalctl:查看systemd日志

journalctl命令用于查看由systemd管理的日志信息。

 

journalctl [选项]

 

常用选项:

-u:查看指定服务的日志。

-f:实时跟踪日志输出。

示例:

 

journalctl -u httpd
journalctl -f

 

dmesg:查看内核环缓冲区日志

dmesg命令用于查看和控制内核环缓冲区中的信息,主要记录系统启动过程和内核日志。

 

dmesg [选项]

 

常用选项:

-c:清除缓冲区中的信息。

示例:

 

dmesg
dmesg -c

 

/var/log目录

CentOS系统中的各种日志文件通常存储在/var/log目录下,通过查看这些日志文件,可以了解系统和服务的详细运行情况。

常见日志文件:

/var/log/messages:系统通用日志。

/var/log/secure:安全相关日志。

/var/log/maillog:邮件相关日志。

/var/log/httpd:Apache HTTP服务器日志。

示例:

 

tail -f /var/log/messages
tail -f /var/log/secure

 

系统监控和性能调优命令

在CentOS系统中,系统监控和性能调优是确保服务器高效运行的关键。通过监控系统资源的使用情况和性能瓶颈,运维工程师可以及时进行调优,提升系统的稳定性和响应速度。

CPU 监控与调优

uptime:查看系统运行时间和负载

uptime命令显示系统的运行时间、登录用户数量和系统平均负载。

 

uptime

 

示例:

 

uptime

 

top:实时显示系统状态

top命令用于实时监控系统的CPU使用率、内存使用率和进程状态。

 

top

 

在top界面中,可以使用以下快捷键:

q:退出。

P:按CPU使用率排序。

M:按内存使用率排序。

mpstat:显示各个CPU的使用情况

mpstat命令用于显示各个CPU的使用情况,帮助分析多核CPU的性能。

 

mpstat [选项] [时间间隔] [次数]

 

示例:

 

mpstat
mpstat 2 5

 

sar:系统活动报告

sar命令用于收集、报告和保存系统活动信息,包括CPU、内存、磁盘和网络等资源的使用情况。

 

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

 

常用选项:

-u:显示CPU使用情况。

示例:

 

sar -u 1 3

 

内存监控与调优

free:显示内存使用情况

free命令用于显示系统内存的使用情况,包括物理内存、交换分区和缓冲区缓存的使用量。

 

free [选项]

 

常用选项:

-h:以人类可读的格式显示。

示例:

 

free -h

 

vmstat:显示虚拟内存统计信息

vmstat命令用于报告虚拟内存、进程、CPU活动的状态。

 

vmstat [时间间隔] [次数]

 

示例:

 

vmstat 2 5

 

top:实时监控内存使用情况

在top命令中,可以按内存使用率对进程进行排序,实时监控内存使用情况。

在top界面中:

按M键切换到按内存使用率排序。

sar:系统活动报告

sar命令同样可以用于监控内存使用情况。

 

sar -r 1 3

 

磁盘监控与调优

df:显示文件系统磁盘空间使用情况

df命令用于显示文件系统的磁盘空间使用情况。

 

df [选项]

 

常用选项:

-h:以人类可读的格式显示。

示例:

 

df -h

 

du:显示目录或文件的磁盘使用情况

du命令用于显示指定目录或文件的磁盘使用情况。

 

du [选项] [目录]

 

常用选项:

-sh:以简洁和人类可读的格式显示。

示例:

 

du -sh /var/log

 

iostat:显示CPU和设备的I/O统计信息

iostat命令用于显示CPU和设备的I/O统计信息,帮助分析磁盘性能。

 

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

 

常用选项:

-d:显示磁盘I/O统计信息。

示例:

 

iostat -d 2 3

 

iotop:实时显示磁盘I/O使用情况

iotop命令用于实时显示进程的磁盘I/O使用情况。

 

iotop

 

安装iotop:

 

yum install iotop

 

启动iotop:

 

iotop

 

网络监控与调优

ifconfig:显示或配置网络接口

ifconfig命令用于显示或配置网络接口的IP地址、子网掩码和广播地址等信息。

 

ifconfig [接口] [选项]

 

示例:

 

ifconfig eth0

 

ip:显示或配置网络设备、路由和隧道

ip命令是ifconfig命令的增强版,功能更加强大,用于配置网络设备、管理路由和设置隧道。

 

ip [选项] 对象 命令

 

示例:

 

ip addr show

 

netstat:显示网络连接、路由表和接口统计

netstat命令用于显示当前的网络连接、路由表、接口统计和多播成员。

 

netstat [选项]

 

常用选项:

-tuln:显示所有监听的端口。

示例:

 

netstat -tuln

 

ss:显示网络套接字信息

ss命令是netstat命令的替代品,功能更强大且速度更快,用于显示网络套接字的信息。

 

ss [选项]

 

常用选项:

-tuln:显示所有监听的端口。

示例:

 

ss -tuln

 

ping:测试网络连通性

ping命令通过向目标主机发送ICMP回显请求来测试网络连通性。

 

ping [选项] 目标主机

 

示例:

 

ping google.com

 

traceroute:跟踪路由路径

traceroute命令用于显示数据包从源主机到目标主机之间经过的路由节点。

 

traceroute [选项] 目标主机

 

示例:

 

traceroute google.com

 

iftop:实时显示网络带宽使用情况

iftop命令用于实时显示网络接口的带宽使用情况。

 

iftop

 

安装iftop:

 

yum install iftop

 

启动iftop:

 

iftop

 

安全和备份命令

在CentOS系统中,安全和备份是确保数据完整性和系统稳定性的关键。通过配置安全策略和定期备份数据,运维工程师可以有效防范安全威胁,并在意外情况下快速恢复数据。

用户和权限管理

useradd:添加新用户

useradd命令用于在系统中创建新用户。

 

useradd [选项] 用户名

 

常用选项:

-m:创建用户的主目录。

-s:指定用户的默认shell。

示例:

 

useradd -m -s /bin/bash newuser

 

passwd:设置用户密码

passwd命令用于设置或更改用户密码。

 

passwd [选项] 用户名

 

示例:

 

passwd newuser

 

usermod:修改用户信息

usermod命令用于修改用户的属性。

 

usermod [选项] 用户名

 

常用选项:

-g:修改用户的主组。

-G:修改用户的附加组。

示例:

 

usermod -g users newuser
usermod -G wheel newuser

 

groupadd:添加新组

groupadd命令用于在系统中创建新组。

 

groupadd [选项] 组名

 

示例:

 

groupadd newgroup

 

chown:更改文件或目录的所有者

chown命令用于更改文件或目录的所有者和所属组。

 

chown [选项] 用户:组 文件或目录

 

示例:

 

chown newuser:newgroup /path/to/file

 

chmod:更改文件或目录的权限

chmod命令用于更改文件或目录的访问权限。

 

chmod [选项] 权限 文件或目录

 

常用模式:

数字模式:如755、644等。

符号模式:如u+x、g-w等。

示例:

 

chmod 755 /path/to/file
chmod u+x /path/to/script.sh

 

安全审计

auditd:Linux审计守护进程

auditd命令用于启动和管理Linux审计子系统。

 

systemctl start auditd
systemctl status auditd

 

ausearch:搜索审计日志

ausearch命令用于搜索审计日志,以特定的条件筛选出相关的审计记录。

 

ausearch [选项] 条件

 

常用条件:

-m:指定审计消息类型。

-ui:指定用户ID。

示例:

 

ausearch -m avc
ausearch -ui 1000

 

auditctl:控制审计规则

auditctl命令用于管理审计子系统的规则和状态。

 

auditctl [选项] 命令

 

常用命令:

-l:列出当前的审计规则。

-a:添加审计规则。

示例:

 

auditctl -l
auditctl -a always,exit -F arch=b64 -S all -F euid=0

 

加密和解密

gpg:GNU隐私保护

gpg命令用于加密和解密文件,生成和管理加密密钥。

 

gpg [选项] 文件

 

常用选项:

-c:对文件进行对称加密。

-e:对文件进行非对称加密。

-d:解密文件。

示例:

 

gpg -c file.txt
gpg -e -r recipient@example.com file.txt
gpg -d file.txt.gpg

 

openssl:OpenSSL命令行工具

openssl命令提供了加密和解密的功能,可以生成和管理密钥、证书等。

 

openssl [命令] [选项]

 

常用命令:

enc:进行对称加密和解密。

genrsa:生成RSA密钥对。

req:生成证书请求。

示例:

 

openssl enc -aes-256-cbc -in file.txt -out file.enc
openssl genrsa -out private_key.pem 2048
openssl req -new -key private_key.pem -out request.csr

 

数据备份和恢复

tar:归档工具

tar命令用于创建、解压和管理tar归档文件。

 

tar [选项] 文件

 

常用选项:

-c:创建归档文件。

-x:解压归档文件。

-z:使用gzip压缩或解压。

-v:显示处理过程。

-f:指定归档文件名。

示例:

 

tar -cvzf backup.tar.gz /path/to/directory
tar -xvzf backup.tar.gz

 

rsync:远程同步工具

rsync命令用于远程同步文件和目录,支持增量备份。

 

rsync [选项] 源 目标

 

常用选项:

-a:归档模式,保留文件属性。

-v:显示详细信息。

--delete:删除目标目录中源目录不存在的文件。

示例:

 

rsync -av /path/to/source /path/to/destination
rsync -av --delete /path/to/source /path/to/destination

 

dd:数据复制和转换工具

dd命令用于按块复制文件,可以用于备份磁盘或分区。

 

dd [选项]

 

常用选项:

if:输入文件。

of:输出文件。

bs:块大小。

count:块数量。

示例:

 

dd if=/dev/sda of=/path/to/backup.img bs=1M
dd if=/path/to/backup.img of=/dev/sda bs=1M

 

scp:安全复制

scp命令用于在远程主机之间安全地复制文件。

 

scp [选项] 源 目标

 

示例:

 

scp /path/to/localfile user@remotehost:/path/to/remotedirectory
scp user@remotehost:/path/to/remotefile /path/to/localdirectory

 

包管理和软件安装命令

在CentOS系统中,包管理和软件安装是系统管理的基础任务。通过有效的包管理,运维工程师可以安装、升级和删除软件包,确保系统的软件环境保持最新和稳定。

yum 包管理工具

在CentOS 7及以前版本中,yum(Yellowdog Updater, Modified)是默认的包管理工具。它用于管理RPM包,包括安装、更新和删除软件包。

安装软件包

yum install命令用于从软件仓库中安装指定的软件包。

 

yum install [软件包名称]

 

示例:

 

yum install httpd

 

更新软件包

yum update命令用于更新系统中已安装的软件包到最新版本。

 

yum update [软件包名称]

 

示例:

 

yum update httpd

 

删除软件包

yum remove命令用于从系统中删除指定的软件包。

 

yum remove [软件包名称]

 

示例:

 

yum remove httpd

 

列出已安装的软件包

yum list installed命令用于列出系统中已安装的所有软件包。

 

yum list installed

 

查询软件包信息

yum info命令用于查询指定软件包的详细信息。

 

yum info [软件包名称]

 

示例:

 

yum info httpd

 

搜索软件包

yum search命令用于搜索软件包仓库中的软件包。

 

yum search [关键词]

 

示例:

 

yum search nginx

 

清理缓存

yum clean命令用于清理yum的缓存文件,以释放磁盘空间。

 

yum clean [选项]

 

常用选项:

all:清理所有缓存。

packages:清理软件包缓存。

示例:

 

yum clean all

 

dnf 包管理工具

在CentOS 8及以后的版本中,dnf(Dandified YUM)取代了yum成为默认的包管理工具。dnf提供了更快的性能和更多的功能。

安装软件包

dnf install命令用于从软件仓库中安装指定的软件包。

 

dnf install [软件包名称]

 

示例:

 

dnf install httpd

 

更新软件包

dnf update命令用于更新系统中已安装的软件包到最新版本。

 

dnf update [软件包名称]

 

示例:

 

dnf update httpd

 

删除软件包

dnf remove命令用于从系统中删除指定的软件包。

 

dnf remove [软件包名称]

 

示例:

 

dnf remove httpd

 

列出已安装的软件包

dnf list installed命令用于列出系统中已安装的所有软件包。

 

dnf list installed

 

查询软件包信息

dnf info命令用于查询指定软件包的详细信息。

 

dnf info [软件包名称]

 

示例:

 

dnf info httpd

 

搜索软件包

dnf search命令用于搜索软件包仓库中的软件包。

 

dnf search [关键词]

 

示例:

 

dnf search nginx

 

清理缓存

dnf clean命令用于清理dnf的缓存文件,以释放磁盘空间。

 

dnf clean [选项]

 

常用选项:

all:清理所有缓存。

packages:清理软件包缓存。

示例:

 

dnf clean all

 

软件仓库管理

配置仓库

在CentOS中,软件仓库配置文件通常位于/etc/yum.repos.d/目录下。可以手动编辑这些配置文件以添加或修改软件仓库。

 

vi /etc/yum.repos.d/your-repo.repo

 

仓库配置文件示例:

 

[your-repo]
name=Your Repository
baseurl=http://your.repo.url/path/
enabled=1
gpgcheck=1
gpgkey=http://your.repo.url/path/RPM-GPG-KEY-your-repo

 

添加第三方仓库

有时需要添加第三方仓库以获取额外的软件包。例如,EPEL(Extra Packages for Enterprise Linux)仓库提供了许多额外的软件包。

 

yum install epel-release

 

 

dnf install epel-release

 

禁用仓库

可以临时禁用某个仓库来避免从该仓库安装软件包。

 

yum install [软件包名称] --disablerepo=[仓库ID]

 

 

dnf install [软件包名称] --disablerepo=[仓库ID]

 

查看可用仓库

yum repolist 或 dnf repolist命令用于查看当前启用的仓库列表。

 

yum repolist

 

 

dnf repolist

 

查看仓库中的软件包

yum list available 或 dnf list available命令用于查看软件仓库中可用的软件包。

 

yum list available

 

 

dnf list available

 

日志管理和故障排除命令

在CentOS系统中,日志管理和故障排除是系统运维中不可或缺的部分。通过查看系统日志,运维工程师可以监控系统状态、诊断问题并进行故障排除。

系统日志查看

journalctl:查看和管理系统日志

journalctl是用于查看和管理systemd系统日志的工具,能够显示各种服务和系统的日志条目。

 

journalctl [选项]

 

常用选项:

-xe:显示详细的错误日志。

-u [服务名]:显示指定服务的日志。

--since 和 --until:指定时间范围。

示例:

 

journalctl -xe
journalctl -u httpd
journalctl --since "2024-07-15 0000" --until "2024-07-16 0000"

 

dmesg:查看内核环形缓冲区的消息

dmesg命令用于查看内核产生的消息,通常包括硬件和驱动程序的相关信息。

 

dmesg [选项]

 

常用选项:

-T:将时间戳转换为人类可读的格式。

示例:

 

dmesg
dmesg -T

 

tail:查看文件的尾部内容

tail命令用于查看文件的最后部分,常用于监控日志文件的最新条目。

 

tail [选项] [文件名]

 

常用选项:

-f:实时跟踪文件的新增内容。

示例:

 

tail -f /var/log/messages
tail -f /var/log/syslog

 

less:查看文件内容

less命令用于分页查看文件内容,适用于查看大型日志文件。

 

less [文件名]

 

示例:

 

less /var/log/messages

 

grep:在文件中搜索文本

grep命令用于搜索文件中的特定文本,常用于从日志文件中提取关键信息。

 

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

 

常用选项:

-i:忽略大小写。

-r:递归搜索目录。

示例:

 

grep "error" /var/log/messages
grep -r "failed" /var/log/

 

日志管理工具

logrotate:日志轮转工具

logrotate用于定期轮转、压缩和删除日志文件,以节省磁盘空间。

 

logrotate [选项] [配置文件]

 

常用选项:

-f:强制执行配置文件中的轮转。

-d:以调试模式运行。

示例:

 

logrotate -f /etc/logrotate.conf
logrotate -d /etc/logrotate.conf

 

logwatch:日志分析工具

logwatch用于分析和总结系统日志,并生成报告。

 

logwatch [选项] --detail [级别] --service [服务名]

 

常用选项:

--detail:设置报告详细级别。

--service:指定服务进行分析。

示例:

 

logwatch --detail high --service sshd
logwatch --detail medium

 

故障排除命令

top:实时显示系统进程

top命令用于实时显示系统的CPU、内存使用情况及运行中的进程。

 

top

 

常用快捷键:

P:按CPU使用率排序。

M:按内存使用率排序。

示例:

 

top

 

htop:增强版top工具

htop是top的增强版,提供了更友好的用户界面和额外的功能。

 

htop

 

安装htop:

 

yum install htop

 

启动htop:

 

htop

 

ps:显示进程状态

ps命令用于列出系统中当前的进程。

 

ps [选项]

 

常用选项:

-e 或 -A:显示所有进程。

-f:显示详细信息。

示例:

 

ps -ef
ps aux

 

netstat:显示网络连接和状态

netstat命令用于显示网络连接、路由表和接口统计。

 

netstat [选项]

 

常用选项:

-tuln:显示所有监听端口。

-s:显示网络统计信息。

示例:

 

netstat -tuln
netstat -s

 

strace:追踪系统调用和信号

strace命令用于追踪进程执行期间的系统调用和信号。

 

strace [选项] [命令]

 

常用选项:

-p:附加到现有进程。

-e:指定追踪的系统调用。

示例:

 

strace -p [PID]
strace -e open,read,write [命令]

 

lsof:列出打开的文件

lsof命令用于列出系统中所有打开的文件和对应的进程。

 

lsof [选项]

 

常用选项:

-i:列出网络连接。

-u:列出指定用户的打开文件。

示例:

 

lsof -i
lsof -u root

 

df:显示磁盘空间使用情况

df命令用于显示文件系统的磁盘空间使用情况。

 

df [选项]

 

常用选项:

-h:以人类可读的格式显示(如MB、GB)。

示例:

 

df -h

 

du:显示目录或文件的磁盘使用情况

du命令用于显示目录或文件的磁盘使用情况。

 

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

 

常用选项:

-h:以人类可读的格式显示。

-s:仅显示总计。

示例:

 

du -sh /path/to/directory
du -sh *

 

常见问题解决方法

系统服务无法启动

查看服务状态:

 

systemctl status [服务名]

 

查看日志:

 

journalctl -u [服务名]

 

网络连接问题

检查网络接口状态:

 

ip addr show

 

检查路由设置:

 

ip route show

 

检查防火墙规则:

 

firewall-cmd --list-all

 

磁盘空间不足

查看磁盘使用情况:

 

df -h

 

查找大文件:

 

du -ah / | sort -n -r | head -n 10

 

进程占用过多资源

查看进程资源使用情况:

 

top
htop

 

查找占用资源的进程:

 

ps aux --sort=-%cpu | head -n 10

 

用户和权限管理命令

在CentOS系统中,用户和权限管理是确保系统安全和资源合理分配的重要任务。有效的用户和权限管理可以防止未授权的访问和操作,确保系统的安全性和稳定性。

用户账户管理

useradd:添加新用户

useradd命令用于创建新的用户账户。

 

useradd [选项] [用户名]

 

常用选项:

-m:创建用户的主目录。

-s:指定用户的登录Shell。

示例:

 

useradd -m -s /bin/bash john

 

usermod:修改用户账户

usermod命令用于修改现有的用户账户信息。

 

usermod [选项] [用户名]

 

常用选项:

-aG:将用户添加到指定组。

-s:更改用户的登录Shell。

示例:

 

usermod -aG wheel john
usermod -s /bin/zsh john

 

userdel:删除用户账户

userdel命令用于删除用户账户。

 

userdel [选项] [用户名]

 

常用选项:

-r:删除用户的主目录及其内容。

示例:

 

userdel -r john

 

passwd:修改用户密码

passwd命令用于设置或修改用户密码。

 

passwd [用户名]

 

示例:

 

passwd john

 

chage:管理用户密码过期信息

chage命令用于管理用户密码的过期和有效期信息。

 

chage [选项] [用户名]

 

常用选项:

-l:列出用户的密码过期信息。

-M:设置密码最大有效期(天数)。

-W:设置密码过期前的警告天数。

示例:

 

chage -l john
chage -M 90 john
chage -W 7 john

 

用户组管理

groupadd:添加新组

groupadd命令用于创建新的用户组。

 

groupadd [选项] [组名]

 

示例:

 

groupadd developers

 

groupmod:修改用户组

groupmod命令用于修改现有的用户组信息。

 

groupmod [选项] [组名]

 

常用选项:

-n:更改用户组名称。

示例:

 

groupmod -n devs developers

 

groupdel:删除用户组

groupdel命令用于删除用户组。

 

groupdel [组名]

 

示例:

 

groupdel devs

 

gpasswd:管理用户组成员

gpasswd命令用于管理用户组的成员和组信息。

 

gpasswd [选项] [组名]

 

常用选项:

-a:将用户添加到组。

-d:从组中删除用户。

示例:

 

gpasswd -a john developers
gpasswd -d john developers

 

文件和目录权限设置

chmod:更改文件和目录权限

chmod命令用于更改文件或目录的权限。

 

chmod [选项] [权限] [文件或目录]

 

常用选项:

u:用户权限。

g:组权限。

o:其他用户权限。

+:添加权限。

-:删除权限。

=:设置权限。

权限表示:

r:读权限。

w:写权限。

x:执行权限。

示例:

 

chmod u+x file.txt
chmod g-w directory
chmod 755 script.sh

 

chown:更改文件或目录的所有者和所属组

chown命令用于更改文件或目录的所有者和所属组。

 

chown [选项] [所有者][:所属组] [文件或目录]

 

常用选项:

-R:递归更改目录及其内容。

示例:

 

chown john:developers file.txt
chown -R john:developers /home/john

 

chgrp:更改文件或目录的所属组

chgrp命令用于更改文件或目录的所属组。

 

chgrp [选项] [所属组] [文件或目录]

 

常用选项:

-R:递归更改目录及其内容。

示例:

 

chgrp developers file.txt
chgrp -R developers /home/john

 

sudo权限配置

visudo:编辑sudoers文件

visudo命令用于安全地编辑/etc/sudoers文件,配置用户的sudo权限。

 

visudo

 

在sudoers文件中配置用户权限的示例:

 

john ALL=(ALL) NOPASSWD: /usr/bin/apt-get

 

上述配置表示用户john可以在不输入密码的情况下运行/usr/bin/apt-get命令。

sudo:以超级用户权限执行命令

sudo命令用于以超级用户或其他用户身份执行命令。

 

sudo [选项] [命令]

 

常用选项:

-u:指定要以其身份执行命令的用户。

示例:

 

sudo ls /root
sudo -u john whoami

 

备份和恢复命令

在CentOS系统中,备份和恢复是确保数据安全和系统恢复能力的关键任务。有效的备份策略可以保护系统数据不丢失,并在发生故障或数据丢失时快速恢复。备份可以是全量备份或增量备份,恢复操作可以将系统恢复到备份时的状态。

常见的备份工具

rsync:远程同步和备份工具

rsync命令用于同步文件和目录,可以进行本地备份,也可以通过网络进行远程备份。rsync支持增量备份,并且可以通过SSH加密传输数据。

 

rsync [选项] [源] [目标]

 

常用选项:

-a:归档模式,递归复制并保留文件属性。

-v:显示详细的输出。

-z:压缩传输数据。

--delete:删除目标中源没有的文件。

示例:

 

rsync -avz /home/user/ backup@remote:/backup/user/
rsync -avz --delete /home/user/ /backup/user/

 

tar:磁带归档工具

tar命令用于创建和解压归档文件,支持将多个文件和目录打包到一个文件中进行备份。

 

tar [选项] [归档文件] [文件或目录]

 

常用选项:

-c:创建归档文件。

-x:解压归档文件。

-v:显示详细输出。

-f:指定归档文件名。

-z:通过gzip压缩。

-j:通过bzip2压缩。

示例:

 

tar -cvzf backup.tar.gz /home/user/
tar -xvzf backup.tar.gz

 

cp:复制文件和目录

cp命令用于复制文件和目录,也可以用来进行简单的本地备份。

 

cp [选项] [源] [目标]

 

常用选项:

-r:递归复制目录及其内容。

-p:保留文件属性。

示例:

 

cp -rp /home/user/ /backup/user/

 

dumprestore:文件系统备份工具

dump和restore命令用于备份和恢复文件系统。dump用于创建备份,restore用于从备份中恢复。

创建备份:

 

dump [选项] [文件系统]

 

恢复备份:

 

restore [选项] [备份文件]

 

示例:

 

dump -0u -f /backup/dumpfile /dev/sda1
restore -r -f /backup/dumpfile

 

dd:磁盘复制和备份工具

dd命令用于将整个磁盘或分区进行复制备份,适用于完整的磁盘备份和恢复。

 

dd if=[源设备] of=[目标文件] [选项]

 

常用选项:

if:指定源设备。

of:指定目标文件。

bs:指定块大小。

示例:

 

dd if=/dev/sda of=/backup/sda.img bs=4M
dd if=/backup/sda.img of=/dev/sda bs=4M

 

备份策略

全量备份:备份整个文件系统或目录

全量备份是指对整个文件系统或指定目录进行一次完整的备份。这种备份方式能够完整保存所有数据,但备份文件较大,备份和恢复速度较慢。

增量备份:备份自上次备份以来发生变化的数据

增量备份是指仅备份自上次备份以来发生变化的文件。增量备份节省存储空间和备份时间,但恢复时需要将所有增量备份一起恢复。

差异备份:备份自上次全量备份以来发生变化的数据

差异备份是指备份自上次全量备份以来发生变化的文件。差异备份介于全量备份和增量备份之间,恢复时只需要最新的全量备份和最新的差异备份。

定期备份:根据预定计划进行备份

定期备份是根据预定的时间表(如每日、每周、每月)进行备份。定期备份可以确保备份数据的最新性和完整性。

恢复方法

从tar归档恢复

使用tar命令可以从归档文件中恢复文件和目录。

 

tar -xvzf [归档文件] -C [恢复目录]

 

示例:

 

tar -xvzf backup.tar.gz -C /home/user/

 

从rsync备份恢复

使用rsync命令可以从备份位置恢复文件和目录。

 

rsync -avz [备份源] [恢复目标]

 

示例:

 

rsync -avz backup@remote:/backup/user/ /home/user/

 

从dd备份恢复

使用dd命令可以将备份镜像文件恢复到磁盘设备。

 

dd if=[备份文件] of=[目标设备] [选项]

 

示例:

 

dd if=/backup/sda.img of=/dev/sda bs=4M

 

从dump备份恢复

使用restore命令从dump备份中恢复文件系统。

 

restore -r -f [备份文件]

 

示例:

 

restore -r -f /backup/dumpfile

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分