转载请注明以下内容:
来源:公众号【网络技术干货圈】
作者:圈圈
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/
dump 和 restore:文件系统备份工具
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
全部0条评论
快来发表一下你的评论吧 !