linux学习五
一.系統(tǒng)服務(wù)管理
1.概念
服務(wù)(service) 本質(zhì)就是進(jìn)程,但是是運(yùn)行在后臺(tái)的,通常都會(huì)監(jiān)聽(tīng)某個(gè)端口,等待其它程 序的請(qǐng)求,比如(mysql , sshd 防火墻等),因此我們又稱(chēng)為守護(hù)進(jìn)程,是Linux中非常重要的 知識(shí)點(diǎn)。2.指令
service 服務(wù)名 [start | stop | restart | reload | status] 在CentOS7.0后 不再使用service ,而是 systemctl3.案例
1) 查看當(dāng)前防火墻的狀況,關(guān)閉防火墻和重啟防火墻。service iptables status
service iptables start
service iptables stop
注:centeros后面的版本指令:
systemctl start 服務(wù)名稱(chēng)
systemctl stop 服務(wù)名稱(chēng)
systemctl status 服務(wù)名稱(chēng)
systemctl restart 服務(wù)名稱(chēng)
systemctl stop firewalld systemctl start firewalld
systemctl restart firewalld
可以通過(guò)測(cè)試來(lái)判斷:
windows命令:telnet ip 端口
? 4.查看所有服務(wù)
方式1:使用setup -> 系統(tǒng)服務(wù) 就可以看到。 方式2: /etc/init.d/服務(wù)名稱(chēng)5.服務(wù)的運(yùn)行級(jí)別
服務(wù)的運(yùn)行級(jí)別(runlevel): 查看或者修改默認(rèn)級(jí)別: vi /etc/inittab查看或者修改默認(rèn)級(jí)別: vi /etc/inittab
Linux系統(tǒng)有7種運(yùn)行級(jí)別(runlevel):常用的是級(jí)別3和5
? 運(yùn)行級(jí)別0:系統(tǒng)停機(jī)狀態(tài),系統(tǒng)默認(rèn)運(yùn)行級(jí)別不能設(shè)為0,否則不能正常啟動(dòng)
? 運(yùn)行級(jí)別1:單用戶(hù)工作狀態(tài),root權(quán)限,用于系統(tǒng)維護(hù),禁止遠(yuǎn)程登陸
? 運(yùn)行級(jí)別2:多用戶(hù)狀態(tài)(沒(méi)有NFS),不支持網(wǎng)絡(luò)
? 運(yùn)行級(jí)別3:完全的多用戶(hù)狀態(tài)(有NFS),登陸后進(jìn)入控制臺(tái)命令行模式
? 運(yùn)行級(jí)別4:系統(tǒng)未使用,保留
? 運(yùn)行級(jí)別5:X11控制臺(tái),登陸后進(jìn)入圖形GUI模式
? 運(yùn)行級(jí)別6:系統(tǒng)正常關(guān)閉并重啟,默認(rèn)運(yùn)行級(jí)別不能設(shè)為6,否則不能正常啟動(dòng)
開(kāi)機(jī)的流程說(shuō)明:
開(kāi)機(jī)--> BIOS--> boot--> init進(jìn)程1--> 運(yùn)行級(jí)別---> 運(yùn)行級(jí)對(duì)應(yīng)的服務(wù)
6.chkconfig指令
介紹
通過(guò)chkconfig 命令可以給每個(gè)服務(wù)的各個(gè)運(yùn)行級(jí)別設(shè)置自啟動(dòng)/關(guān)
? 基本語(yǔ)法
1) 查看服務(wù) chkconfig --list|grep xxx
2) chkconfig 服務(wù)名 --list
3) chkconfig --level 5 服務(wù)名 on/off 注意:用指令設(shè)置完成之后,需要重啟機(jī)器!
還有就是如果chkconfig在7以后很多都不能用了,要使用systemctl這個(gè)指令了
? 7.top指令
top與ps命令很相似。它們都用來(lái)顯示正在執(zhí)行的進(jìn)程。 Top與ps最大的不同之處,在于top 在執(zhí)行一段時(shí)間可以更新正在運(yùn)行的的進(jìn)程top [選項(xiàng)]
| 選項(xiàng) | 功能 |
| -d ?秒數(shù) | 指定top命令每隔幾秒更新。 默認(rèn)是3秒在top命令的交互模式當(dāng)中可以執(zhí)行的 命令: |
| -i | 使top不顯示任何閑置或者僵死進(jìn)程。 |
| -p | 通過(guò)指定監(jiān)控進(jìn)程ID來(lái)僅僅監(jiān)控某個(gè)進(jìn)程的狀態(tài)。 |
交互操作說(shuō)明:
案例1.監(jiān)視特定用戶(hù)
top:輸入此命令,按回車(chē)鍵,查看執(zhí)行的進(jìn)程。
u:然后輸入“u”回車(chē),再輸入用戶(hù)名,即可
案例2: 終止指定的進(jìn)程。
top:輸入此命令,按回車(chē)鍵,查看執(zhí)行的進(jìn)程。
k:然后輸入“k”回車(chē),再輸入要結(jié)束的進(jìn)程ID號(hào)
案例3:指定系統(tǒng)狀態(tài)更新的時(shí)間(每隔10秒自動(dòng)更新):
| 操作 | 功能 |
| P | 以CPU使用率排序, 默認(rèn)就是此項(xiàng) |
| M | 以?xún)?nèi)存的使用率排序 |
| N | 以PID排序 |
| q | 退出top |
? 8.netstat指令(查看系統(tǒng)中開(kāi)放的端口)
? 基本語(yǔ)法netstat [選項(xiàng)] ? 選項(xiàng)說(shuō)明-an 按一定順序排列輸出-p 顯示哪個(gè)進(jìn)程在調(diào)用netstat -tunlp ? 應(yīng)用案例請(qǐng)查看服務(wù)名為 sshd 的服務(wù)的信息。
netstat -anp | grep sshd
?
9.selinux
SELinux是Linux系統(tǒng)上一個(gè)常見(jiàn)的安全軟件
1.查看selinux的狀態(tài)
getenforce[root@qishi ~]# getenforce Enforcing #這是強(qiáng)制開(kāi)啟狀態(tài)
2.臨時(shí)關(guān)閉selinux(重啟失效)
setenforce 03.永久關(guān)閉selinux
編輯selinux配置文件 vim /etc/selinux/config 將SELINUX=enforcing改為SELINUX=disabled 保存退出? 10.防火墻
iptables -L # 查看系統(tǒng)防火墻規(guī)則 iptables -F # 清空所有防火墻規(guī)則 systemctl stop firewalld # 停止防火墻 systemctl status firewalld # 查看防火墻運(yùn)行狀態(tài) systemctl start firewalld # 啟動(dòng) systemctl disable firewalld # 永久關(guān)閉防火墻? 11.DNS(Domain Name System,域名系統(tǒng))
解析原理:
1 我在本地訪問(wèn)www.baidu.com 2 首先會(huì)從本地DNS緩存中去查找,如果沒(méi)有 3 就會(huì)去本地hosts文件中去查找,如果沒(méi)有 4 去公網(wǎng)的DNS服務(wù)器查看是否有此域名解析記錄,如果還沒(méi)有 5 說(shuō)明此域名沒(méi)有在公網(wǎng)注冊(cè)解析hosts文件:
/etc/hosts8.8.8.8 #谷歌的DNS
114.114.114.114 #114的DNS
119.29.29.29 # 騰訊的DNS
223.5.5.5 # 馬云的DNS
223.6.6.6 # 馬云的DNS
電信的DNS
202.96.134.133
202.96.134.134
202.96.128.86
12.域名解析)
用來(lái)將域名解析為IP nslookup nslookup www.baidu.com?
二.包管理
1.rpm介紹
介紹:一種用于互聯(lián)網(wǎng)下載包的打包及安裝工具,它包含在某些Linux分發(fā)版中。它生成 具有.RPM擴(kuò)展名的文件。 RPM是RedHat Package Manager(RedHat軟件包管理工 具)的縮寫(xiě),類(lèi)似windows的setup.exe,這一文件格式名稱(chēng)雖然打上了RedHat的 標(biāo)志,但理念是通用的。Linux的分發(fā)版本都有采用(suse,redhat, centos 等等),可以算是公認(rèn)的行業(yè)標(biāo) 準(zhǔn)了
2.rpm使用
rpm包的簡(jiǎn)單查詢(xún)指令:查詢(xún)已安裝的rpm列表 rpm –qa|grep xx (查詢(xún)所有的,過(guò)濾出我們要的)rpm包名基本格式:
一個(gè)rpm包名: firefox-45.0.1-1.el6.centos.x86_64.rpm
名稱(chēng):firefox
版本號(hào): 45.0.1-1
適用操作系統(tǒng): el6.centos.x86_64
表示centos6.x的64位系統(tǒng)
如果是i686、 i386表示32位系統(tǒng), noarch表示通用。。
rpm包的其它查詢(xún)指令:
rpm -qa :查詢(xún)所安裝的所有rpm軟件包
rpm -qa | more
rpm -qa | grep X [rpm -qa | grep firefox ]
rpm -q 軟件包名 :查詢(xún)軟件包是否安裝
rpm -q firefox
rpm -qi 軟件包名 :查詢(xún)軟件包信息
rpm -qi file
rpm -ql 軟件包名 :查詢(xún)軟件包中的文件
rpm -ql firefox
rpm -qf 文件全路徑名 查詢(xún)文件所屬的軟件包 (反向查詢(xún))
rpm -qf /etc/passwd
rpm -qf /root/install.log
卸載rpm包:
? 基本語(yǔ)法
rpm -e RPM包的名稱(chēng)
? 應(yīng)用案例
1) 刪除firefox 軟件包
? 細(xì)節(jié)討論
1) 如果其它軟件包依賴(lài)于您要卸載的軟件包,卸載時(shí)則會(huì)產(chǎn)生錯(cuò)誤信息。
如: $ rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0-1
2) 如果我們就是要?jiǎng)h除 foo這個(gè)rpm 包,可以增加參數(shù) --nodeps ,就可以強(qiáng)制刪除,但是一
般不推薦這樣做, 因?yàn)橐蕾?lài)于該軟件包的程序可能無(wú)法運(yùn)行
如: $ rpm -e --nodeps foo
安裝rpm包:
? 基本語(yǔ)法
rpm -ivh RPM包全路徑名
? 參數(shù)說(shuō)明
i=install 安裝
v=verbose 提示
h=hash 進(jìn)度條
? 3.yum使用(推薦使用)
rpm安裝遇到依賴(lài)包會(huì)一直詢(xún)問(wèn)是否安裝依賴(lài)包,所以更推薦用yum來(lái)安裝軟件
yum提供了查找、安裝、刪除某一個(gè)、一組甚至全部軟件包的命令,而且命令簡(jiǎn)潔而又好記。
Yum 是一個(gè)Shell前端軟件包管理器。基于RPM包管理,能夠從指定 的服務(wù)器自動(dòng)下載RPM包并且安裝,可以自動(dòng)處理依賴(lài)性關(guān)系, 并 且一次安裝所有依賴(lài)的軟件包。yum的基本指令
? 查詢(xún)yum服務(wù)器是否有需要安裝的軟件
yum list|grep xx軟件列表
? 安裝指定的yum包
yum install xxx 下載安裝
yum(選項(xiàng))(參數(shù))
-h:顯示幫助信息;
-y:對(duì)所有的提問(wèn)都回答“yes”;
-c:指定配置文件;
-q:安靜模式;
-v:詳細(xì)模式;
-d:設(shè)置調(diào)試等級(jí)(0-10);
-e:設(shè)置錯(cuò)誤等級(jí)(0-10);
-R:設(shè)置yum處理一個(gè)命令的最大等待時(shí)間;
-C:完全從緩存中運(yùn)行,而不去下載或者更新任何頭文件。
?
常用命令:
yum list
yum install 軟件名
yum update 軟件名
yum remove 軟件名
yum info 軟件名
yum clean all 清除所有倉(cāng)庫(kù)緩存
? 阿里云配置
#1. 備份原有的.repo源文件 cd /etc/yum.repos.d mkdir repobak mv * repobak#2. 下載阿里云的源文件和第三方擴(kuò)展源文件 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repowget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo#3.清空yum緩存和創(chuàng)建新的緩存 yum clean all yum makecache#4.安裝軟件擴(kuò)展源(依賴(lài)) yum install -y epel-release#5. 使用yum工具下載安裝nginx yum install nginx注意: 只要是使用yum安裝的軟件,都可以使用systemctl進(jìn)行管理#6. 啟動(dòng)nginx systemctl start ngxinx#7.瀏覽器訪問(wèn)ngix http://192.168.226.128
?
?三.linux運(yùn)行級(jí)別
1.指定運(yùn)行級(jí)別
運(yùn)行級(jí)別說(shuō)明:0:關(guān)機(jī)1:單用戶(hù)(可以找回丟失的密碼)相當(dāng)于windows的安全模式2:多用戶(hù)沒(méi)有網(wǎng)絡(luò)服務(wù)3:多用戶(hù)有網(wǎng)絡(luò)服務(wù)4:系統(tǒng)未使用保留給客戶(hù)5:圖形界面6:系統(tǒng)重啟常用的級(jí)別是3和5,要修改默認(rèn)運(yùn)行級(jí)別可修噶文件 /ect/iniittab文件下的id:5 initdefault這一行中的數(shù)字
2.基本語(yǔ)法
把運(yùn)行級(jí)別從當(dāng)前切換到指定的運(yùn)行級(jí)別: init 0/1/2/3/4/5/6 例:init 0 關(guān)機(jī)init 3多用戶(hù)有網(wǎng)絡(luò)級(jí)別 忘記root密碼該如何:思路:用單用戶(hù)模式(不需要密碼就可以登錄)修改密碼,重啟,再進(jìn)入正常模式用新密碼進(jìn)行登錄步驟:開(kāi)機(jī)-->在開(kāi)機(jī)因到時(shí)候輸入enter鍵--->新的圖形界面輸入 e-->來(lái)到一個(gè)新的圖形界面--->移動(dòng)到第二行(編輯內(nèi)核模式) 輸入 e---> 在這行最后輸入 1回車(chē)鍵 --->再輸入b進(jìn)入單用戶(hù)模式,進(jìn)入到單用戶(hù)模式就可以使用passwd命令修改root密碼?
轉(zhuǎn)載于:https://www.cnblogs.com/tjp40922/p/10200876.html
總結(jié)
- 上一篇: offsetTop测试见解
- 下一篇: linux二重启动防止