Linux作業系統與命令詳解
Ice Scream
目錄
引言 1
一、 Linux作業系統 2
二、 檔案和目錄 3
三、 Linux遠端連線 4
四、 Linux命令基本技巧 6
五、 Linux終端命令格式 6
六、 Linux命令 7
七、 檔案的歸檔管理(壓縮和解壓) 18
八、 VI編譯器 19
九、 Liunx軟體安裝 20
引言
Linux命令使用:為了將來工作中與伺服器裝置進行互動而準備的技能(測試專案出問題,需要從伺服器上拉取專案執行工程中產生的日誌檔案,幫助判斷出現問題的原因;遠端連線/命令使用)
資料庫的使用:MySQL(增刪改查資料),測試人員需要在資料庫中查詢資料(查詢重點掌握,其他操作了解即可)
Linux作業系統
1。作業系統
1。1概念:管理計算機硬體和軟體資源的計算機程式。即OS是計算機的核心和基石(所有硬體裝置組裝完成後,第一層軟體)
1。2常見主流作業系統
2。Lniux簡介
一套免費使用自由傳播的作業系統
2。1Linux特點
開源免費;安全穩定;效能可靠;可移植性(多使用者、多工、多平臺、多語言)
2。2Linux發行版本
檔案和目錄
1。Windows和Linux檔案系統區別
1。1Windows下的檔案系統
1。2Linux下的檔案系統
所有路徑最左邊的/是代表根目錄,後面的/代表路徑
/home:當前作業系統能登入的普通使用者的家目錄,普通使用者建立好的資訊都在home目錄下;/目錄下的所有資料夾都不可以隨便亂動,home中的內容可以隨便動,尤其使用者名稱目錄資料夾中內容隨便改、刪
Linux遠端連線
說明:透過遠端連線工具連線到伺服器的操作即為遠端連線
條件:1>伺服器的IP地址;2>伺服器的賬號和密碼;注意必須確保有網路連線條件;
1。遠端連線
1。1常見遠端連線工具
FinalShell(推薦):功能強大,顏值高,好操作(高階功能需要訂閱)
XShell(個人用免費/商用收費)
Putty(免費開源的)
SecureCRT(收費)
MobaXterm(免費)
1。2遠端連線基本步驟
1>入職後需要向相關人員(運維/開發)獲取伺服器IP地址及賬號密碼等資訊
2>配合遠端連線工具(根據公司要求使用對應工具),配置連線使用伺服器即可
1。3遠端連線操作步驟
【只要不是同一臺電腦,用於遠端連線的IP地址最後一位都永遠不可能是1,1結尾的是系統內部的本地地址】
1>獲取伺服器IP地(工作中直接向相關人員獲取IP地址及賬號和密碼);虛擬機器系統中的桌面上滑鼠右鍵開啟終端,獲取工具中連線需要的IP地址
預設可敲指令:ip addr;在本機上ping伺服器IP地址檢查連通性
連線工具設定步驟:SSH連線,如圖設定連線資訊
儲存接受金鑰
2>不透過工具連線,依賴命令:SSH
Linux命令基本技巧
1。使用技巧
1。1Linux終端的放大縮小
ctrl+shift+=放大終端視窗的字型顯示
ctrl+-縮小終端視窗的字型顯示
1。2Linux命令的自動補全
在敲出檔案/目錄/命令的前幾個字母之後,按下tab鍵【要是沒反應,可能路徑不對】
如果輸入的沒有歧義,系統會自動補全
如果還存在其他檔案/目錄/命令,再按一下tab鍵,系統會提示可能存在的命令
1。3Liunx其他常用快捷鍵
按上/下游標鍵可以在曾經使用過的命令之間來回切換
如果想要退出選擇,並且不想執行當前選中的命令,可以按ctrl+c
1。4Linux下操作可以不需要進入路徑下再去操作
Linux終端命令格式
1。終端命令格式
#命令 [-選項] [引數]:command [-options] [parameter]
說明:
command:命令主體(命令名),相應功能的英文單詞或單詞的縮寫,執行基本功能
[-options]:選項,根據命令可以顯示更加豐富的資料
[parameter]:引數,命令的操作物件,一般檔案、目錄、使用者和程序等都可以作為引數被命令操作
[ ]:代表可選
2。查閱命令幫助資訊
2。1——help
command ——help:顯示command命令的幫助資訊
2。2man
man command:查閱command命令的使用手冊【man是manual的縮寫,是Linux提供的一個手冊,包含了絕大部分的命令、函式的詳細使用說明】
Linux命令
【命令本身不具備的功能,需要在命令後加-引數,進行操作;引數的位置沒有固定一說,可以放整條命令後面或者命令名後面,個別不可以放後面】
常用:
1。pwd
檢視當前路徑位置
2。ls
檢視當前目錄下有哪些檔案和資料夾
選項引數:
-a
顯示指定目錄下所有子目錄與檔案,包括隱藏檔案
-l
以列表方式顯示檔案的詳細資訊
ll等價於ls -l:不是所有系統都可用
3。mkdir
建立一個/多個資料夾(多個資料夾名一條命令空格隔開);遞迴建立mkdir a/b/c
-p
4。cd
切換目錄(一個。代表當前目錄,兩個點代表上級目錄)
cd
切換到當前使用者的主目錄(/home/使用者目錄),使用者登入的時候,預設的目錄就是使用者的主目錄
cd ~
切換到當前使用者的主目錄(/home/使用者目錄,~相當於當前使用者的主目錄:/home/使用者目錄這一串路徑)
cd 。。
切換到上級目錄
cd -
可進入上次所在的目錄
5。touch:建立檔案
6。clear:清空
7。mv
作用:使用者可以使用mv命令來移動檔案或目錄,也可以給檔案或目錄重新命名【改名一般都在當前路徑下,改名先原名 新名】
語法:mv [選項] 資料來源 目的地
選項引數:
-f
禁止互動式操作,如有覆蓋也不會給出提示
-i
確認互動方式操作,如果mv操作將導致對已存在的目標檔案的覆蓋,系統會詢問是否重寫,要求使用者回答以避免誤覆蓋檔案
-v
顯示移動速度
【mv 原 目標(如果目標是資料夾就變成移動,不是資料夾或檔名不存在,就變成改名)】
8。絕對路徑和相對路徑的區分
絕對路徑:以“/”或者“~”開始
相對路徑:“。”或“。。”開始(會因為當前所在位置不同,導致切換的位置不同)
【。:當前路徑下;。。:上一層目錄】
9。cp
作用:將給出的檔案或目錄複製到另一個檔案或目錄中
語法:cp [選項] 資料來源 目的地
選項引數:
-i
互動式複製,在覆蓋目標檔案之前將給出提示要求使用者確認
-f
覆蓋已經存在的目標檔案而不提示
-r
若給出的原始檔是目錄檔案,則cp將遞迴複製該目錄下的所有子目錄和檔案,目標檔案必須為一個目錄名。
-v
顯示複製進度
10。 rm
作用:刪除檔案或目錄
語法:rm [選項] 檔案
選項引數:使用rm命令要小心,因為檔案刪除後不能恢復。為了防止檔案誤刪,可以在rm後使用-i引數以逐個確認要刪除的檔案。
-i
以進行互動式方式執行
-f
強制刪除,忽略不存在的檔案,無需提示
-r
遞迴地刪除目錄下的內容,刪除資料夾時必須加此引數
刪除當前目錄下所有檔案和資料夾:萬用字元*,代表任意檔案【刪除命令與ls相符,可以在命令 引數後加目錄,刪除哪個目錄下哪個檔案】
可能用到:
11。 重定向>和>>
作用:將本應顯示在終端上的內容 輸出/追加 到 指定檔案中
其中:
>表示輸出,會覆蓋檔案原有內容
>>表示追加,會將內容追加到已有檔案的末尾
12。cat
作用:會一次顯示所有內容,適合檢視內容缺少的文字檔案
語法:cat [選項] 檔案
選項引數:
-b
對非空輸出行編號
-n
對輸出的所有行編號
說明:使用cat檔名1檔名2,將兩個檔案的合併內容顯示在終端視窗
注意:只是合併了顯示內容,並沒有真正合並兩個檔案
13。less
作用:用於分屏顯示檔案內容,每次只顯示一頁內容,適合於檢視內容較多的文字檔案
語法:less [引數] 檔案
引數選項:
-N
對輸出的所有行編號
使用less的操作鍵
空格鍵
顯示手冊頁的下一屏
Enter/上下游標鍵
一次滾動手冊頁的一行
b
回滾一屏,向上翻頁
f
前滾一屏
q
退出
/word
搜尋word字串
14。more
效果與less相同,常用於檢視內容較多的檔案,兩個命令基本操作快捷鍵相同
【注意:想要以分屏樣式檢視大量內容的檔案資訊,檔案的內容至少應該超過當前終端視窗的顯示大小】
15。grep【與管道符|配合使用】
作用:根據關鍵詞,搜尋文字檔案內容,檔案裡的資訊
語法:grep [選項] 關鍵詞 檔案
引數選項:
-v
顯示不包含匹配文字的所有行(相當於求反)
-n
顯示匹配行及行號
-i
忽略大小寫
16。管道|
作用:Linux允許將
一個命令的輸出
可以透過管道做為
另一個命令的輸入
;可以理解現實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這裡|的左右分為塞東西(寫),右端取東西(讀)
常用的管道命令有:
less:分屏顯示內容
grep:在命令執行結果的基礎上查詢指定的文字
【透過管道符可以方便快捷的將兩條指令結合起來,以省去需要先將結果寫入到檔案,再進行查詢的操作;用在不需要輸出資料作為檔案,再對檔案查詢,直接用管道|,左邊負責給右邊提供資料,右邊查詢符合條件】
【注意:在測試工作中,我們只需要掌握管道符右側長使用的命令為grep】
17。head
head
用來顯示檔案前10行的內容
如果不加引數預設顯示檔案前10行內容
head -15 檔名
顯示檔案前15行內容
例子:檢視某個檔案的開頭10行內容: head -10 temp。txt
提示:一般用於,想要檢視一個很大的檔案前幾行內容時使用。
18。tail
tail
顯示檔案後10行內容
如果不加引數預設顯示檔案後10行內容
tail -15 檔名
顯示檔案結尾15行內容
tail -f 檔名
實時監控檔案內容
用於檢視線上服務的執行日誌,實時顯示寫入日誌的資訊
說明:日誌檔案(一種負責記錄系統或程式執行過程資訊的檔案)
作用:測試人員可以透過檢視日誌檔案資訊,幫助判斷bug出現的原因
tail -5f XXX:5f不是隻顯示5行,是一次性載入多少行,從那基礎上往下載入,獲取動態資訊中的某幾行內容
獲取11-15行:head -XX XX | tail -XX
1。先透過head獲取截止到結束行所有資訊
2。再配合tail獲取截止到起始行的所有資訊即可
19。檢視作業系統資訊
檢視當前作業系統版本資訊:cat
/proc/version
檢視版本當前作業系統發行資訊:cat
/etc/redhat-release
說明:不同系統的版本資訊檢視都是透過檢視特定檔案內容來獲取。不同的系統,路徑名不同,隨機應變;其他系統需要獲取系統版本資訊,可以搜尋:系統型別+核心版本/發行版本,例如:CentOS核心版本查詢
20。重啟與關機
reboot
重新啟動作業系統
執行命令後立即重啟作業系統
shutdown
關閉作業系統
執行命令後,提示1分鐘後關閉作業系統
shutdown命令選項:
shutdown -r now
重新啟動作業系統,shutdown會給別的使用者提示
shutdown -h now
立刻關機,其中now相當於時間為0的狀態
shutdown -h 20:25
系統在今天的20:25會關機
shutdown -h +10
系統再過十分鐘後自動關機
poweroff:關機,與shutdown一樣
21。檢視系統程序資訊
程序:在任何系統中,執行軟體程式時,都會有一個對應的程序存在,如果結束掉程序,就可以實現關閉對應軟體程式的操作,尤其是在伺服器系統(Linux)中
ps -aux
process status檢視當前系統中正在執行程式的詳細狀況
kill [-9] 程序代號
終止指定代號的程序,-9表示強行終止
top
動態顯示執行中的程序並且排序
ps:預設只會顯示當前使用者透過終端啟動的應用程式
ps選項說明:
a
顯示終端上的所有程序,包括其他使用者的程序
u
顯示程序的詳細狀態
x
顯示沒有控制終端的程序
注意:如果想要透過程序結束或關閉對應軟體和程式,則需要獲取軟體或程式對應的PID數值
%CPU:CPU使用率;%MEN:記憶體使用率
執行檔案:
。/程式名
每一個程序擁有唯一的PID,可以根據PID殺死程序,如:kill 12478或 kill -9 12478(強制殺死)
注意:顯示瞬間程序的狀態,並不動態連續,如果想對程序執行時間監控,應該用top命令
Linux系統中結束或關閉程式的基本步驟:
1。ps -aux | grep 程式名:獲取目標程式的程序ID(PID)
2。kill -9 程序ID:強制結束或關閉對應軟體程式
top:
開啟當前系統的“任務管理器”(動態檢視程序資訊)
22。檢視系統監聽的埠
1>埠號:想要連線至伺服器,需要使用IP地址,在伺服器上執行程式,需要透過埠號
注意:同一臺伺服器不能有多個程式使用同一個埠號,因此在執行程式時,如果提示:埠號被佔用,那就需要先找到佔用埠號的程式並結束掉,然後才能執行目標程式。
2>常見埠號:
HTTP:80
HTTPS:443
SSH:22
MySQL:3306
3>netstat命令
用於顯示各種網路相關資訊
常用於檢視軟體開啟的埠資訊
注意:一般需要root使用者許可權,才能看到更詳細的埠資訊
netstat
用於檢視顯示網路狀態
netstat -anptu
檢視所有的程序和埠使用情況
一般用來檢視埠被哪些程式使用,但是我們不單獨使用
netstat -anptu | grep mysql
結合grep查詢指定程式開啟的埠
比如這裡查詢的就是mysql正在使用的埠號
【注意】:使用netstat命令時,最好使用root使用者,否則PID一欄可能沒有資訊
選項說明:
-a
顯示所有已開啟的埠
-n
不用別名顯示,只用數字顯示
-p
顯示程序號(pid)和程序名
-t
顯示所有tcp協議埠
-u
顯示所有udp協議埠
4>lsof命令
list open files是一個列出當前系統開啟檔案的工具
可以用於檢視系統中正在使用埠的詳細資訊
【注意】:一般需要root使用者許可權,才能看到更詳細的埠資訊
lsof -i
列出符合條件的程序
如果不給出條件,則預設顯示所有程序開啟的所有檔案
lsof -i:3306
列出使用埠3306的程序資訊
這裡是檢視3306這個埠被哪個應用程式佔用了
【注意】:該命令必須使用root使用者許可權,普通使用者使用無任何結果;-i:後面跟埠無空格
23。檢視程式存放位置which
說明:在Linux系統中,無論是自己安裝的程式還是系統自帶命令,本質上都一個可執行程式,想要獲取程式安裝位置,可以透過which程式名來實現,尋找的是可執行檔案。
24。切換使用者su
1。切換賬號su
su -
切換到root使用者
su – 使用者名稱
切換到指定的使用者,並切換目錄
-可以切換到使用者家目錄,否則位置保持不變
su:不切換使用者目錄,只切換使用者名稱
2。退出登入賬戶exit
1>如果是圖形介面,退出當前終端
2>如果是使用ssh遠端登入,退出登陸賬戶
3>如果是切換後的登陸使用者,退出則返回上一個登陸賬號
25。檢視當前使用者所有資訊who
1。who -q:檢視使用者登入數量
26。許可權chmod
1。檔案資訊含義
-rwxr-xr-x含義:
①資訊中的第一位為檔案型別:-表示普通檔案;d表示資料夾
②後續資訊三個值為一個整體,一共三個部分,依次為:使用者/使用者組【是當前登入使用者組內的成員】/其他人【既不是當前使用者也不是當前使用者組內的成員】
③每一組都會有r、w、x、-組成:r表示讀取;w表示寫入;x表示執行;-表示無許可權
2。許可權
根據許可權計算每組的值就會對應產生數字,例如755,
沒有許可權要給0,不能空著
【注意】:
1。無論目標檔案的許可權作何修改,每一部分都必須有結果,數字一定是3位;
2。如果某一部分沒有任何許可權,直接給0;
3。檔案許可權是可以進行多次修改的,不要害怕修改錯誤;
3。chmod命令-數字法
chmod在設定許可權時,可以簡單的使用三個數字分別對擁有者、組、其他使用者賦予許可權
數字法:chmod XXX(三個數字) 檔名
4。chmod命令-字母法
字母法:chmod u+r 檔名
使用者型別:
許可權設定:
許可權賦予過程中無空格
注意事項:
1.必須明確檔案許可權的含義(讀懂)
2.使用數字法還是字母法全憑個人喜好
3.儘量注意不要隨意賦予檔案最高許可權:數字法(777)/字母法(rwxrwxrwx)
4.建議適當修改檔案許可權:數字法(755)/字母法(rwxr-xr-x)
27。查詢檔案find
1。在特定的目錄下搜尋符合條件的檔案
2。語法
find [路徑] -name “*。py”
查詢指定路徑下副檔名是。py的檔案,包括子目錄;“”給或不給不影響結果
如果省略路徑,表示在當前資料夾下查詢
之前學習的萬用字元,在使用find命令時也可以用
28。連結檔案ln
1。軟連結(快捷方式)
ln -s 連結檔案 連結檔名
注意:刪除原始檔,連結檔案會失效
2。硬連結(類似複製檔案)
ln 連結檔案 連結檔名
注意:兩個檔案寫入內容同步,刪除獨立。
檔案的歸檔管理(壓縮和解壓)
1。打包/解包
tar是Linux中最常用的備份工具,此命令可以把一系列檔案打包到一個大檔案中,也可以把打包的檔案恢復成一系列檔案
格式使用如下:
#打包檔案
tar -cvf 打包檔案。tar 被打包的檔案/路徑…【加路徑,可以原地打包】
#解包檔案
tar -xvf 打包檔案。rar
tar常用選項說明:
-c
生成檔案檔案,建立
打包檔案
-v
列出歸檔解檔的詳細過程
-f
指定檔案檔名稱,f後面一定是。tar檔案,所以必須放在最後
-t
列出檔案中包含的檔案
-x
解開檔案檔案
注意:f必須放在最後,其他選項順序可以隨意
2。壓縮/解壓縮
1>gzip
tar與gzip命令結合使用實現檔案打包、壓縮
tar只負責打包檔案,但不壓縮
用gzip壓縮tar打包後的檔案,其副檔名一般用xxx。tar。gz
gzip使用格式如下:
gzip [選項] 被壓縮檔案(gzip -r xx。tar)
常用選項:
-r
壓縮所有子目錄,即遞迴處理
-d
指定檔案解壓縮
打包壓縮的合併:
tar命令中增加一個選項-z可以呼叫gzip實現了一個壓縮的功能,實行一個先打包後壓縮的過程;
命令格式如下:
#壓縮檔案
tar -zcvf 打包檔案。tar。gz 被壓縮的檔案/路徑…
#解壓縮檔案
tar -zxvf 打包檔案。tar。gz
#解壓縮到指定路徑
tar -zxvf 打包檔案。tar。gz
-C
目標路徑
2>zip、unzip
透過zip壓縮檔案的目標檔案不需要指定副檔名,預設副檔名為zip
命令格式如下:
#壓縮檔案
zip [-r]【如果被壓縮檔案是資料夾需要使用-r】 打包檔案 被壓縮的檔案
#解壓縮檔案
unzip -d 解壓後的目錄 打包檔案。zip【可以在當前目錄下解壓,不跟目錄選項】
-r
遞迴處理,將指定目錄下的所有檔案和子目錄一併處理
VI編譯器
1。簡介
VI是一個文字編輯器
可以執行輸出、刪除、查詢、替換、塊操作等眾多文字操作
只能是編輯文字內容,不能對字型段落進行排版
不支援滑鼠操作
沒有選單
只有命令
2。三種工作模式
命令模式
文字輸入模式
末行模式
vi 檔名,檔案若不存在,會新開一個
3。進入末行模式儲存檔案
語法:
:q:當vi進入檔案沒有對檔案內容做任何操作可以按“q”退出
:q!:當vi進入檔案對檔案內容有操作但不想儲存退出
:wq:正常儲存退出
:wq!:強行儲存退出,只針對與root使用者或檔案所有人
Liunx軟體安裝
1。yum命令
yum ( Yellow dog Updater,Modified)是一個在Linux系統中常用的軟體包管理器
yum提供了查詢、安裝、刪除某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記
語法:yum [options] [command] [package……]
optinos:選項
-h:檢視幫助
-y:當安裝過程提示選擇全部為“yes”
-q:不顯示安裝的過程
command:要進行的操作
package:操作的物件
2。yum常用命令
yum list:列出所有可安裝的軟體清單
yum search:查詢軟體包
yum install
yum update
yum update:更新所有軟體
yum remove