CentOS(Community ENTerprise Operating System)是基于Red Hat Enterprise Linux(RHEL)的自由和开源的企业级操作系统,旨在提供一个免费的、稳定的、可自由使用的替代品。CentOS的稳定性和安全性使其成为服务器和生产环境中的首选。作为运维工程师,掌握CentOS命令行操作不仅能提高工作效率,还能解决日常工作中的复杂问题。
系统管理命令用户和组管理在CentOS中,用户和组管理是非常重要的。通过管理用户和组,可以控制系统的访问权限,确保系统的安全性和稳定性。
useradd:添加新用户useradd usernameusername:新用户的名称。示例:
useradd johnpasswd:设置或更改用户密码passwd usernameusername:要设置密码的用户。示例:
passwd johnusermod:修改用户信息usermod [选项] username常用选项:-aG groupname:将用户添加到附加组中。-d /home/new_home:更改用户的主目录。示例:
usermod -aG wheel johnuserdel:删除用户userdel [选项] username常用选项:-r:删除用户的同时删除用户的主目录和邮件目录。示例:
userdel -r johngroupadd:添加新组groupadd groupnamegroupname:新组的名称。示例:
groupadd admingroupdel:删除组groupdel groupnamegroupname:要删除的组。示例:
groupdel admin文件和目录操作在日常操作中,管理文件和目录是运维工程师的基本任务。CentOS提供了一系列命令来高效地执行这些任务。
ls:列出目录内容ls [选项] [目录]常用选项:-l:使用长格式列出信息。-a:列出所有文件,包括隐藏文件。示例:
ls -l /etccd:切换目录cd [目录]目录:要切换到的目录路径。示例:
cd /var/logcp:复制文件或目录cp [选项] 源文件 目标文件常用选项:-r:递归复制目录及其内容。示例:
cp /etc/passwd /tmp/cp -r /etc /backup/mv:移动或重命名文件或目录mv [选项] 源文件 目标文件示例:
mv /tmp/passwd /tmp/passwd_backupmv /home/john /home/john_oldrm:删除文件或目录rm [选项] 文件常用选项:-r:递归删除目录及其内容。-f:强制删除,不提示确认。示例:
rm /tmp/passwd_backuprm -rf /tmp/old_filesmkdir:创建新目录mkdir [选项] 目录常用选项:-p:递归创建多级目录。示例:
mkdir /home/new_usermkdir -p /home/new_user/docs权限管理文件和目录的权限管理是Linux系统安全的重要组成部分。通过设置适当的权限,可以控制谁可以访问和修改文件。
chmod:修改文件权限chmod [选项] 模式 文件模式:可以是符号模式(如u+x)或数字模式(如755)。示例:
chmod 755 script.shchmod u+x script.shchown:修改文件所有者chown [选项] 用户:组 文件示例:
chown john:admin /home/john/script.shchgrp:修改文件所属组chgrp [选项] 组 文件示例:
chgrp admin /home/john/script.sh磁盘管理磁盘管理包括监视磁盘使用情况、分区和挂载文件系统等操作。
df:显示文件系统磁盘空间使用情况df [选项]常用选项:-h:以人类可读的格式显示。示例:
df -hdu:显示目录或文件的磁盘使用情况du [选项] [目录]常用选项:-sh:以简洁和人类可读的格式显示。示例:
du -sh /var/logfdisk:磁盘分区管理fdisk [选项] 设备示例:
fdisk /dev/sdamount:挂载文件系统mount [选项] 设备 目录示例:
mount /dev/sda1 /mntumount:卸载文件系统umount [选项] 目录示例:
umount /mnt软件包管理在CentOS中,软件包管理是系统维护和更新的重要部分。yum命令是CentOS中的默认包管理工具。
yum:软件包管理器yum [选项] 命令 [包名]常用命令:install:安装软件包。update:更新所有已安装的软件包。remove:删除软件包。示例:
yum install httpdyum updateyum remove httpd网络管理命令在CentOS系统中,网络管理是非常重要的一个环节。通过配置和管理网络,确保服务器能够顺畅地与外界进行通信。
网络配置ifconfig:显示或配置网络接口ifconfig命令用于显示或配置网络接口的IP地址、子网掩码和广播地址等信息。
ifconfig [接口] [选项]常用选项:up:启动网络接口。down:关闭网络接口。示例:
ifconfig eth0ifconfig eth0 192.168.1.100 netmask 255.255.255.0ifconfig eth0 upip:显示或配置网络设备、路由和隧道ip命令是ifconfig命令的增强版,功能更加强大,用于配置网络设备、管理路由和设置隧道。
ip [选项] 对象 命令常用对象:addr:显示或修改网络接口地址。link:显示或修改网络接口属性。route:显示或修改路由表。示例:
ip addr showip addr add 192.168.1.100/24 dev eth0ip link set eth0 upip route add default via 192.168.1.1nmcli:NetworkManager命令行接口nmcli命令用于控制NetworkManager,并显示网络状态、配置网络连接。
nmcli [选项] 命令常用命令:device status:显示所有网络设备的状态。connection show:显示所有网络连接。connection up:激活网络连接。示例:
nmcli device statusnmcli connection shownmcli connection up eth0网络诊断ping:测试网络连通性ping命令通过向目标主机发送ICMP回显请求来测试网络连通性。
ping [选项] 目标主机常用选项:-c:指定发送的请求数。-i:指定发送请求的间隔时间。示例:
ping -c 4 google.comping -i 0.5 google.comtraceroute:跟踪路由路径traceroute命令用于显示数据包从源主机到目标主机之间经过的路由节点。
traceroute [选项] 目标主机常用选项:-m:指定最大跳数。示例:
traceroute google.comtraceroute -m 20 google.comnetstat:显示网络连接、路由表和接口统计netstat命令用于显示当前的网络连接、路由表、接口统计和多播成员。
netstat [选项]常用选项:-t:显示TCP连接。-u:显示UDP连接。-l:显示监听的套接字。示例:
netstat -tulnnetstat -iss:显示网络套接字信息ss命令是netstat命令的替代品,功能更强大且速度更快,用于显示网络套接字的信息。
ss [选项]常用选项:-t:显示TCP套接字。-u:显示UDP套接字。-l:显示监听的套接字。示例:
ss -tulnss -s网络安全iptables:配置Linux内核防火墙规则iptables命令用于配置IPv4的包过滤规则,可以用于防火墙设置、NAT和数据包过滤等。
iptables [选项] 命令常用命令:-L:列出当前的防火墙规则。-A:在规则链的末尾添加规则。-D:删除规则链中的某条规则。示例:
iptables -Liptables -A INPUT -p tcp --dport 22 -j ACCEPTiptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -D INPUT -p tcp --dport 80 -j ACCEPTfirewalld:动态防火墙管理工具firewalld命令是一个提供动态管理网络防火墙功能的工具,支持IPv4、IPv6防火墙和以太网桥。
firewall-cmd [选项]常用选项:--state:查看firewalld的状态。--reload:重新加载防火墙规则。--add-port:添加允许通过的端口。示例:
firewall-cmd --statefirewall-cmd --permanent --add-port=80/tcpfirewall-cmd --reload进程和服务管理命令在CentOS系统中,进程和服务管理是确保系统稳定运行的关键。通过管理进程和服务,运维工程师可以监控系统的运行状态,调整系统性能,并解决潜在问题。
进程管理ps:显示当前进程ps命令用于显示当前系统中的进程信息,可以结合不同的选项获取详细的进程状态。
ps [选项]常用选项:aux:显示所有用户的所有进程,并包括详细信息。示例:
ps auxtop:实时显示系统状态top命令用于实时监控系统的进程状态、CPU使用率、内存使用率等信息。
top在top界面中,可以使用以下快捷键:q:退出。k:终止进程。r:重新调整进程的优先级。htop:更友好的进程监控工具htop命令是top命令的增强版,提供了更友好的界面和更强大的功能。
htop安装htop:yum install htop启动htop:htopkill:终止进程kill命令用于终止指定的进程,可以通过进程ID(PID)来指定要终止的进程。
kill [选项] PID常用选项:-9:强制终止进程。示例:
kill -9 1234pkill:按进程名称终止进程pkill命令用于按进程名称终止进程,无需知道具体的PID。
pkill [选项] 进程名称示例:
pkill httpdpgrep:按进程名称查找进程IDpgrep命令用于按进程名称查找进程ID,可以用于结合其他命令进行操作。
pgrep [选项] 进程名称示例:
pgrep httpd服务管理在CentOS 7及以后版本中,systemd已成为默认的系统和服务管理器。systemctl命令是用来管理systemd服务的主要工具。
systemctl:管理系统服务systemctl [选项] 命令 服务常用命令:start:启动服务。stop:停止服务。restart:重启服务。status:查看服务状态。enable:设置服务开机启动。disable:取消服务开机启动。示例:
systemctl start httpdsystemctl stop httpdsystemctl restart httpdsystemctl status httpdsystemctl enable httpdsystemctl disable httpdchkconfig:管理服务的开机启动(适用于CentOS 6)在CentOS 6及以前版本中,chkconfig命令用于管理服务的开机启动。
chkconfig [选项] 服务常用选项:--list:列出所有服务及其开机启动状态。--level:指定运行级别。示例:
chkconfig --list httpdchkconfig httpd onchkconfig httpd off日志管理日志管理是系统管理中的重要环节,通过查看和分析日志,可以了解系统的运行状态,排查问题。
journalctl:查看systemd日志journalctl命令用于查看由systemd管理的日志信息。
journalctl [选项]常用选项:-u:查看指定服务的日志。-f:实时跟踪日志输出。示例:
journalctl -u httpdjournalctl -fdmesg:查看内核环缓冲区日志dmesg命令用于查看和控制内核环缓冲区中的信息,主要记录系统启动过程和内核日志。
dmesg [选项]常用选项:-c:清除缓冲区中的信息。示例:
dmesgdmesg -c/var/log目录CentOS系统中的各种日志文件通常存储在/var/log目录下,通过查看这些日志文件,可以了解系统和服务的详细运行情况。
常见日志文件:/var/log/messages:系统通用日志。/var/log/secure:安全相关日志。/var/log/maillog:邮件相关日志。/var/log/httpd:Apache HTTP服务器日志。示例:
tail -f /var/log/messagestail -f /var/log/secure系统监控和性能调优命令在CentOS系统中,系统监控和性能调优是确保服务器高效运行的关键。通过监控系统资源的使用情况和性能瓶颈,运维工程师可以及时进行调优,提升系统的稳定性和响应速度。
CPU 监控与调优uptime:查看系统运行时间和负载uptime命令显示系统的运行时间、登录用户数量和系统平均负载。
uptime示例:
uptimetop:实时显示系统状态top命令用于实时监控系统的CPU使用率、内存使用率和进程状态。
top在top界面中,可以使用以下快捷键:q:退出。P:按CPU使用率排序。M:按内存使用率排序。mpstat:显示各个CPU的使用情况mpstat命令用于显示各个CPU的使用情况,帮助分析多核CPU的性能。
mpstat [选项] [时间间隔] [次数]示例:
mpstatmpstat 2 5sar:系统活动报告sar命令用于收集、报告和保存系统活动信息,包括CPU、内存、磁盘和网络等资源的使用情况。
sar [选项] [时间间隔] [次数]常用选项:-u:显示CPU使用情况。示例:
sar -u 1 3内存监控与调优free:显示内存使用情况free命令用于显示系统内存的使用情况,包括物理内存、交换分区和缓冲区缓存的使用量。
free [选项]常用选项:-h:以人类可读的格式显示。示例:
free -hvmstat:显示虚拟内存统计信息vmstat命令用于报告虚拟内存、进程、CPU活动的状态。
vmstat [时间间隔] [次数]示例:
vmstat 2 5top:实时监控内存使用情况在top命令中,可以按内存使用率对进程进行排序,实时监控内存使用情况。
在top界面中:按M键切换到按内存使用率排序。sar:系统活动报告sar命令同样可以用于监控内存使用情况。
sar -r 1 3磁盘监控与调优df:显示文件系统磁盘空间使用情况df命令用于显示文件系统的磁盘空间使用情况。
df [选项]常用选项:-h:以人类可读的格式显示。示例:
df -hdu:显示目录或文件的磁盘使用情况du命令用于显示指定目录或文件的磁盘使用情况。
du [选项] [目录]常用选项:-sh:以简洁和人类可读的格式显示。示例:
du -sh /var/logiostat:显示CPU和设备的I/O统计信息iostat命令用于显示CPU和设备的I/O统计信息,帮助分析磁盘性能。
iostat [选项] [时间间隔] [次数]常用选项:-d:显示磁盘I/O统计信息。示例:
iostat -d 2 3iotop:实时显示磁盘I/O使用情况iotop命令用于实时显示进程的磁盘I/O使用情况。
iotop安装iotop:yum install iotop启动iotop:iotop网络监控与调优ifconfig:显示或配置网络接口ifconfig命令用于显示或配置网络接口的IP地址、子网掩码和广播地址等信息。
ifconfig [接口] [选项]示例:
ifconfig eth0ip:显示或配置网络设备、路由和隧道ip命令是ifconfig命令的增强版,功能更加强大,用于配置网络设备、管理路由和设置隧道。
ip [选项] 对象 命令示例:
ip addr shownetstat:显示网络连接、路由表和接口统计netstat命令用于显示当前的网络连接、路由表、接口统计和多播成员。
netstat [选项]常用选项:-tuln:显示所有监听的端口。示例:
netstat -tulnss:显示网络套接字信息ss命令是netstat命令的替代品,功能更强大且速度更快,用于显示网络套接字的信息。
ss [选项]常用选项:-tuln:显示所有监听的端口。示例:
ss -tulnping:测试网络连通性ping命令通过向目标主机发送ICMP回显请求来测试网络连通性。
ping [选项] 目标主机示例:
ping google.comtraceroute:跟踪路由路径traceroute命令用于显示数据包从源主机到目标主机之间经过的路由节点。
traceroute [选项] 目标主机示例:
traceroute google.comiftop:实时显示网络带宽使用情况iftop命令用于实时显示网络接口的带宽使用情况。
iftop安装iftop:yum install iftop启动iftop:iftop安全和备份命令在CentOS系统中,安全和备份是确保数据完整性和系统稳定性的关键。通过配置安全策略和定期备份数据,运维工程师可以有效防范安全威胁,并在意外情况下快速恢复数据。
用户和权限管理useradd:添加新用户useradd命令用于在系统中创建新用户。
useradd [选项] 用户名常用选项:-m:创建用户的主目录。-s:指定用户的默认shell。示例:
useradd -m -s /bin/bash newuserpasswd:设置用户密码passwd命令用于设置或更改用户密码。
passwd [选项] 用户名示例:
passwd newuserusermod:修改用户信息usermod命令用于修改用户的属性。
usermod [选项] 用户名常用选项:-g:修改用户的主组。-G:修改用户的附加组。示例:
usermod -g users newuserusermod -G wheel newusergroupadd:添加新组groupadd命令用于在系统中创建新组。
groupadd [选项] 组名示例:
groupadd newgroupchown:更改文件或目录的所有者chown命令用于更改文件或目录的所有者和所属组。
chown [选项] 用户:组 文件或目录示例:
chown newuser:newgroup /path/to/filechmod:更改文件或目录的权限chmod命令用于更改文件或目录的访问权限。
chmod [选项] 权限 文件或目录常用模式:数字模式:如755、644等。符号模式:如u+x、g-w等。示例:
chmod 755 /path/to/filechmod u+x /path/to/script.sh安全审计auditd:Linux审计守护进程auditd命令用于启动和管理Linux审计子系统。
systemctl start auditdsystemctl status auditdausearch:搜索审计日志ausearch命令用于搜索审计日志,以特定的条件筛选出相关的审计记录。
ausearch [选项] 条件常用条件:-m:指定审计消息类型。-ui:指定用户ID。示例:
ausearch -m avcausearch -ui 1000auditctl:控制审计规则auditctl命令用于管理审计子系统的规则和状态。
auditctl [选项] 命令常用命令:-l:列出当前的审计规则。-a:添加审计规则。示例:
auditctl -lauditctl -a always,exit -F arch=b64 -S all -F euid=0加密和解密gpg:GNU隐私保护gpg命令用于加密和解密文件,生成和管理加密密钥。
gpg [选项] 文件常用选项:-c:对文件进行对称加密。-e:对文件进行非对称加密。-d:解密文件。示例:
gpg -c file.txtgpg -e -r recipient@example.com file.txtgpg -d file.txt.gpgopenssl:OpenSSL命令行工具openssl命令提供了加密和解密的功能,可以生成和管理密钥、证书等。
openssl [命令] [选项]常用命令:enc:进行对称加密和解密。genrsa:生成RSA密钥对。req:生成证书请求。示例:
openssl enc -aes-256-cbc -in file.txt -out file.encopenssl genrsa -out private_key.pem 2048openssl 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/directorytar -xvzf backup.tar.gzrsync:远程同步工具rsync命令用于远程同步文件和目录,支持增量备份。
rsync [选项] 源 目标常用选项:-a:归档模式,保留文件属性。-v:显示详细信息。--delete:删除目标目录中源目录不存在的文件。示例:
rsync -av /path/to/source /path/to/destinationrsync -av --delete /path/to/source /path/to/destinationdd:数据复制和转换工具dd命令用于按块复制文件,可以用于备份磁盘或分区。
dd [选项]常用选项:if:输入文件。of:输出文件。bs:块大小。count:块数量。示例:
dd if=/dev/sda of=/path/to/backup.img bs=1Mdd if=/path/to/backup.img of=/dev/sda bs=1Mscp:安全复制scp命令用于在远程主机之间安全地复制文件。
scp [选项] 源 目标示例:
scp /path/to/localfile user@remotehost:/path/to/remotedirectoryscp 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 alldnf 包管理工具在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 Repositorybaseurl=http://your.repo.url/path/enabled=1gpgcheck=1gpgkey=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 -xejournalctl -u httpdjournalctl --since "2024-07-15 00:00:00" --until "2024-07-16 00:00:00"dmesg:查看内核环形缓冲区的消息dmesg命令用于查看内核产生的消息,通常包括硬件和驱动程序的相关信息。
dmesg [选项]常用选项:-T:将时间戳转换为人类可读的格式。示例:
dmesgdmesg -Ttail:查看文件的尾部内容tail命令用于查看文件的最后部分,常用于监控日志文件的最新条目。
tail [选项] [文件名]常用选项:-f:实时跟踪文件的新增内容。示例:
tail -f /var/log/messagestail -f /var/log/syslogless:查看文件内容less命令用于分页查看文件内容,适用于查看大型日志文件。
less [文件名]示例:
less /var/log/messagesgrep:在文件中搜索文本grep命令用于搜索文件中的特定文本,常用于从日志文件中提取关键信息。
grep [选项] [模式] [文件名]常用选项:-i:忽略大小写。-r:递归搜索目录。示例:
grep "error" /var/log/messagesgrep -r "failed" /var/log/日志管理工具logrotate:日志轮转工具logrotate用于定期轮转、压缩和删除日志文件,以节省磁盘空间。
logrotate [选项] [配置文件]常用选项:-f:强制执行配置文件中的轮转。-d:以调试模式运行。示例:
logrotate -f /etc/logrotate.conflogrotate -d /etc/logrotate.conflogwatch:日志分析工具logwatch用于分析和总结系统日志,并生成报告。
logwatch [选项] --detail [级别] --service [服务名]常用选项:--detail:设置报告详细级别。--service:指定服务进行分析。示例:
logwatch --detail high --service sshdlogwatch --detail medium故障排除命令top:实时显示系统进程top命令用于实时显示系统的CPU、内存使用情况及运行中的进程。
top常用快捷键:P:按CPU使用率排序。M:按内存使用率排序。示例:
tophtop:增强版top工具htop是top的增强版,提供了更友好的用户界面和额外的功能。
htop安装htop:yum install htop启动htop:htopps:显示进程状态ps命令用于列出系统中当前的进程。
ps [选项]常用选项:-e 或 -A:显示所有进程。-f:显示详细信息。示例:
ps -efps auxnetstat:显示网络连接和状态netstat命令用于显示网络连接、路由表和接口统计。
netstat [选项]常用选项:-tuln:显示所有监听端口。-s:显示网络统计信息。示例:
netstat -tulnnetstat -sstrace:追踪系统调用和信号strace命令用于追踪进程执行期间的系统调用和信号。
strace [选项] [命令]常用选项:-p:附加到现有进程。-e:指定追踪的系统调用。示例:
strace -p [PID]strace -e open,read,write [命令]lsof:列出打开的文件lsof命令用于列出系统中所有打开的文件和对应的进程。
lsof [选项]常用选项:-i:列出网络连接。-u:列出指定用户的打开文件。示例:
lsof -ilsof -u rootdf:显示磁盘空间使用情况df命令用于显示文件系统的磁盘空间使用情况。
df [选项]常用选项:-h:以人类可读的格式显示(如MB、GB)。示例:
df -hdu:显示目录或文件的磁盘使用情况du命令用于显示目录或文件的磁盘使用情况。
du [选项] [文件或目录]常用选项:-h:以人类可读的格式显示。-s:仅显示总计。示例:
du -sh /path/to/directorydu -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进程占用过多资源查看进程资源使用情况:tophtop查找占用资源的进程:ps aux --sort=-%cpu | head -n 10用户和权限管理命令在CentOS系统中,用户和权限管理是确保系统安全和资源合理分配的重要任务。有效的用户和权限管理可以防止未授权的访问和操作,确保系统的安全性和稳定性。
用户账户管理useradd:添加新用户useradd命令用于创建新的用户账户。
useradd [选项] [用户名]常用选项:-m:创建用户的主目录。-s:指定用户的登录Shell。示例:
useradd -m -s /bin/bash johnusermod:修改用户账户usermod命令用于修改现有的用户账户信息。
usermod [选项] [用户名]常用选项:-aG:将用户添加到指定组。-s:更改用户的登录Shell。示例:
usermod -aG wheel johnusermod -s /bin/zsh johnuserdel:删除用户账户userdel命令用于删除用户账户。
userdel [选项] [用户名]常用选项:-r:删除用户的主目录及其内容。示例:
userdel -r johnpasswd:修改用户密码passwd命令用于设置或修改用户密码。
passwd [用户名]示例:
passwd johnchage:管理用户密码过期信息chage命令用于管理用户密码的过期和有效期信息。
chage [选项] [用户名]常用选项:-l:列出用户的密码过期信息。-M:设置密码最大有效期(天数)。-W:设置密码过期前的警告天数。示例:
chage -l johnchage -M 90 johnchage -W 7 john用户组管理groupadd:添加新组groupadd命令用于创建新的用户组。
groupadd [选项] [组名]示例:
groupadd developersgroupmod:修改用户组groupmod命令用于修改现有的用户组信息。
groupmod [选项] [组名]常用选项:-n:更改用户组名称。示例:
groupmod -n devs developersgroupdel:删除用户组groupdel命令用于删除用户组。
groupdel [组名]示例:
groupdel devsgpasswd:管理用户组成员gpasswd命令用于管理用户组的成员和组信息。
gpasswd [选项] [组名]常用选项:-a:将用户添加到组。-d:从组中删除用户。示例:
gpasswd -a john developersgpasswd -d john developers文件和目录权限设置chmod:更改文件和目录权限chmod命令用于更改文件或目录的权限。
chmod [选项] [权限] [文件或目录]常用选项:u:用户权限。g:组权限。o:其他用户权限。+:添加权限。-:删除权限。=:设置权限。权限表示:r:读权限。w:写权限。x:执行权限。示例:
chmod u+x file.txtchmod g-w directorychmod 755 script.shchown:更改文件或目录的所有者和所属组chown命令用于更改文件或目录的所有者和所属组。
chown [选项] [所有者][:所属组] [文件或目录]常用选项:-R:递归更改目录及其内容。示例:
chown john:developers file.txtchown -R john:developers /home/johnchgrp:更改文件或目录的所属组chgrp命令用于更改文件或目录的所属组。
chgrp [选项] [所属组] [文件或目录]常用选项:-R:递归更改目录及其内容。示例:
chgrp developers file.txtchgrp -R developers /home/johnsudo权限配置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 /rootsudo -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.gzcp:复制文件和目录cp命令用于复制文件和目录,也可以用来进行简单的本地备份。
cp [选项] [源] [目标]常用选项:-r:递归复制目录及其内容。-p:保留文件属性。示例:
cp -rp /home/user/ /backup/user/dump 和 restore:文件系统备份工具dump和restore命令用于备份和恢复文件系统。dump用于创建备份,restore用于从备份中恢复。
创建备份:dump [选项] [文件系统]恢复备份:restore [选项] [备份文件]示例:
dump -0u -f /backup/dumpfile /dev/sda1restore -r -f /backup/dumpfiledd:磁盘复制和备份工具dd命令用于将整个磁盘或分区进行复制备份,适用于完整的磁盘备份和恢复。
dd if=[源设备] of=[目标文件] [选项]常用选项:if:指定源设备。of:指定目标文件。bs:指定块大小。示例:
dd if=/dev/sda of=/backup/sda.img bs=4Mdd 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