转载请注明以下内容:
作者:圈圈
ID:wljsghq
CentOS(Community ENTerprise Operating System)是基于Red Hat Enterprise Linux(RHEL)的自由和开源的企业级操作系统,旨在提供一个免费的、稳定的、可自由使用的替代品。CentOS的稳定性和安全性使其成为服务器和生产环境中的首选。作为运维工程师,掌握CentOS命令行操作不仅能提高工作效率,还能解决日常工作中的复杂问题。
系统管理命令
用户和组管理
文件和目录操作
权限管理
磁盘管理
软件包管理
网络管理命令
网络配置
网络诊断
网络安全
进程和服务管理命令
进程管理
服务管理
日志管理
系统监控和性能调优命令
CPU 监控与调优
内存监控与调优
磁盘监控与调优
网络监控与调优
安全和备份命令
用户和权限管理
安全审计
加密和解密
数据备份和恢复
包管理和软件安装命令
`yum` 包管理工具
`dnf` 包管理工具
软件仓库管理
日志管理和故障排除命令
系统日志查看
日志管理工具
故障排除命令
常见问题解决方法
用户和权限管理命令
用户账户管理
用户组管理
文件和目录权限设置
sudo权限配置
备份和恢复命令
常见的备份工具
备份策略
恢复方法
系统管理命令
用户和组管理
在CentOS中,用户和组管理是非常重要的。通过管理用户和组,可以控制系统的访问权限,确保系统的安全性和稳定性。
useradd:添加新用户
useraddusername
username:新用户的名称。
示例:
useraddjohn
passwd:设置或更改用户密码
passwdusername
username:要设置密码的用户。
示例:
passwdjohn
usermod:修改用户信息
usermod[选项]username
常用选项:
-aG groupname:将用户添加到附加组中。
-d /home/new_home:更改用户的主目录。
示例:
usermod-aGwheeljohn
userdel:删除用户
userdel[选项]username
常用选项:
-r:删除用户的同时删除用户的主目录和邮件目录。
示例:
userdel-rjohn
groupadd:添加新组
groupaddgroupname
groupname:新组的名称。
示例:
groupaddadmin
groupdel:删除组
groupdelgroupname
groupname:要删除的组。
示例:
groupdeladmin
文件和目录操作
在日常操作中,管理文件和目录是运维工程师的基本任务。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)。
示例:
chmod755script.sh chmodu+xscript.sh
chown:修改文件所有者
chown[选项]用户:组文件
示例:
chownjohn:admin/home/john/script.sh
chgrp:修改文件所属组
chgrp[选项]组文件
示例:
chgrpadmin/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:删除软件包。
示例:
yuminstallhttpd yumupdate yumremovehttpd
网络管理命令
在CentOS系统中,网络管理是非常重要的一个环节。通过配置和管理网络,确保服务器能够顺畅地与外界进行通信。
网络配置
ifconfig:显示或配置网络接口
ifconfig命令用于显示或配置网络接口的IP地址、子网掩码和广播地址等信息。
ifconfig[接口][选项]
常用选项:
up:启动网络接口。
down:关闭网络接口。
示例:
ifconfigeth0 ifconfigeth0192.168.1.100netmask255.255.255.0 ifconfigeth0up
ip:显示或配置网络设备、路由和隧道
ip命令是ifconfig命令的增强版,功能更加强大,用于配置网络设备、管理路由和设置隧道。
ip[选项]对象命令
常用对象:
addr:显示或修改网络接口地址。
link:显示或修改网络接口属性。
route:显示或修改路由表。
示例:
ipaddrshow ipaddradd192.168.1.100/24deveth0 iplinkseteth0up iprouteadddefaultvia192.168.1.1
nmcli:NetworkManager命令行接口
nmcli命令用于控制NetworkManager,并显示网络状态、配置网络连接。
nmcli[选项]命令
常用命令:
device status:显示所有网络设备的状态。
connection show:显示所有网络连接。
connection up:激活网络连接。
示例:
nmclidevicestatus nmcliconnectionshow nmcliconnectionupeth0
网络诊断
ping:测试网络连通性
ping命令通过向目标主机发送ICMP回显请求来测试网络连通性。
ping[选项]目标主机
常用选项:
-c:指定发送的请求数。
-i:指定发送请求的间隔时间。
示例:
ping-c4google.com ping-i0.5google.com
traceroute:跟踪路由路径
traceroute命令用于显示数据包从源主机到目标主机之间经过的路由节点。
traceroute[选项]目标主机
常用选项:
-m:指定最大跳数。
示例:
traceroutegoogle.com traceroute-m20google.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-AINPUT-ptcp--dport22-jACCEPT iptables-AINPUT-ptcp--dport80-jACCEPT iptables-DINPUT-ptcp--dport80-jACCEPT
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:显示所有用户的所有进程,并包括详细信息。
示例:
psaux
top:实时显示系统状态
top命令用于实时监控系统的进程状态、CPU使用率、内存使用率等信息。
top
在top界面中,可以使用以下快捷键:
q:退出。
k:终止进程。
r:重新调整进程的优先级。
htop:更友好的进程监控工具
htop命令是top命令的增强版,提供了更友好的界面和更强大的功能。
htop
安装htop:
yuminstallhtop
启动htop:
htop
kill:终止进程
kill命令用于终止指定的进程,可以通过进程ID(PID)来指定要终止的进程。
kill[选项]PID
常用选项:
-9:强制终止进程。
示例:
kill-91234
pkill:按进程名称终止进程
pkill命令用于按进程名称终止进程,无需知道具体的PID。
pkill[选项]进程名称
示例:
pkillhttpd
pgrep:按进程名称查找进程ID
pgrep命令用于按进程名称查找进程ID,可以用于结合其他命令进行操作。
pgrep[选项]进程名称
示例:
pgrephttpd
服务管理
在CentOS 7及以后版本中,systemd已成为默认的系统和服务管理器。systemctl命令是用来管理systemd服务的主要工具。
systemctl:管理系统服务
systemctl[选项]命令服务
常用命令:
start:启动服务。
stop:停止服务。
restart:重启服务。
status:查看服务状态。
enable:设置服务开机启动。
disable:取消服务开机启动。
示例:
systemctlstarthttpd systemctlstophttpd systemctlrestarthttpd systemctlstatushttpd systemctlenablehttpd systemctldisablehttpd
chkconfig:管理服务的开机启动(适用于CentOS 6)
在CentOS 6及以前版本中,chkconfig命令用于管理服务的开机启动。
chkconfig[选项]服务
常用选项:
--list:列出所有服务及其开机启动状态。
--level:指定运行级别。
示例:
chkconfig--listhttpd chkconfighttpdon chkconfighttpdoff
日志管理
日志管理是系统管理中的重要环节,通过查看和分析日志,可以了解系统的运行状态,排查问题。
journalctl:查看systemd日志
journalctl命令用于查看由systemd管理的日志信息。
journalctl[选项]
常用选项:
-u:查看指定服务的日志。
-f:实时跟踪日志输出。
示例:
journalctl-uhttpd 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 mpstat25
sar:系统活动报告
sar命令用于收集、报告和保存系统活动信息,包括CPU、内存、磁盘和网络等资源的使用情况。
sar[选项][时间间隔][次数]
常用选项:
-u:显示CPU使用情况。
示例:
sar-u13
内存监控与调优
free:显示内存使用情况
free命令用于显示系统内存的使用情况,包括物理内存、交换分区和缓冲区缓存的使用量。
free[选项]
常用选项:
-h:以人类可读的格式显示。
示例:
free-h
vmstat:显示虚拟内存统计信息
vmstat命令用于报告虚拟内存、进程、CPU活动的状态。
vmstat[时间间隔][次数]
示例:
vmstat25
top:实时监控内存使用情况
在top命令中,可以按内存使用率对进程进行排序,实时监控内存使用情况。
在top界面中:
按M键切换到按内存使用率排序。
sar:系统活动报告
sar命令同样可以用于监控内存使用情况。
sar-r13
磁盘监控与调优
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-d23
iotop:实时显示磁盘I/O使用情况
iotop命令用于实时显示进程的磁盘I/O使用情况。
iotop
安装iotop:
yuminstalliotop
启动iotop:
iotop
网络监控与调优
ifconfig:显示或配置网络接口
ifconfig命令用于显示或配置网络接口的IP地址、子网掩码和广播地址等信息。
ifconfig[接口][选项]
示例:
ifconfigeth0
ip:显示或配置网络设备、路由和隧道
ip命令是ifconfig命令的增强版,功能更加强大,用于配置网络设备、管理路由和设置隧道。
ip[选项]对象命令
示例:
ipaddrshow
netstat:显示网络连接、路由表和接口统计
netstat命令用于显示当前的网络连接、路由表、接口统计和多播成员。
netstat[选项]
常用选项:
-tuln:显示所有监听的端口。
示例:
netstat-tuln
ss:显示网络套接字信息
ss命令是netstat命令的替代品,功能更强大且速度更快,用于显示网络套接字的信息。
ss[选项]
常用选项:
-tuln:显示所有监听的端口。
示例:
ss-tuln
ping:测试网络连通性
ping命令通过向目标主机发送ICMP回显请求来测试网络连通性。
ping[选项]目标主机
示例:
pinggoogle.com
traceroute:跟踪路由路径
traceroute命令用于显示数据包从源主机到目标主机之间经过的路由节点。
traceroute[选项]目标主机
示例:
traceroutegoogle.com
iftop:实时显示网络带宽使用情况
iftop命令用于实时显示网络接口的带宽使用情况。
iftop
安装iftop:
yuminstalliftop
启动iftop:
iftop
安全和备份命令
在CentOS系统中,安全和备份是确保数据完整性和系统稳定性的关键。通过配置安全策略和定期备份数据,运维工程师可以有效防范安全威胁,并在意外情况下快速恢复数据。
用户和权限管理
useradd:添加新用户
useradd命令用于在系统中创建新用户。
useradd[选项]用户名
常用选项:
-m:创建用户的主目录。
-s:指定用户的默认shell。
示例:
useradd-m-s/bin/bashnewuser
passwd:设置用户密码
passwd命令用于设置或更改用户密码。
passwd[选项]用户名
示例:
passwdnewuser
usermod:修改用户信息
usermod命令用于修改用户的属性。
usermod[选项]用户名
常用选项:
-g:修改用户的主组。
-G:修改用户的附加组。
示例:
usermod-gusersnewuser usermod-Gwheelnewuser
groupadd:添加新组
groupadd命令用于在系统中创建新组。
groupadd[选项]组名
示例:
groupaddnewgroup
chown:更改文件或目录的所有者
chown命令用于更改文件或目录的所有者和所属组。
chown[选项]用户:组文件或目录
示例:
chownnewuser:newgroup/path/to/file
chmod:更改文件或目录的权限
chmod命令用于更改文件或目录的访问权限。
chmod[选项]权限文件或目录
常用模式:
数字模式:如755、644等。
符号模式:如u+x、g-w等。
示例:
chmod755/path/to/file chmodu+x/path/to/script.sh
安全审计
auditd:Linux审计守护进程
auditd命令用于启动和管理Linux审计子系统。
systemctlstartauditd systemctlstatusauditd
ausearch:搜索审计日志
ausearch命令用于搜索审计日志,以特定的条件筛选出相关的审计记录。
ausearch[选项]条件
常用条件:
-m:指定审计消息类型。
-ui:指定用户ID。
示例:
ausearch-mavc ausearch-ui1000
auditctl:控制审计规则
auditctl命令用于管理审计子系统的规则和状态。
auditctl[选项]命令
常用命令:
-l:列出当前的审计规则。
-a:添加审计规则。
示例:
auditctl-l auditctl-aalways,exit-Farch=b64-Sall-Feuid=0
加密和解密
gpg:GNU隐私保护
gpg命令用于加密和解密文件,生成和管理加密密钥。
gpg[选项]文件
常用选项:
-c:对文件进行对称加密。
-e:对文件进行非对称加密。
-d:解密文件。
示例:
gpg-cfile.txt gpg-e-rrecipient@example.comfile.txt gpg-dfile.txt.gpg
openssl:OpenSSL命令行工具
openssl命令提供了加密和解密的功能,可以生成和管理密钥、证书等。
openssl[命令][选项]
常用命令:
enc:进行对称加密和解密。
genrsa:生成RSA密钥对。
req:生成证书请求。
示例:
opensslenc-aes-256-cbc-infile.txt-outfile.enc opensslgenrsa-outprivate_key.pem2048 opensslreq-new-keyprivate_key.pem-outrequest.csr
数据备份和恢复
tar:归档工具
tar命令用于创建、解压和管理tar归档文件。
tar[选项]文件
常用选项:
-c:创建归档文件。
-x:解压归档文件。
-z:使用gzip压缩或解压。
-v:显示处理过程。
-f:指定归档文件名。
示例:
tar-cvzfbackup.tar.gz/path/to/directory tar-xvzfbackup.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:块数量。
示例:
ddif=/dev/sdaof=/path/to/backup.imgbs=1M ddif=/path/to/backup.imgof=/dev/sdabs=1M
scp:安全复制
scp命令用于在远程主机之间安全地复制文件。
scp[选项]源目标
示例:
scp/path/to/localfileuser@remotehost:/path/to/remotedirectory scpuser@remotehost:/path/to/remotefile/path/to/localdirectory
包管理和软件安装命令
在CentOS系统中,包管理和软件安装是系统管理的基础任务。通过有效的包管理,运维工程师可以安装、升级和删除软件包,确保系统的软件环境保持最新和稳定。
yum 包管理工具
在CentOS 7及以前版本中,yum(Yellowdog Updater, Modified)是默认的包管理工具。它用于管理RPM包,包括安装、更新和删除软件包。
安装软件包
yum install命令用于从软件仓库中安装指定的软件包。
yuminstall[软件包名称]
示例:
yuminstallhttpd
更新软件包
yum update命令用于更新系统中已安装的软件包到最新版本。
yumupdate[软件包名称]
示例:
yumupdatehttpd
删除软件包
yum remove命令用于从系统中删除指定的软件包。
yumremove[软件包名称]
示例:
yumremovehttpd
列出已安装的软件包
yum list installed命令用于列出系统中已安装的所有软件包。
yumlistinstalled
查询软件包信息
yum info命令用于查询指定软件包的详细信息。
yuminfo[软件包名称]
示例:
yuminfohttpd
搜索软件包
yum search命令用于搜索软件包仓库中的软件包。
yumsearch[关键词]
示例:
yumsearchnginx
清理缓存
yum clean命令用于清理yum的缓存文件,以释放磁盘空间。
yumclean[选项]
常用选项:
all:清理所有缓存。
packages:清理软件包缓存。
示例:
yumcleanall
dnf 包管理工具
在CentOS 8及以后的版本中,dnf(Dandified YUM)取代了yum成为默认的包管理工具。dnf提供了更快的性能和更多的功能。
安装软件包
dnf install命令用于从软件仓库中安装指定的软件包。
dnfinstall[软件包名称]
示例:
dnfinstallhttpd
更新软件包
dnf update命令用于更新系统中已安装的软件包到最新版本。
dnfupdate[软件包名称]
示例:
dnfupdatehttpd
删除软件包
dnf remove命令用于从系统中删除指定的软件包。
dnfremove[软件包名称]
示例:
dnfremovehttpd
列出已安装的软件包
dnf list installed命令用于列出系统中已安装的所有软件包。
dnflistinstalled
查询软件包信息
dnf info命令用于查询指定软件包的详细信息。
dnfinfo[软件包名称]
示例:
dnfinfohttpd
搜索软件包
dnf search命令用于搜索软件包仓库中的软件包。
dnfsearch[关键词]
示例:
dnfsearchnginx
清理缓存
dnf clean命令用于清理dnf的缓存文件,以释放磁盘空间。
dnfclean[选项]
常用选项:
all:清理所有缓存。
packages:清理软件包缓存。
示例:
dnfcleanall
软件仓库管理
配置仓库
在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)仓库提供了许多额外的软件包。
yuminstallepel-release
或
dnfinstallepel-release
禁用仓库
可以临时禁用某个仓库来避免从该仓库安装软件包。
yuminstall[软件包名称]--disablerepo=[仓库ID]
或
dnfinstall[软件包名称]--disablerepo=[仓库ID]
查看可用仓库
yum repolist 或 dnf repolist命令用于查看当前启用的仓库列表。
yumrepolist
或
dnfrepolist
查看仓库中的软件包
yum list available 或 dnf list available命令用于查看软件仓库中可用的软件包。
yumlistavailable
或
dnflistavailable
日志管理和故障排除命令
在CentOS系统中,日志管理和故障排除是系统运维中不可或缺的部分。通过查看系统日志,运维工程师可以监控系统状态、诊断问题并进行故障排除。
系统日志查看
journalctl:查看和管理系统日志
journalctl是用于查看和管理systemd系统日志的工具,能够显示各种服务和系统的日志条目。
journalctl[选项]
常用选项:
-xe:显示详细的错误日志。
-u [服务名]:显示指定服务的日志。
--since 和 --until:指定时间范围。
示例:
journalctl-xe journalctl-uhttpd journalctl--since"2024-07-150000"--until"2024-07-160000"
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--detailhigh--servicesshd logwatch--detailmedium
故障排除命令
top:实时显示系统进程
top命令用于实时显示系统的CPU、内存使用情况及运行中的进程。
top
常用快捷键:
P:按CPU使用率排序。
M:按内存使用率排序。
示例:
top
htop:增强版top工具
htop是top的增强版,提供了更友好的用户界面和额外的功能。
htop
安装htop:
yuminstallhtop
启动htop:
htop
ps:显示进程状态
ps命令用于列出系统中当前的进程。
ps[选项]
常用选项:
-e 或 -A:显示所有进程。
-f:显示详细信息。
示例:
ps-ef psaux
netstat:显示网络连接和状态
netstat命令用于显示网络连接、路由表和接口统计。
netstat[选项]
常用选项:
-tuln:显示所有监听端口。
-s:显示网络统计信息。
示例:
netstat-tuln netstat-s
strace:追踪系统调用和信号
strace命令用于追踪进程执行期间的系统调用和信号。
strace[选项][命令]
常用选项:
-p:附加到现有进程。
-e:指定追踪的系统调用。
示例:
strace-p[PID] strace-eopen,read,write[命令]
lsof:列出打开的文件
lsof命令用于列出系统中所有打开的文件和对应的进程。
lsof[选项]
常用选项:
-i:列出网络连接。
-u:列出指定用户的打开文件。
示例:
lsof-i lsof-uroot
df:显示磁盘空间使用情况
df命令用于显示文件系统的磁盘空间使用情况。
df[选项]
常用选项:
-h:以人类可读的格式显示(如MB、GB)。
示例:
df-h
du:显示目录或文件的磁盘使用情况
du命令用于显示目录或文件的磁盘使用情况。
du[选项][文件或目录]
常用选项:
-h:以人类可读的格式显示。
-s:仅显示总计。
示例:
du-sh/path/to/directory du-sh*
常见问题解决方法
系统服务无法启动
查看服务状态:
systemctlstatus[服务名]
查看日志:
journalctl-u[服务名]
网络连接问题
检查网络接口状态:
ipaddrshow
检查路由设置:
iprouteshow
检查防火墙规则:
firewall-cmd--list-all
磁盘空间不足
查看磁盘使用情况:
df-h
查找大文件:
du-ah/|sort-n-r|head-n10
进程占用过多资源
查看进程资源使用情况:
top htop
查找占用资源的进程:
psaux--sort=-%cpu|head-n10
用户和权限管理命令
在CentOS系统中,用户和权限管理是确保系统安全和资源合理分配的重要任务。有效的用户和权限管理可以防止未授权的访问和操作,确保系统的安全性和稳定性。
用户账户管理
useradd:添加新用户
useradd命令用于创建新的用户账户。
useradd[选项][用户名]
常用选项:
-m:创建用户的主目录。
-s:指定用户的登录Shell。
示例:
useradd-m-s/bin/bashjohn
usermod:修改用户账户
usermod命令用于修改现有的用户账户信息。
usermod[选项][用户名]
常用选项:
-aG:将用户添加到指定组。
-s:更改用户的登录Shell。
示例:
usermod-aGwheeljohn usermod-s/bin/zshjohn
userdel:删除用户账户
userdel命令用于删除用户账户。
userdel[选项][用户名]
常用选项:
-r:删除用户的主目录及其内容。
示例:
userdel-rjohn
passwd:修改用户密码
passwd命令用于设置或修改用户密码。
passwd[用户名]
示例:
passwdjohn
chage:管理用户密码过期信息
chage命令用于管理用户密码的过期和有效期信息。
chage[选项][用户名]
常用选项:
-l:列出用户的密码过期信息。
-M:设置密码最大有效期(天数)。
-W:设置密码过期前的警告天数。
示例:
chage-ljohn chage-M90john chage-W7john
用户组管理
groupadd:添加新组
groupadd命令用于创建新的用户组。
groupadd[选项][组名]
示例:
groupadddevelopers
groupmod:修改用户组
groupmod命令用于修改现有的用户组信息。
groupmod[选项][组名]
常用选项:
-n:更改用户组名称。
示例:
groupmod-ndevsdevelopers
groupdel:删除用户组
groupdel命令用于删除用户组。
groupdel[组名]
示例:
groupdeldevs
gpasswd:管理用户组成员
gpasswd命令用于管理用户组的成员和组信息。
gpasswd[选项][组名]
常用选项:
-a:将用户添加到组。
-d:从组中删除用户。
示例:
gpasswd-ajohndevelopers gpasswd-djohndevelopers
文件和目录权限设置
chmod:更改文件和目录权限
chmod命令用于更改文件或目录的权限。
chmod[选项][权限][文件或目录]
常用选项:
u:用户权限。
g:组权限。
o:其他用户权限。
+:添加权限。
-:删除权限。
=:设置权限。
权限表示:
r:读权限。
w:写权限。
x:执行权限。
示例:
chmodu+xfile.txt chmodg-wdirectory chmod755script.sh
chown:更改文件或目录的所有者和所属组
chown命令用于更改文件或目录的所有者和所属组。
chown[选项][所有者][:所属组][文件或目录]
常用选项:
-R:递归更改目录及其内容。
示例:
chownjohn:developersfile.txt chown-Rjohn:developers/home/john
chgrp:更改文件或目录的所属组
chgrp命令用于更改文件或目录的所属组。
chgrp[选项][所属组][文件或目录]
常用选项:
-R:递归更改目录及其内容。
示例:
chgrpdevelopersfile.txt chgrp-Rdevelopers/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:指定要以其身份执行命令的用户。
示例:
sudols/root sudo-ujohnwhoami
备份和恢复命令
在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-cvzfbackup.tar.gz/home/user/ tar-xvzfbackup.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命令用于将整个磁盘或分区进行复制备份,适用于完整的磁盘备份和恢复。
ddif=[源设备]of=[目标文件][选项]
常用选项:
if:指定源设备。
of:指定目标文件。
bs:指定块大小。
示例:
ddif=/dev/sdaof=/backup/sda.imgbs=4M ddif=/backup/sda.imgof=/dev/sdabs=4M
备份策略
全量备份:备份整个文件系统或目录
全量备份是指对整个文件系统或指定目录进行一次完整的备份。这种备份方式能够完整保存所有数据,但备份文件较大,备份和恢复速度较慢。
增量备份:备份自上次备份以来发生变化的数据
增量备份是指仅备份自上次备份以来发生变化的文件。增量备份节省存储空间和备份时间,但恢复时需要将所有增量备份一起恢复。
差异备份:备份自上次全量备份以来发生变化的数据
差异备份是指备份自上次全量备份以来发生变化的文件。差异备份介于全量备份和增量备份之间,恢复时只需要最新的全量备份和最新的差异备份。
定期备份:根据预定计划进行备份
定期备份是根据预定的时间表(如每日、每周、每月)进行备份。定期备份可以确保备份数据的最新性和完整性。
恢复方法
从tar归档恢复
使用tar命令可以从归档文件中恢复文件和目录。
tar-xvzf[归档文件]-C[恢复目录]
示例:
tar-xvzfbackup.tar.gz-C/home/user/
从rsync备份恢复
使用rsync命令可以从备份位置恢复文件和目录。
rsync-avz[备份源][恢复目标]
示例:
rsync-avzbackup@remote:/backup/user//home/user/
从dd备份恢复
使用dd命令可以将备份镜像文件恢复到磁盘设备。
ddif=[备份文件]of=[目标设备][选项]
示例:
ddif=/backup/sda.imgof=/dev/sdabs=4M
从dump备份恢复
使用restore命令从dump备份中恢复文件系统。
restore-r-f[备份文件]
示例:
restore-r-f/backup/dumpfile
-
服务器
+关注
关注
12文章
8997浏览量
85134 -
命令
+关注
关注
5文章
678浏览量
21976 -
CentOS
+关注
关注
0文章
77浏览量
13728
原文标题:CentOS命令大全,值得每位运维工程师收藏!
文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论