轉載請注明以下內容:
來源:公眾號【網絡技術干貨圈】
作者:圈圈
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 [email protected] 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
-
服務器
+關注
關注
13文章
9686瀏覽量
87280 -
命令
+關注
關注
5文章
729瀏覽量
22673 -
CentOS
+關注
關注
0文章
83瀏覽量
14141
原文標題:CentOS命令大全,值得每位運維工程師收藏!
文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
Linux常用命令總結
Linux常用命令總結
linux的常用命令總結
Linux的常用網絡命令
解壓縮常用相關命令原理的組合
如何將CentOS 7升級到CentOS 8.5版本

評論