配置systemctl命令tab自動(dòng)補(bǔ)全
系統(tǒng)版本
[root@test ~]# uname -r
3.10.0-229.el7.x86_64
[root@test ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
執(zhí)行命令
yum install -y bash-completion
安裝完成后退出終端重新連接服務(wù)器后生效
systemctl服務(wù)相關(guān)
systemctl服務(wù)主體存貯目錄:
/usr/lib/systemd/system/
systemctl服務(wù)開(kāi)機(jī)啟動(dòng)鏈接存貯目錄:
/etc/systemd/system/basic.target.wants/
列出所有開(kāi)機(jī)自啟的服務(wù)
systemctl list-unit-files|grep enabled
列出所有失敗單元
systemctl –-failed?
列出防火墻服務(wù)的自啟狀態(tài)
systemctl list-unit-files|grep firewalld
列出所有服務(wù)的層級(jí)和依賴關(guān)系,可以指定某個(gè)服務(wù)
systemctl list-dependencies [服務(wù)名稱]
CentOS 7.x開(kāi)始
CentOS開(kāi)始使用systemd服務(wù)來(lái)代替daemon麦轰,原來(lái)管理系統(tǒng)啟動(dòng)和管理系統(tǒng)服務(wù)的相關(guān)命令全部由systemctl命令來(lái)代替疾忍。
1窗慎、原來(lái)的 service 命令與 systemctl 命令對(duì)比
service [服務(wù)] start systemctl start [unit type] 啟動(dòng)服務(wù)
service [服務(wù)] stop systemctl stop [unit type] 停止服務(wù)
service [服務(wù)] restart systemctl restart [unit type] 重啟服務(wù)
此外還是二個(gè)systemctl參數(shù)沒(méi)有與service命令參數(shù)對(duì)應(yīng)
status:參數(shù)來(lái)查看服務(wù)運(yùn)行情況
reload:重新加載服務(wù),加載更新后的配置文件(并不是所有服務(wù)都支持這個(gè)參數(shù)酥郭,比如network.service)
應(yīng)用舉例:
#啟動(dòng)網(wǎng)絡(luò)服務(wù)
systemctl start network.service
#停止網(wǎng)絡(luò)服務(wù)
systemctl stop network.service
#重啟網(wǎng)絡(luò)服務(wù)
systemctl restart network.service
#查看網(wǎng)絡(luò)服務(wù)狀態(tài)
systemctl status network.serivce
2、原來(lái)的chkconfig 命令與 systemctl 命令對(duì)比
2.1、設(shè)置開(kāi)機(jī)啟動(dòng)/不啟動(dòng)
daemon命令 systemctl命令 說(shuō)明
chkconfig [服務(wù)] on systemctl enable [unit type] 設(shè)置服務(wù)開(kāi)機(jī)啟動(dòng)
chkconfig [服務(wù)] off systemctl disable [unit type] 設(shè)備服務(wù)禁止開(kāi)機(jī)啟動(dòng)
應(yīng)用舉例:
#停止cup電源管理服務(wù)
systemctl stop cups.service
#禁止cups服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl disable cups.service
#查看cups服務(wù)狀態(tài)
systemctl status cups.service
#重新設(shè)置cups服務(wù)開(kāi)機(jī)啟動(dòng)
systemctl enable cups.service
2.2办悟、查看系統(tǒng)上上所有的服務(wù)
命令格式:
systemctl [command] [–type=TYPE] [–all]
參數(shù)詳解:
command - list-units:依據(jù)unit列出所有啟動(dòng)的unit。加上 –all 才會(huì)列出沒(méi)啟動(dòng)的unit; - list-unit-files:依據(jù)/usr/lib/systemd/system/ 內(nèi)的啟動(dòng)文件滩褥,列出啟動(dòng)文件列表
–type=TYPE - 為unit type, 主要有service, socket, target
應(yīng)用舉例:
systemctl命令 說(shuō)明
systemctl 列出所有的系統(tǒng)服務(wù)
systemctl list-units 列出所有啟動(dòng)unit
systemctl list-unit-files 列出所有啟動(dòng)文件
systemctl list-units –type=service –all 列出所有service類型的unit
systemctl list-units –type=service –all grep cpu 列出 cpu電源管理機(jī)制的服務(wù)
systemctl list-units –type=target –all 列出所有target
3病蛉、systemctl特殊的用法
systemctl命令 說(shuō)明
systemctl is-active [unit type] 查看服務(wù)是否運(yùn)行
systemctl is-enable [unit type] 查看服務(wù)是否設(shè)置為開(kāi)機(jī)啟動(dòng)
systemctl mask [unit type] 注銷指定服務(wù)
systemctl unmask [unit type] 取消注銷指定服務(wù)
應(yīng)用舉例:
#查看網(wǎng)絡(luò)服務(wù)是否啟動(dòng)
systemctl is-active network.service
#檢查網(wǎng)絡(luò)服務(wù)是否設(shè)置為開(kāi)機(jī)啟動(dòng)
systemctl is-enable network.service
#停止cups服務(wù)
systemctl stop cups.service
#注銷cups服務(wù)
systemctl mask cups.service
#查看cups服務(wù)狀態(tài)
systemctl status cups.service
#取消注銷cups服務(wù)
systemctl unmask cups.service
4、init 命令與systemctl命令對(duì)比
init命令 systemctl命令 說(shuō)明
init 0 systemctl poweroff 系統(tǒng)關(guān)機(jī)
init 6 systemctl reboot 重新啟動(dòng)
與開(kāi)關(guān)機(jī)相關(guān)的其他命令:
systemctl命令 說(shuō)明
systemctl suspend 進(jìn)入睡眠模式
systemctl hibernate 進(jìn)入休眠模式
systemctl rescue 強(qiáng)制進(jìn)入救援模式
systemctl emergency 強(qiáng)制進(jìn)入緊急救援模式
5瑰煎、設(shè)置系統(tǒng)運(yùn)行級(jí)別
5.1铺然、運(yùn)行級(jí)別對(duì)應(yīng)表
init級(jí)別 systemctl target
0 shutdown.target
1 emergency.target
2 rescure.target
3 multi-user.target
4 無(wú)
5 graphical.target
6 無(wú)
此外還是一個(gè)getty.target用來(lái)設(shè)置tty的數(shù)量。
5.2酒甸、設(shè)置運(yùn)行級(jí)別
命令格式:
systemctl [command] [unit.target]
參數(shù)詳解:
command:
get-default :取得當(dāng)前的target
set-default :設(shè)置指定的target為默認(rèn)的運(yùn)行級(jí)別
isolate :切換到指定的運(yùn)行級(jí)別
unit.target :為5.1表中列出的運(yùn)行級(jí)別
systemctl命令 說(shuō)明
systemctl get-default 獲得當(dāng)前的運(yùn)行級(jí)別
systemctl set-default multi-user.target 設(shè)置默認(rèn)的運(yùn)行級(jí)別為mulit-user
systemctl isolate multi-user.target 在不重啟的情況下魄健,切換到運(yùn)行級(jí)別mulit-user下
systemctl isolate graphical.target 在不重啟的情況下,切換到圖形界面下
6插勤、使用systemctl分析各服務(wù)之前的依賴關(guān)系
命令格式:
systemctl list-dependencies [unit] [–reverse]
–reverse是用來(lái)檢查尋哪個(gè)unit使用了這個(gè)unit
應(yīng)用舉例:
#獲得當(dāng)前運(yùn)行級(jí)別的target
[root@www ~]# systemctl get-default
multi-user.target
#查看當(dāng)前運(yùn)行級(jí)別target(mult-user)啟動(dòng)了哪些服務(wù)
[root@www ~]# systemctl list-dependencies
default.target
├─abrt-ccpp.service
├─abrt-oops.service
├─vsftpd.service
├─basic.target
│ ├─alsa-restore.service
│ ├─alsa-state.service
.....(中間省略).....
│ ├─sockets.target
│ │ ├─avahi-daemon.socket
│ │ ├─dbus.socket
.....(中間省略).....
│ ├─sysinit.target
│ │ ├─dev-hugepages.mount
│ │ ├─dev-mqueue.mount
.....(中間省略).....
│ └─timers.target
│? └─systemd-tmpfiles-clean.timer
├─getty.target
│ └─getty@tty1.service
└─remote-fs.target
#查看哪些target引用了當(dāng)前運(yùn)行級(jí)別的target
[root@www ~]# systemctl list-dependencies --reverse
default.target
└─graphical.target
7沽瘦、關(guān)閉網(wǎng)絡(luò)服務(wù)
在使用systemctl關(guān)閉網(wǎng)絡(luò)服務(wù)時(shí)有一些特殊 需要同時(shí)關(guān)閉unit.servce和unit.socket
使用systemctl查看開(kāi)啟的sshd服務(wù)
[root@www system]#? systemctl list-units --all | grep sshd
sshd-keygen.service loaded inactive dead? ? ? ? OpenSSH Server Key Generation
sshd.service? ? ? ? loaded active? running? ? OpenSSH server daemon
sshd.socket? ? ? ? loaded inactive dead? ? ? ? OpenSSH Server Socket
可以看到系統(tǒng)同時(shí)開(kāi)啟了 sshd.service 和 sshd.socket , 如果只閉關(guān)了 sshd.service 那么 sshd.socket還在監(jiān)聽(tīng)網(wǎng)絡(luò),在網(wǎng)絡(luò)上有要求連接 sshd 時(shí)就會(huì)啟動(dòng) sshd.service 农尖。因此如果想完全關(guān)閉sshd服務(wù)的話析恋,需要同時(shí)停用 sshd.service 和 sshd.socket 。
systemctl stop sshd.service
systemctl stop sshd.socket
systemctl disable sshd.service sshd.socket
由于centos 7.x默認(rèn)沒(méi)有安裝net-tools盛卡,因此無(wú)法使用netstat 來(lái)查看主機(jī)開(kāi)發(fā)的商品助隧。需要通過(guò)yum安裝來(lái)獲得該工具包:
yum -y install net-tools
查看是否關(guān)閉22端口
netstat -lnp |grep sshd
8、關(guān)閉防火墻firewall
Centos 7.x 中取消了iptables, 用firewall取而代之滑沧。要關(guān)閉防火墻并禁止開(kāi)機(jī)啟動(dòng)服務(wù)使用下面的命令:
systemctl stop firewalld.service
systemctl disable firewalld.service