學(xué)習(xí)軟件測試,最基本的linux命令必須掌握,現(xiàn)為大家整理如下:
創(chuàng)新互聯(lián)建站自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站制作、成都網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團隊及專業(yè)的網(wǎng)站設(shè)計師團隊。
一:系統(tǒng)管理相關(guān)命令
ls:可以看到整個目錄
1.su:在不退出登陸的情況下,切換到另一個用戶的身份
如:su root
切換到root這個用戶,將提示輸入密碼,輸完密碼后即可登陸
# 超級用戶提示符
$ 普通用戶提示符
whoami:確認自己身份
history:查看運行命令的 歷史
ifconfig:顯示或設(shè)置網(wǎng)絡(luò)設(shè)備的命令,我們可以用這個命令查看自己虛擬機的IP地址
ping:ping是Windows.Unix,Linux系統(tǒng)下的一個命令.ping命令也屬于一個通信協(xié)議,是TCP/I協(xié)議的一部分。利用“ping"命令可以檢查網(wǎng)絡(luò)是否聯(lián)通
停下來是:Ctrl+C(4)
kill:殺死進程(kill-9 進程號 強制殺死進程)
目錄操作命令
linux的文件系統(tǒng)是采用層級式的樹狀目錄結(jié)構(gòu),在此結(jié)構(gòu)中的最上層是根目錄”/“,下層是各種各樣的子目錄和文件。
/:unix 文件系統(tǒng)的上層根目錄
root:存放root用戶的相關(guān)文件
home:存放普通用戶的相關(guān)文件
bin:存放常用命令的目錄,如vi,su,普通用戶就可以提取的命令
sbin:要具有”一定權(quán)限才可以使用命令“
etc:存放配置的相關(guān)文件
vir:存放經(jīng)常變化的文件。如:網(wǎng)絡(luò)連接的sock文件
boot:啟動目錄,存放引導(dǎo)系統(tǒng)啟動的相關(guān)文件
usr:安裝一個軟件的默認目錄,相當(dāng)于Windows下的program files
dev:設(shè)備文件保存目錄
lb :系統(tǒng)庫保存文件
pwd命令:顯示當(dāng)前路徑
cd命令:切換目錄
用法:cd目錄路徑
cd./切換到上級目錄
cd/切換到根目錄
cd~(或只有cd) 切換到用戶主目錄(home底下以用戶名命名的文件夾)
/root目錄
cd /opt ---cd bin 與cd /opt---cd /bin的區(qū)別
mkdir創(chuàng)建目錄
mkdir 目錄名
rmdir刪除空目錄
用法:rmdir 目錄名
也可用:rm-rf 目錄名
touch a.txt創(chuàng)建一個a.txt文件
二:文件操作命令
在Linux系統(tǒng)中,幾乎所有內(nèi)容包括文檔,命令,設(shè)備和目錄等都組織成文件的形式,用文件來管理,常用文件命令有:
|| 查看文件目錄,以及它們對應(yīng)的屬性信息
cp 復(fù)制命令
用法:cp[選項] 文件名或目錄 目標地址
-R 拷貝目錄及目錄下所有目錄和文件
cp a.txt b.txt 將a文件復(fù)制,且另命名為b文件(目錄名)
mv 移動命令
用法:mv文件名或目錄 目標位置
mv a.txt../ 將a文件移動到上級目錄(將一個文件移動到另一個目錄沒有重命名)
mv a.txt ../b.txt 將a文件移動到上一級并改名為b文件(將一個文件移動到另一個目錄并重命名)
移動目錄的時候,如果出現(xiàn)覆蓋的情況,且被覆蓋的目錄非空,需要加一個'-b'的參數(shù)才能移動成功。被覆蓋的目錄此時會生產(chǎn)一個備份。
rm 刪除文件或目錄(i:操作時進行詢問)
-f 強制刪除
-r 刪除目錄
常用:rm -f文件或目錄
find命令 查找文件
用法:find[路徑][選項]
常用選項有:
find . -name a.txt 在當(dāng)前目錄查找文件a.txt
find / -name a.txt 從當(dāng)前目錄查找a.txt文件
grep命令
功能:在指定文件中查找字符(串)并打印該行;過濾,經(jīng)常跟管道符號一起出現(xiàn)
用法:grep 字符串 文件名
grep xyz file 在file文件中尋找band字符串所在的那一行
文件編輯命令
vi:是linux下常用的文本編輯器
調(diào)用方法:vi a.txt(如果a.txt不存在,則創(chuàng)建,保存退出則創(chuàng)建成功)
按鍵盤i進入編輯狀態(tài)(注意:都是英文輸入法下進行輸入)
退出編輯按ESC鍵,退出方法
不保存退出: :q!
保存退出: :wq
輸入/,進入搜索,輸入你需要搜索的文字,按Enter
按鍵盤G,可以直接定位到最末行
按鍵盤g,可以直接定位到首
cat命令:顯示文本文件內(nèi)容
用法: cat文件名 cat 文件名字
head:查看前幾行 用法:head -n 5 文件名
tail:從指定點開始將文件寫到標準輸出,使用tail命令的-f選項可以方便的查閱正在改變的日志文件
tail -n 5文件名 查看后幾行
tail -f error.log 不斷刷新,看到最新內(nèi)容
系統(tǒng)資源查詢命令
ps 查看進程(動態(tài))
-ef 顯示所有運行進程,并顯示啟動進程的命令
Uid:用戶ID,PID;進程id PPID:父進程,C:進程cpu占用率,Stime:進程從啟動到現(xiàn)在所運行的時間
TTY:終端號。CMD:命令名稱和參數(shù)
netstat 查看網(wǎng)絡(luò)狀況
netstat -apn 查看所有端口
管道命令
管道使用”|“符號,并且在命令之間建立管道,將前面命令的輸出作為后面命令的輸入
如:ls|greap abc:管卡道前面的命令顯示當(dāng)前目錄下的文件,后面從列出的文件名中尋找含有abc字符串的文件或者目錄
正常情況下,殺死服務(wù)進程(比如殺死tomcat進程)
通過進程名找到進程,在殺死進程
通過命令查找tomcat進程:ps -ef|grep tomcat(ps -ef是查找所有運行的進程,通過管道符找到所有進程中包含了”tomcat"字符串的進程,即為tomcat進程),假如5541
殺掉此進程,kill -9進程id(kill -9 5541)
通過端口來找到進程,再殺死進程
通過命令查找到占用此端口的進程編號:netstat -apn|grep 8080 根據(jù)8080查進程,假如 5541
殺掉進程:kill -9 pid(kill -9 5541)
三:權(quán)限賦予命令:chmod
linux系統(tǒng)是一種典型的多用戶系統(tǒng),不同的用戶處于不同的地位,擁有不同的權(quán)限。為了保護系統(tǒng)的安全性,linux系統(tǒng)對不同的用戶訪問同一文件(包括目錄文件)的權(quán)限做了不同的規(guī)定。在linux中可以使用||或ls -|命令來顯示一個文件的屬性以及文件所屬的用戶和組。
chmod語法:chmod[-R] xyz文件或目錄
讀(r): 4 寫(w): 2 執(zhí)行(x): 1
chmod 532 test.txt
壓縮,解壓命令
例如:將test文件壓縮成test.tar.gz
安裝軟件命令
yum 自動下載安裝(前提:能訪問外網(wǎng))
yum[操作][package]
例如:yum install mysql-server(安裝mysql服務(wù)器)
rpm 安裝
rpm -ivh 軟件包名(ivh 安裝顯示安裝進度)
vim可以分為三種狀態(tài),分別是 命令行模式(command mode) 、 輸入模式(Insert mode) 和 底行模式(last line mode) ,這 3 種工作模式可隨意切換,如下圖所示。
使用vim編輯文件時,默認處于命令行模式。此模式下,可使用方向鍵(上、下、左、右鍵)或 k、j、h、i 移動光標的位置,還可以對文件內(nèi)容進行復(fù)制、粘貼、替換、刪除等操作。
下圖所示是vim處于命令行模式的狀態(tài)示意圖。
在輸入模式下,vim可以對文件執(zhí)行寫操作,類似于在Windows系統(tǒng)的文檔中輸入內(nèi)容。
使vim進行輸入模式的方式是在命令模式狀態(tài)下輸入 i 、 I 、 a 、 A 、 o 、 O 等插入命令(各指令的具體功能下表所示),當(dāng)編輯文件完成后按 esc 鍵即可返回命令模式。
下圖所示為vim處于輸入模式模式下的示意圖。
底行模式用于對文件中的指定內(nèi)容執(zhí)行保存、查找或替換等操作。
使vim切換到底行模式的方法是在 命令行模式 狀態(tài)下按 : 鍵(注意是英文符號),此時vim窗口的左下方出現(xiàn)一個 : 符號,這是就可以輸入相關(guān)指令進行操作了。
指令執(zhí)行后vim會自動返回命令行模式。如想直接返回命令行模式,按 esc 即可。
下圖所示為vim進入底行模式后的狀態(tài)。
對于新手來說,經(jīng)常不知道自己處于什么模式。不論是自己忘了,還是不小心切換了模式,都可以按一次 esc 鍵返回命令行模式。如果你多按幾次 esc 鍵后聽到"嘀————"的聲音,則代表你已經(jīng)處于命令行模式了。
打開文件
打開文件時光標處于文件尾部
打開文件時,光標定位到第幾行
字符移動
這些移動鍵都可以加上數(shù)字(5h:向左移動5個字符格)
單詞移動
行內(nèi)跳轉(zhuǎn)
行間移動
在底行模式下,直接給出行號,實現(xiàn)跳轉(zhuǎn)
用法:起始地址,結(jié)束地址 s @要替換內(nèi)容@替換后內(nèi)容@gi(@分隔符)
例 :1,$s/a/A/g 把文件中全部的a換替換成A,全局替換
顯示取消行號
設(shè)定自動縮進(寫腳本時)
查找到的文本高亮顯示
語法高亮
/etc/vimrc :全局配置文件,永久有效
~/.vimrc :個人配置文件,每個用戶的家目錄中,若不存在,手動創(chuàng)建
對于第一次用vim的童鞋,有幾點需要提醒一下:
一、vi編輯器有3種基本工作模式
分別是:命令模式、文本輸入模式、和末行模式。
第一:命令行模式:
該模式是進入vi編輯器后的默認模式。任何時候,不管用戶處于何種模式,按下ESC鍵即可進入命令模式。在該模式下,用戶可以輸入vi命令,用戶管理自己的文檔。此時從鍵盤上輸入的任何字符都被當(dāng)作編輯命令來解釋。若輸入的字符是合法的vi命令,則vi在接受用戶命令之后完成相應(yīng)的動作。但需要注意的是,所輸入的命令并不回顯在屏幕上。若輸入的字符不是vi命令,vi會響鈴報警。
第二:文本輸入模式:
在命令模式下輸入命令i、附加命令a、打開命令o、修改命令c、取代命令r或替換命令s都可以進入文本輸入模式。在該模式下,用戶輸入的任何字符都被vi當(dāng)作文件內(nèi)容保護起來,并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按ESC鍵即可。
第三:末行模式:
末行模式也稱ex轉(zhuǎn)義模式。在命令模式下,用戶按“:”鍵即可進入末行模式下,此時vi會在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個“:”作為末行模式的說明符,等待用戶輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫到文件中等)。末行命令在執(zhí)行完后,vi自動回到命令模式。如果要從命令模式轉(zhuǎn)換到編輯模式,可以鍵入a或者i。如果需要從文本模式返回,則按ESC即可。在命令模式下輸入“:”即可切換到末行模式,然后輸入命令。
實例演示
首先我們使用命令 vi filename 打開一個文件,這個時候進入到的是命令模式
接下來我們按i,然后鍵盤隨便輸入寫內(nèi)容。
然后按ESC重新進入到命令模式。
在命令模式的情況下,我們按:,進入到了末行模式。
我們輸入wq!,然后回車,強行保存退出。
下次我們再打開對應(yīng)文件(可用less filename命令打開),即可看到內(nèi)容已經(jīng)更改。
補充:
(1)末行模式下:q! 【強制退出不保存】 q【退出不保存】 wq【退出并保存后面也可以加個!】
(2)如果你不想保存直接退出有可以在命令模式下使用“ctrl+z”快捷鍵或者按住“shift”鍵,輸入兩個z即可退出。
更多命令
進入vi的命令:
vi filename :打開或新建文件,并將光標置于第一行首
vi +n filename :打開文件,并將光標置于第n行首
vi + filename :打開文件,并將光標置于最后一行首
vi +/pattern filename:打開文件,并將光標置于第一個與pattern匹配的串處
vi -r filename :在上次正用vi編輯時發(fā)生系統(tǒng)崩潰,恢復(fù)filename
vi filename….filename :打開多個文件,依次進行編輯
屏幕翻滾類命令:
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時將當(dāng)前行滾至屏幕頂部。
插入文本類命令:
i :在光標前
I :在當(dāng)前行首
a:光標后
A:在當(dāng)前行尾
o:在當(dāng)前行之下新開一行
O:在當(dāng)前行之上新開一行
r:替換當(dāng)前字符
R:替換當(dāng)前字符及其后的字符,直至按ESC鍵
s:從當(dāng)前光標位置處開始,以輸入的文本替代指定數(shù)目的字符
S:刪除指定數(shù)目的行,并以所輸入文本代替之
ncw或nCW:修改指定數(shù)目的字
nCC:修改指定數(shù)目的行
刪除命令:
ndw或ndW:刪除光標處開始及其后的n-1個字
do:刪至行首
d$:刪至行尾
ndd:刪除當(dāng)前行及其后n-1行
x或X:刪除一個字符,x刪除光標后的,而X刪除光標前的
Ctrl+u:刪除輸入方式下所輸入的文本
搜索及替換命令:
/pattern:從光標開始處向文件尾搜索pattern
?pattern:從光標開始處向文件首搜索pattern
n:在同一方向重復(fù)上一次搜索命令
N:在反方向上重復(fù)上一次搜索命令
:s/p1/p2/g:將當(dāng)前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:將文件中所有p1均用p2替換
撤銷回退命令:
u 撤銷上一步的操作
Ctrl+r 恢復(fù)上一步被撤銷的操作
選項設(shè)置:
all:列出所有選項設(shè)置情況
term:設(shè)置終端類型
ignorance:在搜索中忽略大小寫
list:顯示制表位(Ctrl+I)和行尾標志($)
number:顯示行號
report:顯示由面向行的命令修改過的數(shù)目
terse:顯示簡短的警告信息
warn:在轉(zhuǎn)到別的文件時若沒保存當(dāng)前文件則顯示NO write信息
nomagic:允許在搜索模式中,使用前面不帶“\”的特殊字符
nowrapscan:禁止vi在搜索到達文件兩端時,又從另一端開始
mesg:允許vi顯示其他用戶用write寫到自己終端上的信息
末行模式命令:
:n1,n2 co n3:將n1行到n2行之間的內(nèi)容拷貝到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內(nèi)容移至到第n3行下
:n1,n2 d :將n1行到n2行之間的內(nèi)容刪除
:w :保存當(dāng)前文件
:e filename:打開文件filename進行編輯
:x:保存當(dāng)前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:wq:保存并退出
:!command:執(zhí)行shell命令command
:n1,n2 w!command:將文件中n1行至n2行的內(nèi)容作為command的輸入并執(zhí)行之,若不指定n1,n2,則表示將整個文件內(nèi)容作為command的輸入
:r!command:將命令command的輸出結(jié)果放到當(dāng)前行
寄存器操作:
“?nyy:將當(dāng)前行及其下n行的內(nèi)容保存到寄存器?中,其中?為一個字母,n為一個數(shù)字
“?nyw:將當(dāng)前行及其下n個字保存到寄存器?中,其中?為一個字母,n為一個數(shù)字
“?nyl:將當(dāng)前行及其下n個字符保存到寄存器?中,其中?為一個字母,n為一個數(shù)字
“?p:取出寄存器?中的內(nèi)容并將其放到光標位置處。這里?可以是一個字母,也可以是一個數(shù)字
ndd:將當(dāng)前行及其下共n行文本刪除,并將所刪內(nèi)容放到1號刪除寄存器中。
在linux終端下用命令編輯一個文件并保存的具體操作步驟如下:
1、首先打開命令控制臺找到要編輯的文件,執(zhí)行命令ls看看下面有幾個文件,我這個下面有個index.php文件。
2、然后執(zhí)行命令vi index.php。
3、這個時候如果想修改這個文件的內(nèi)容,按下間鍵盤上的'i'鍵,最下方就會變成INSERT,就可以修改了。
4、寫個echo的代碼進行保存 Esc+:+wq 這個是保存,回車保存。
5、保存完成以后,再次打開這個文件會發(fā)現(xiàn)剛才寫入的代碼已經(jīng)保存到里面了。
6、不保存的命令Esc+:+q!,通過以上步驟即可實現(xiàn)在linux終端下用命令編輯一個文件并保存。
命令格式: 命令 [-選項] [參數(shù)]
如:ls -la /usr
**說明: **
大部分命令遵從該格式
多個選項時,可以一起寫 eg:ls –l –a à ls –la
簡化選項與完整選項(注:并非所有選項都可使用完整選項) eg:ls –all à ls –a
作用:切換用戶身份
語法:su [選項] 用戶名
-c 僅執(zhí)行一次命令,而不切換用戶身份
$ su – root
env
$ su – root –c “useradd longjing”
文件或目錄的CRUD
英文:change directory 命令路徑:內(nèi)部命令 執(zhí)行權(quán)限:所有用戶
作用: 切換目錄
語法:cd [目錄] / 切換到根目錄
.. 回到上一級目錄
. 當(dāng)前目錄
~ 當(dāng)前用戶的宿主目錄(eg:# cd ~用戶名 進入某個用戶的家目錄)
英文:list 命令路徑:/bin/ls 執(zhí)行權(quán)限:所有用戶
作用:顯示目錄文件
語法:ls [-alrRd] [文件或目錄]
-a all 顯示所有文件,注意隱藏文件,特殊目錄.和..
-l(long) 顯示詳細信息
-R(recursive) 遞歸顯示當(dāng)前目錄下所有目錄
-r (reverse) 逆序排序
-t(time) 按修改時間排序(降序)
英文:print working directory 命令路徑:/bin/pwd 執(zhí)行權(quán)限:所有用戶
作用:顯示當(dāng)前工作目錄
語法:pwd [-LP]
-L 顯示鏈接路徑,當(dāng)前路徑,默認
-P 物理路徑
eg:# cd /etc/init.d
英文:make directories 命令路徑:/bin/mkdir 執(zhí)行權(quán)限:所有用戶
作用:創(chuàng)建新目錄
語法:mkdir [-p] 目錄名
-p 父目錄不存在情況下先生成父目錄 (parents)
eg: mkdir linux/test 如果目錄linux不存在,則報錯,使用參數(shù)-p即可自動創(chuàng)建父目錄。
命令路徑:/bin/touch 執(zhí)行權(quán)限:所有用戶
作用:創(chuàng)建空文件或更新已存在文件的時間
語法:touch 文件名
eg:touch a.txt b.txt touch {a.txt,b.txt} 同時創(chuàng)建多個文件
創(chuàng)建帶空格的文件 eg:touch "program files" 在查詢和刪除時也必須帶雙引號
注意:生產(chǎn)環(huán)境中,文件名,一定不要加空格
英文:copy 命令路徑:/bin/cp 執(zhí)行權(quán)限:所有用戶
作用:復(fù)制文件或目錄
語法:cp [–rp] 源文件或目錄 目的目錄
-r -R recursive 遞歸處理,復(fù)制目錄
-p 保留文件屬性 (原文件的時間不變)
eg:
1,相對路徑 cp –R /etc/* . cp –R ../aaa ../../test/
2,,絕對路徑 cp –R / ect/service /root/test/aa/bb
英文:move 命令路徑:/bin/mv 執(zhí)行權(quán)限:所有用戶
作用:移動文件或目錄、文件或目錄改名
語法:mv 源文件或目錄 目的目錄
英文:remove 命令路徑:/bin/rm 執(zhí)行權(quán)限:所有用戶
作用:刪除文件
語法: rm [-rf] 文件或目錄
-r (recursive)刪除目錄,同時刪除該目錄下的所有文件
-f(force) 強制刪除文件或目錄 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無需逐一確認
注意:工作中,謹慎使用rm –rf 命令。
擴展點 :刪除亂碼文件
一些文件亂碼后使用rm -rf 依然無法刪除
此時,使用ll -i 查找到文件的inode節(jié)點
然后使用find . -inum 查找到的inode編號 -exec rm {} -rf ;
就能順利刪除了
英文:concatenate 命令路徑:/bin/cat 執(zhí)行權(quán)限:所有用戶
作用:顯示文件內(nèi)容
語法:cat [-n] [文件名]
-n 顯示行號
eg:cat /etc/services
命令路徑:/bin/more 執(zhí)行權(quán)限:所有用戶
作用:分頁顯示文件內(nèi)容
語法:more [文件名]
空格或f 顯示下一頁
Enter鍵 顯示下一行
q或Q 退出
命令路徑:/usr/bin/head 執(zhí)行權(quán)限:所有用戶
作用:查看文件前幾行(默認10行)
語法:head [文件名]
-n 指定行數(shù)
eg:head -20 /etc/services head –n 3 /etc/services
命令路徑:/usr/bin/tail 執(zhí)行權(quán)限:所有用戶
作用:查看文件的后幾行
語法:tail [文件名]
-n 指定行數(shù)
-f (follow) 動態(tài)顯示文件內(nèi)容
獲取一個大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services config.log
英文: link 命令路徑:/bin/ln 執(zhí)行權(quán)限:所有用戶
作用:產(chǎn)生鏈接文件
語法:
ln -s [源文件] [目標文件] 創(chuàng)建軟鏈接 源文件 使用 絕對路徑
ln [源文件] [目標文件] 創(chuàng)建硬鏈接
eg:ln -s /etc/service ./service.soft
創(chuàng)建文件/etc/service的軟鏈接service.soft
eg:/etc/service /service.hard
創(chuàng)建文件/etc/service的硬鏈接/service.hard
軟連接類似于windows下的快捷方式
軟連接文件格式:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service - /etc/services
1 硬鏈接數(shù)量,如果該文件沒有硬鏈接,就只有本身一個硬鏈接。
13鏈接文件的長度
格式解析(特征):
1, 軟連接的文件類型是 l(軟連接),軟連接文件的權(quán)限 都是 lrwxrwxrwx
2,- 箭頭指向到源文件
真正的權(quán)限取決于對源文件的權(quán)限
時間值為創(chuàng)建軟連接的時間
軟連接可以跨文件系統(tǒng)生成
硬鏈接特征
1,相當(dāng)于 cp -p +同步更新
2,通過i節(jié)點識別,與源文件有相同的inode節(jié)點
3,硬鏈接不能跨分區(qū),ln /home/test/issuels /boot/test (錯誤)
4,不能針對目錄使用 ln /tmp/ aa.hard (無法將目錄/tmp 生成硬鏈接)
刪除軟連接
rm -rf symbolic_name
英文:manual 命令路徑:/usr/bin/man 執(zhí)行權(quán)限:所有用戶
作用:獲取命令或配置文件的幫助信息
語法:man [命令/配置文件]
eg:man ls man services
(查看配置文件時,不需要配置文件的絕對路徑,只需要文件名即可)
調(diào)用的是more命令來瀏覽幫助文檔,按空格翻下一頁,按回車翻下一行,按q退出。
使用/加上關(guān)鍵的參數(shù)可直接定位搜索, n 查找下一個,shift+n 查找上一個
eg: /-l 直接查看-l的介紹
擴展:man的級別 (幫助文檔的類型, 了解1 5即可)
man man-pages 查看每一種類型代表的含義 man文檔的類型(1~9)
1是命令,5是配置文件 man優(yōu)先顯示命令,可指定幫助類型
eg:man 5 passwd (5代表配置文件級別)
[圖片上傳失敗...(image-6718d2-1624438708895)]
help 查看shell內(nèi)置命令的幫助信息
eg:help cd
內(nèi)置命令,使用whereis,which,man都不能查看
type 命令 查看內(nèi)部命令還是外部命令
命令名 --help 列舉該命令的常用選項
eg: cp --help
命令路徑:/bin/find 執(zhí)行權(quán)限:所有用戶
作用:查找文件或目錄
語法:find [搜索路徑] [匹配條件]
如果沒有指定搜索路徑,默認從當(dāng)前目錄查找
find命令選項
-name 按名稱查找 精準查找
eg:find /etc -name “init” 在目錄/etc中查找文件init
-iname 按名稱查找
find查找中的字符匹配:
*:匹配所有
?:匹配單個字符
eg:find /etc -name “init???” 在目錄/etc中查找以init開頭的,且后面有三位的文件
模糊匹配的條件,建議使用單引號或雙引號括起來。如果*被轉(zhuǎn)義,可使用 單雙引號括住查詢條件,或者使用*。
eg: # find . –name *g
-size ****按文件大小查找
以block為單位,一個block是512B, 1K=2block +大于 -小于 不寫是等于
eg:find /etc -size -204800 在etc目錄下找出大于100MB的文件
100MB=102400KB=204800block
**-type ** 按文件類型查找
f 二進制文件l 軟連接文件 d 目錄 c 字符文件
eg: find /dev -type c
find****查找的基本原則 :
占用最少的系統(tǒng)資源,即查詢范圍最小,查詢條件最精準
eg:
如果明確知道查找的文件在哪一個目錄,就直接對指定目錄查找,不查找根目錄/
命令路徑:/bin/grep 執(zhí)行權(quán)限:所有用戶
作用:在文件中搜尋字串匹配的行并輸出
語法:grep [-cinv] '搜尋字符串' filename
選項與參數(shù):
-c :輸出匹配行的次數(shù)(是以行為單位,不是以出現(xiàn)次數(shù)為單位)
-i :忽略大小寫,所以大小寫視為相同
-n :顯示匹配行及行號
-v :反向選擇,顯示不包含匹配文本的所有行。
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#號
eg:# grep -n “init”/etc/inittab 顯示在inittab文件中,init匹配行及行號
eg:# grep -c“init”/etc/inittab 顯示在inittab文件中,init匹配了多少次
命令路徑:/usr/bin/which 執(zhí)行權(quán)限:所有用戶
作用: 顯示系統(tǒng)命令所在目錄(絕對路徑及別名)
which命令的作用是,在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置,并且返回第一個搜索結(jié)果。也就是說,使用which命令,就可以看到某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個位置的命令
alias ls='ls --color=auto'
/bin/ls
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
命令路徑:/usr/bin/whereis 執(zhí)行權(quán)限:所有用戶
作用:**搜索命令所在目錄 配置文件所在目錄 及幫助文檔路徑 **
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的幫助,就用 man 5 passwd
英文:GNU zip 命令路徑:/bin/gzip 執(zhí)行權(quán)限:所有用戶
作用:壓縮(解壓)文件,壓縮文件后綴為.gz
gzip只能壓縮文件,不能壓縮目錄;不保留原文件
語法:gzip 文件
-d將壓縮文件解壓(decompress)
解壓使用gzip –d或者 gunzip
命令路徑:/usr/bin/bzip2 執(zhí)行權(quán)限:所有用戶
作用: 壓縮(解壓)文件,壓縮文件后綴為.bz2
語法:bzip2 [-k] [文件]
-k:產(chǎn)生壓縮文件后保留原文件(壓縮比高)
-d 解壓縮的參數(shù)(decompress)
解壓使用bzip2 –d或者 bunzip2
命令路徑:/usr/bin/zip 執(zhí)行權(quán)限:所有用戶
作用: 壓縮(解壓)文件,壓縮文件后綴為.zip
語法:zip 選項[-r] [壓縮后文件名稱] [文件或目錄]
-r壓縮目錄
eg:zip services.zip /etc/services 壓縮文件;
zip -r test.zip /test 壓縮目錄
如果不加-r選項,壓縮后的文件沒有數(shù)據(jù)。
解壓使用unzip
命令路徑:/bin/tar 執(zhí)行權(quán)限:所有用戶
作用:文件、目錄打(解)包
語法:tar [-zcf] 壓縮后文件名 文件或目錄
-c 建立一個壓縮文件的參數(shù)指令(create),后綴是.tar
-x 解開一個壓縮文件的參數(shù)指令(extract)
-z 以gzip命令壓縮/解壓縮
-j 以bzip2命令壓縮/解壓縮
-v 壓縮的過程中顯示文件(verbose)
-f file 指定文件名,必選項
1, 單獨的打包 ,解包 tar –cf tar –xf
2, 打包之后,進行壓縮 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 單獨 壓縮 解壓縮
tar -z 以gzip打包目錄并壓縮 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目錄并壓縮 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gzdir1 使用gzip將目錄dir1壓縮成一個打包并壓縮文件dir1.tar.gz
eg: tar -cvf bak.tar . 將當(dāng)前目錄的文件打包為bak.tar
eg: tar -xvf bak.tar 解壓
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip將打包文件bak.tar壓縮為bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2將打包文件bak.tar壓縮為bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 將/etc/password追加文件到bak.tar中(r)
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的壓縮文件
eg:tar -xjf test.tar.bz2 解壓
最常用: tar + gzip
tar –zcvf 壓縮
tar –zxvf 解壓
補充:
1,文件路徑, 壓縮包帶文件路徑
2,源文件是保留的,不會被刪除
**shutdown **[選項] 時間
選項: -c: 取消前一個關(guān)機命令
-h:關(guān)機
-r:重啟
eg:
shutdown -h now 立即關(guān)機 shutdown -h 20:30 定時關(guān)機
其他關(guān)機命令 halt poweroff init 0
其他重啟命令
**reboot **重啟系統(tǒng) reboot -h now立即重啟
init 6
注意:生產(chǎn)環(huán)境中,關(guān)機命令和重啟命令謹慎執(zhí)行。
善于查看man help等幫助文檔
利用好Tab鍵 自動補全
掌握好一些快捷鍵
ctrl + c(停止當(dāng)前進程)
ctrl + z 掛起當(dāng)前進程,放后臺
ctrl + r(查看命令歷史) history
ctrl + l(清屏,與clear命令作用相同)
方向箭頭 上 下 可以查看執(zhí)行過的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除單詞
vim/vi是Unix / Linux上最常用的文本編輯器而且功能非常強大。
只有命令,沒有菜單。
《大碗》編輯器版
周圍的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、語法高亮呀、拼寫檢查呀,能給它開的都給它開著,就是一個字:酷!你說這么牛X的一東西,怎么著學(xué)會也得小半年吧。半年???入門都遠著呢!能學(xué)會移動光標就不錯了,你還別說耗不起,就這還是左右移動?。?!
:
[圖片上傳失敗...(image-a08366-1624438708894)]
命令模式:又稱一般模式
編輯模式:又稱底行模式,命令行模式
|
命令
|
作用
|
|
a
|
在光標后附加文本
|
|
A(shift + a)
|
在本行行末附加文本 行尾
|
|
i
|
在光標前插入文本
|
|
I(shift+i)
|
在本行開始插入文本 行首
|
|
o
|
在光標下插入新行
|
|
O(shift+o)
|
在光標上插入新行
|
|
命令
|
作用
|
|
:set nu
|
設(shè)置行號
|
|
:set nonu
|
取消行號
|
|
gg
G
|
到第一行
到最后一行
|
|
nG
|
到第n行
|
|
:n
|
到第n行
|
|
命令
|
作用
|
|
:w
|
保存修改
|
|
:w new_filename
|
另存為指定文件
|
|
:w a.txt
|
內(nèi)容追加到a.txt文件中 文件需存在
|
|
:wq
|
保存修改并退出
|
|
shift+zz(ZZ)
|
快捷鍵,保存修改并退出
|
|
:q!
|
不保存修改退出
|
|
:wq!
|
保存修改并退出(文件所有者可忽略文件的只讀屬性)
|
不保存并退出:
1, 有修改,但是修改后的內(nèi)容是不保存的
2, 有突發(fā)情況,導(dǎo)致窗口退出。修改文件之后,直接刪除同名的.swp文件
|
命令
|
作用
|
|
x
|
刪除光標所在處字符 nx 刪除光標所在處后n個字符
|
|
dd
|
刪除光標所在行,ndd刪除n行
|
|
:n1,n2d
|
刪除指定范圍的行(eg :1,3d 刪除了123這三行)
|
|
dG
|
刪除光標所在行到末尾的內(nèi)容
|
|
D
|
刪除從光標所在處到行尾
|
|
命令
|
作用
|
|
yy、Y
|
復(fù)制當(dāng)前行
|
|
nyy、nY
|
復(fù)制當(dāng)前行以下n行
|
|
dd
|
剪切當(dāng)前行
|
|
ndd
|
剪切當(dāng)前行以下n行
|
|
p、P
|
粘貼在當(dāng)前光標所在行下 或行上
|
|
命令
|
作用
|
|
r
|
取代光標所在處字符
|
|
R(shift + r)
|
從光標所在處開始替換字符,按Esc結(jié)束
|
|
u
|
undo,取消上一步操作
|
|
ctrl+r
|
redo,返回到undo之前
|
|
命令
|
作用
|
|
/string
|
向后搜索指定字符串 搜索時忽略大小寫 :set ic
|
|
?string
|
向前搜索指定字符串
|
|
n
|
搜索字符串的下一個出現(xiàn)位置,與搜索順序相同
|
|
N(Shift + n)
|
搜索字符串的上一個出現(xiàn)位置,與搜索順序相反
|
|
:%s/old/new/g
|
全文替換指定字符串
|
|
:n1,n2s/old/new/g
|
在一定范圍內(nèi)替換指定字符串
|
% 指全文,s 指開始,g 指全局替換
eg: :41,44/yang/lee/c 從41行到44行,把yang替換為lee,詢問是否替換
eg: :41,44/yang/lee/g 同上,不詢問,直接替換
使用替換命令來添加刪除注釋
:% s/^/#/g 來在全部內(nèi)容的行首添加 # 號注釋
:1,10 s/^/#/g 在1~10 行首添加 # 號注釋
vi里面怎么查命令??
:!which cp
vi里面怎么導(dǎo)入命令的結(jié)果?
:r !which cp
v 可視字符模式
V****(shift+v) 可視行模式,選擇多行操作
**ctrl+v **可視塊模式(列模式),操作列
I或者O進入插入模式。
1,圖形化界面
2,setup 命令虛擬界面
3,修改配置文件(以網(wǎng)絡(luò)方式為NAT示例)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.2.129
NETMASK=255.255.255.0
GATEWAY=192.168.2. 2 #網(wǎng)段2任意,IP地址2固定,網(wǎng)段為vmnet8的設(shè)置的IP網(wǎng)段
DNS1=114.114.114.114
DNS2=8.8.8.8
重啟網(wǎng)絡(luò)生效:
service network restart
命令路徑:/bin/ping 執(zhí)行權(quán)限:所有用戶
作用:測試網(wǎng)絡(luò)的連通性
語法:ping 選項 IP地址
-c 指定發(fā)送次數(shù)
ping 命令使用的是icmp協(xié)議,不占用端口
eg: # ping -c 3 127.0.0.1
英文:interface configure 命令路徑:/sbin/ifconfig 執(zhí)行權(quán)限:root
作用:查看和設(shè)置網(wǎng)卡網(wǎng)絡(luò)配置
語法:ifconfig [-a] [網(wǎng)卡設(shè)備標識]
-a:顯示所有網(wǎng)卡信息
ifconfig [網(wǎng)卡設(shè)備標識] IP地址 修改ip地址
英文:network statistics 命令路徑:/bin/netstat 執(zhí)行權(quán)限:所有用戶
作用:主要用于檢測主機的網(wǎng)絡(luò)配置和狀況
-a all顯示所有連接和監(jiān)聽端口
-t (tcp)僅顯示tcp相關(guān)選項
-u (udp)僅顯示udp相關(guān)選項
-n 使用數(shù)字方式顯示地址和端口號
-l (listening) 顯示監(jiān)控中的服務(wù)器的socket
eg:# netstat -tlnu 查看本機監(jiān)聽的端口
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
協(xié)議 待收數(shù)據(jù)包 待發(fā)送數(shù)據(jù)包 本地ip地址:端口 遠程IP地址:端口
netstat –antpl
臨時生效:
hostname 主機名
[圖片上傳失敗...(image-ceed36-1624438708893)]
永久生效:修改配置文件
vi /etc/sysconfig/network
[圖片上傳失敗...(image-2b9d9e-1624438708893)]
修改主機名和ip地址之間的映射關(guān)系
vi /etc/hosts
192.168.2.120 node-1.edu.cn node-1
可配置別名
[圖片上傳失敗...(image-ec86cf-1624438708893)]
進程和程序的區(qū)別:
1、程序是靜態(tài)概念,本身作為一種軟件資源長期保存;而進程是程序的執(zhí)行過程,它是動態(tài)概念,有一定的生命期,是動態(tài)產(chǎn)生和消亡的。
2、程序和進程無一一對應(yīng)關(guān)系。一個程序可以由多個進程共用;另一方面,一個進程在活動中有可順序地執(zhí)行若干個程序。
進程和線程的區(qū)別:
進程: 就是正在執(zhí)行的程序或命令,每一個進程都是一個運行的實體,都有自己的地址空間,并占用一定的系統(tǒng)資源。
線程: 輕量級的進程;進程有獨立的地址空間,線程沒有;線程不能獨立存在,它由進程創(chuàng)建;相對講,線程耗費的cpu和內(nèi)存要小于進程。
進程管理的作用?
判斷服務(wù)器的健康狀態(tài)
查看系統(tǒng)所有的進程
殺死進程
作用:查看系統(tǒng)中的進程信息
語法:ps [-auxle]
常用選項
查看系統(tǒng)中所有進程
ps應(yīng)用實例 # ps -u or ps -l 查看隸屬于自己進程詳細信息
作用: 查看當(dāng)前進程樹
語法:pstree [選項]
-p 顯示進程PID
-u 顯示進程的所屬用戶
作用:查看系統(tǒng)健康狀態(tài)
顯示當(dāng)前系統(tǒng)中耗費資源最多的進程,以及系統(tǒng)的一些負載情況。
語法:top [選項]
-d 秒數(shù),指定幾秒刷新一次,默認3秒(動態(tài)顯示)
作用:關(guān)閉進程
語法:kill [-選項] pId
kill -9 進程號(強行關(guān)閉) 常用
kill -1 進程號(重啟進程)
添加用戶
語法:useradd [選項] 用戶名
修改密碼命令
語法:passwd [選項] [用戶名]
用戶密碼:生產(chǎn)環(huán)境中,用戶密碼長度8位以上,設(shè)置大小寫加數(shù)字加特殊字符,要定期更換密碼。
ys^h_L9t
刪除用戶
-r 刪除賬號時同時刪除宿主目錄(remove)
作用:用于查看Linux文件系統(tǒng)的狀態(tài)信息,顯示各個分區(qū)的容量、已使用量、未使用量及掛載點等信息??词S嗫臻g
語法:df [-hkam] [掛載點]
-h(human-readable)根據(jù)磁盤空間和使用情況 以易讀的方式顯示 KB,MB,GB等 -k 以KB 為單位顯示各分區(qū)的信息,默認
-M 以MB為單位顯示信息 -a 顯示所有分區(qū)包括大小為0 的分區(qū)
作用:用于查看文件或目錄的大?。ù疟P使用空間)
語法:du [-abhs] [文件名目錄]
-a 顯示子文件的大小
-h以易讀的方式顯示 KB,MB,GB等
-s summarize 統(tǒng)計總占有量
eg:
du -a(all) /home 顯示/home 目錄下每個子文件的大小,默認單位為kb
du -b /home 以bytes為單位顯示/home 目錄下各個子目錄的大小
du -h /home 以K,M,G為單位顯示/home 文件夾下各個子目錄的大小
du -sh /home 以常用單位(K,M,G)為單位顯示/home 目錄的總大小 -s summarize
df命令和du命令的區(qū)別:
df命令是從文件系統(tǒng)考慮的,不僅考慮文件占用的空間,還要統(tǒng)計被命令或者程序占用的空間。
du命令面向文件,只計算文件或目錄占用的空間。
作用:查看內(nèi)存及交換空間使用狀態(tài)
語法: free [-kmg]
選項:
-k: 以KB為單位顯示,默認就是以KB為單位顯示
-m: 以MB為單位顯示
-g: 以GB為單位顯示
清理緩存命令:
echo 1 /proc/sys/vm/drop_caches
Linux自帶有兩個文本編輯器:vi和nano。
使用nano編輯文件:
nano 文件名
點擊Ctrl-X可以退出編輯,選擇是否保存對文件的改動。
使用vi編輯文件:
vi 文件名
vi有兩個模式:一個是編輯模式一個是命令模式。點擊i可以從命令模式進入編輯模式,在點擊esc鍵可以重新進入命令模式。我們一般進入編輯模式,來進行添加,修改,刪除。但是當(dāng)我們刪除和修改的內(nèi)容過多的時候,我們使用命令行模式,進行修改,這樣方便,快捷,而命令行中,最常用到的是x,dd,u,p這四個命令:x:刪除當(dāng)前字符;dd:刪除當(dāng)前行;u:恢復(fù)前一步操作;p:復(fù)制之前刪除的行。