Linux系統第三天
第三天了,哎,Linux命令這個東西一開始真的是很枯燥乏味,但是呢,沒有辦法呀,要恰飯得嘛,接下來,let me see 防火牆
防火牆:
service iptables start/stop/status --在我們學習熟悉lixux系統時,我們不需要用到防火牆,有時還會阻礙我們的學習,因此直接 service iptables stop就可以了
selinux:
SeLinux是Linux的一個安全策略,但是在實際應用中,很多人都會遇到各種問題,很多編譯安裝軟體的文檔,也特意註明了,建議關閉SeLinux
enforcing:強制模式,代表SeLinux運作中,且已經開始正確的開始限制domain/type了;
permissive:寬容模式,代表SELinux運作中,不過斤會有警告訊息並不會實際限制.這種模式可以用來作為SELinux的debug之用;
disabled:關閉,SELinux並沒有實際運作
查看SELinux狀態
sestatus -v ##如果SELinux status參數為enabled即為開啟狀態
關閉SELinux:
臨時關閉(不用重啟機器):
setenforce 0 設置SELinux成為permissive模式
setenforce 1 設置SELinux成為enforcing模式
修改配置文件需要重啟機器:
修改etc/selinux/config 文件,將SELinux關閉掉
將SELinux=enforcing 改為 SELinux=disabled重啟機器即可
Linux進程操作
1.查看進程
ps -aux
-a 列出所有
-u 列出用戶
-x 列出詳細,如cpu,內存等
ps -ef | grep ssh
查看所有進程里cmd是ssh的進程信息
根據CPU使用來升序排序
ps -aux --sort -pcpu
PID:運行著的命令(CMD)的進程編號
TTY:命令所運行的位置(終端)
TIME:運行著的該命令所佔用的CPU處理時間
CMD:該進程所運行的命令
2.性能分析
top命令是Linux下常用的性能分析工具,能夠實現顯示系統中各個進程的資源佔用狀況,常用語服務端性能分析
用法: top -d/p/q/c/C/s/S/ n
參數說明
d 指定每兩次屏幕信息刷新之間的時間間隔.當然用戶可以使用s交互命令來改變
p 通過指定監控進程id來僅僅監控某個進程的狀態
q 該選項將使top沒有任何延遲的進行刷新.如果調用程序有超級用戶許可權,那麼top將以儘可能高的優先順序運行
S 指定累計模式
s 使top命令在安全模式中運行.這將去除交互命令所帶來的潛在危險
i 使top不顯示任何閑置或者僵死進程
c 顯示整個命令行而不只是顯示命令名
total 京城總數
running 正在運行的進程數
sleeping 睡眠的進程數
stopped 停止的進程數
zombie 殭屍進程數
Cpu(s):
us 用戶空間佔用CPU百分比
sy 內核空間佔用CPU百分比
ni 用戶進程空間內改變過優先順序的進程佔用CPU百分比
wa 等待輸入輸出的CPU時間百分比
hi 硬體CPU中斷佔用百分比
si 軟體中中斷佔用百分比
st 虛擬機佔用百分比
Mem:
total 物理內存總量
used 使用的物理內存總量
free 空閑內存總量
buffers 用作內核緩存的內存量
Swap:
total 交換區總量
0k used 使用的交換區總量
free 空閑交換區總量
cached 緩衝的交換區總量,內存中的內容被換出交換區,而後又被換入到內存,但使用過的交換區尚未被覆蓋,該數值即為這些內容已存在於內存中的交換區的大小,相應的內存再次被換出時可不比再對交換區寫入
3.後台進程
若想一個程序放在後台運行,只要在命令後面加&符號 ping 百度一下,你就知道 > ping.log &
jobs -l 列出當前連接的所有後台進程
注意:jobs命令只看當前終端生效的,關閉終端後,在另一個終端jobs已經無法看到後台跑的程序了
此時應用 ps -ef | grep 進程名 來查詢後台進程
後台進程有時運行一段時間後,系統會自動把該進程掛起來,導致進程無法再正常運行,因此後台一般和nohub命令結合來使用,告訴系統不要把該進程掛起來,這樣該命令就可以24小時不間斷運行
nohub ping 百度一下,你就知道 > ping 2.log &
此時該命令還不夠完美,因為這時ping命令的輸出重定向只會把正確的日誌重定向到 ping2.log里,我們要想所有的日誌都定向到指定文件里。所以我們應該這樣寫:nohub ping 百度一下,你就知道 > ping3.log 2>&1 &
4.殺死進程
Kill 用法:kill pid
-9 強制殺死
可以先用jobs -l 或 ps 命令先查出對應程序的PID或PPID,然後殺死進程
其他常用命令
1.wget
wget 是一個從網路上自動下載文件的自由工具,支持通過 HTTP、HTTPS、FTP 三個最常見的 TCP/IP協議 下載,並可以使用 HTTP 代理
需先安裝 yum install wget –y
wget用法:wget [option] 網址 -O 指定下載保存的路徑
wget 工具還可以用來做一些簡單的爬蟲,這裡不是我們的學習重點,如果想做爬蟲,可以用java或python語言來做。
包管理
1.rpm包
RPM(RedHat Packge Manager)是RedHat公司出的軟體包管理器,使用它可以很容易地對rpm形式的軟體包進行安裝、升級、卸載、驗證、查詢等操作,安裝簡單,而卸載時也可以將軟體安裝在多處目錄中的文件刪除乾淨。並且能夠針對不同的平台系統編譯目標軟體包。就跟windows系統的程序安裝與卸載管理一樣
rpm包安裝:
?rpm -ivh rpm包路徑
查找rpm包:
?rpm -qa : 查詢已經安裝的所有包
?rpm -q PACKAGE_NAME: 查詢指定的包是否已經安裝
卸載軟體:
rpm -e ntp-4.2.6p5-10.el6.centos.2.x86_64(全名)
2.tar包
tar
-z gzip進行解壓或壓縮,帶.gz需要加,壓縮出來.gz也需要加
-x 解壓
-c 壓縮
-f 目標文件,壓縮文件新命名或解壓文件名
-v 解壓縮過程信息列印
解壓命令:tar -zvxf xxxx.tar.gz
tar
-z gzip進行解壓或壓縮,帶.gz需要加,壓縮出來.gz也需要加
-x 解壓
-c 壓縮
-f 目標文件,壓縮文件新命名或解壓文件名
-v 解壓縮過程信息列印
解壓命令:tar -zvxf xxxx.tar.gz
壓縮命令:tar -zcf 壓縮包命名 壓縮目標
3.zip包
壓縮命令:zip -r 包名 目標目錄
需先安裝zip:yum install zip –y
解壓 unzip filename:
需先安裝unzip,yum install unzip –y
先把tomcat目錄刪除掉,然後再解壓,以免衝突
3.yum ---再試
4.文本的分析
免密碼登錄
1.工作原理
1.Server A 向 Server B發送一個連接請求.
2.Server B 得到Server A 的信息後,在本地的authorized_keys 文件中查找A 存放在 B 上的公鑰,如果有相應的公鑰,則隨機生成一個字元串,並用Server A的公鑰加密,接著放送給Server A
3.Server A 得到Server B 發來的信息後,使用私鑰進行解密,然後將解密後的字元串發送給Server B Server B 用原來隨機生成的字元串和A發貨來的字元串進行比對,如果一直,則允許免登陸
總結:A要買密碼登錄到B,B首先要擁有A的公鑰,然後B要做一次加密驗證,對於非對稱加密,公鑰加密的密文不能用公鑰解開,只能死要解開
2.生成公鑰和秘鑰
在主機A上生成一對公鑰和秘鑰
命令:ssh-keygen -t dsa -P -f ~/.ssh/id_dsa
--系統會在對應的用戶的home目錄下的.ssh目錄里生成公鑰和秘鑰文件
ls -a查看文件,會有一個.ssh的隱藏文件 進入即可查看
查看公鑰和秘鑰 :ll ~/.ssh亦可 id_dsa --私鑰 id_dsa.pub --公鑰
#cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys --將公鑰重定向到.ssh的一個新文件中
3.添加秘鑰
將A的.ssh目錄下中的id_dsa.pub拷貝到B的authorized_keys文件里
4 驗證
用Scp遠程拷貝命令,在A主機上隨便拷貝一份文件到B主機上,如果不需要密碼,則說明免密碼登錄配置成功。
推薦閱讀:
※學會配置ssh客戶端
※GNU/Linux軟體使用小TIPS
※「Linux」 - 基本操作
※Linux啟動時如何定位BIOS提供的ACPI表
TAG:Linux |