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 - |
可進入上次所在的目錄 |
作用:用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名【改名一般都在當前路徑下,改名先原名 新名】
語法:mv [選項] 數據源 目的地
選項參數:
-f |
禁止交互式操作,如有覆蓋也不會給出提示 |
-i |
确認交互方式操作,如果mv操作将導緻對已存在的目标文件的覆蓋,系統會詢問是否重寫,要求用戶回答以避免誤覆蓋文件 |
-v |
顯示移動速度 |
【mv 原 目标(如果目标是文件夾就變成移動,不是文件夾或文件名不存在,就變成改名)】
8.絕對路徑和相對路徑的區分絕對路徑:以“/”或者“~”開始
相對路徑:“.”或“..”開始(會因為當前所在位置不同,導緻切換的位置不同)
【.:當前路徑下;..:上一層目錄】
9.cp作用:将給出的文件或目錄複制到另一個文件或目錄中
語法:cp [選項] 數據源 目的地
選項參數:
-i |
交互式複制,在覆蓋目标文件之前将給出提示要求用戶确認 |
-f |
覆蓋已經存在的目标文件而不提示 |
-r |
若給出的源文件是目錄文件,則cp将遞歸複制該目錄下的所有子目錄和文件,目标文件必須為一個目錄名。 |
-v |
顯示拷貝進度 |
作用:删除文件或目錄
語法: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字符串 |
效果與less相同,常用于查看内容較多的文件,兩個命令基本操作快捷鍵相同
【注意:想要以分屏樣式查看大量内容的文件信息,文件的内容至少應該超過當前終端窗口的顯示大小】
15.grep【與管道符|配合使用】作用:根據關鍵詞,搜索文本文件内容,文件裡的信息
語法:grep [選項] 關鍵詞 文件
參數選項:
-v |
顯示不包含匹配文本的所有行(相當于求反) |
-n |
顯示匹配行及行号 |
-i |
忽略大小寫 |
作用: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.切換用戶su1.切換賬号su
su - |
切換到root用戶 | |
su – 用戶名 |
切換到指定的用戶,并切換目錄 |
-可以切換到用戶家目錄,否則位置保持不變 |
su:不切換用戶目錄,隻切換用戶名
2.退出登錄賬戶exit
1>如果是圖形界面,退出當前終端
2>如果是使用ssh遠程登錄,退出登陸賬戶
3>如果是切換後的登陸用戶,退出則返回上一個登陸賬号
25.查看當前用戶所有信息who1.who -q:查看用戶登錄數量
26.權限chmod1.文件信息含義
-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.查找文件find1.在特定的目錄下搜索符合條件的文件
2.語法
find [路徑] -name “*.py” |
查找指定路徑下擴展名是.py的文件,包括子目錄;“”給或不給不影響結果 |
如果省略路徑,表示在當前文件夾下查找
之前學習的通配符,在使用find命令時也可以用
28.鍊接文件ln1.軟鍊接(快捷方式)
ln -s 鍊接文件 鍊接文件名
注意:删除源文件,鍊接文件會失效
2.硬鍊接(類似複制文件)
ln 鍊接文件 鍊接文件名
注意:兩個文件寫入内容同步,删除獨立。
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是一個文本編輯器
可以執行輸出、删除、查找、替換、塊操作等衆多文本操作
隻能是編輯文本内容,不能對字體段落進行排版
不支持鼠标操作
沒有菜單
隻有命令
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 <package_name>:安裝指定的軟件
yum update <package_name>:更新指定軟件
yum update:更新所有軟件
yum remove <package_name>:删除軟件包
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!