Linux的基本指令
一、進階指令(重點)
?1、cat 選項:
?-b, --number-nonblank 對非空輸出行編號 -E, --show-ends 在每行結(jié)束處顯示 $ -n, --number 對輸出的所有行編號 -T, --show-tabs 將跳 字符顯示為 ^I 注意:tac命令 從最后一行開始顯示文件的信息,tac是cat倒著寫的
2、df指令 作用:查看磁盤的空間(disk free)
語法:#df -h -h表示以可讀性較高的形式展示大小
filesystem 磁盤名稱???? size? 總大小????? used被使用的大小????? Avail剩余大小
use% 使用的百分比??? Mounted on 掛載路徑
3、free指令
作用:查看內(nèi)存使用情況
語法:#free -m -m表示以mb為單位查看 看剩余空間看free那一列。
Mem第一行是內(nèi)存的真實的使用情況,包含了已經(jīng)被分配的共享內(nèi)存、輸出緩沖區(qū)、緩存內(nèi)存等。
?-/+第二行最后一個數(shù)字就是實際的內(nèi)存剩余情況(包含了未使用的共享內(nèi)存、緩沖區(qū)、緩存) 第三行Swp交換空間內(nèi)存??梢栽趦?nèi)存不夠使用的情況下當臨時內(nèi)存來使用,交換分區(qū)并不是越大越好,一般話它就等同于實際內(nèi)存的大小。 T
otal 總大小???? ? ?used使用過的大小???????? ?Free 空閑的空間????????? Shared 共享內(nèi)存 Buffers 輸出緩沖區(qū)? ?Cached 緩存內(nèi)存 看實際剩余內(nèi)存只需要看648那個數(shù)字的位置即可,648≈460+25+160
4、head指令
作用:查看一個文件的前n行,如果不指定n,則默認顯示前10行。
?語法:#head -n 文件路徑 【n表示數(shù)字】
?案例:使用/root/install.log嘗試演練head指令,顯示前3行 #head -3 /root/install.log
案例:使用head不添加指定的行數(shù) 【默認顯示前10行】 #head /root/install.log
?5、tail指令
作用1:查看一個文件的末n行,如果n不指定默認顯示后10行
語法:#tail -n 文件的路徑 n同樣表示數(shù)字 案例:顯示install.log文件的最后5行和最后默認的十行 #tail -5 /root/install.log #tail /root/install.log 【默認顯示后10行】
?作用2:可以通過tail指令來查看一個文件的動態(tài)變化內(nèi)容【變化的內(nèi)容不能是用戶手動增加的】 語法:#tail -f 文件路徑 該命令一般用于查看系統(tǒng)的日志比較多。
案例:使用tail -f的語法查看/test.txt文件的動態(tài)變化情況(test.txt文件不存在) #touch /test.txt #tail -f /test.txt #free -m > /test.txt
注意:要想觀察到變化的效果,需要同時開啟兩個終端中去實踐,一個終端執(zhí)行tail -f,另外一個終端去執(zhí)行能夠讓文件內(nèi)容產(chǎn)生變化的指令。
?退出tail -f卡屏狀態(tài)可以按下ctrl+c鍵,在命令行中c不再表示copy,而表示cancel(終止)。
6、less指令(了解)
作用:查看文件,以較少的內(nèi)容進行輸出,按下輔助功能鍵(數(shù)字+回車、空格鍵+上下方向鍵)查看更多 空格是一頁一頁翻 上下鍵是一行一行翻 1是往下1行;10是往下10行 語法:#less 需要查看的文件路徑
案例:使用less指令查看/root/install.log 在退出的只需要按下q鍵(quit)即可(此時ctrl+c不好使)。
擴展: 從第 20 行開始顯示 testfile 之文檔內(nèi)容。 more +20 testfile Linux more 命令類似 cat ,不過會以一頁一頁的形式顯示,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vim 相似),使用中的說明文件,
7、wc指令(重點)
作用:統(tǒng)計文件內(nèi)容信息(包含行數(shù)、單詞數(shù)、字節(jié)數(shù)),wc = word count
語法:#wc -lwc 需要統(tǒng)計的文件路徑
?-l:表示lines,行數(shù)(以回車/換行符為標準)
?-w:表示words,單詞數(shù) 依照空格來判斷單詞數(shù)量
-c:表示char,字節(jié)數(shù)(空格,回車,換行)
選項的順序不影響輸出結(jié)果。
?8、date指令(重點)
作用:表示操作時間日期(讀取、設(shè)置)
語法1:#date 輸出的形式:2018年 3月 24日 星期六 15:54:28 CST
語法2:#date “+%F” (等價于#date “+%Y-%m-%d” ) 輸出形式:2018-03-24
語法3:#date “+%F %T” 引號表示讓“年月日與時分秒”成為一個不可分割的整體 等價操作#date “+%Y-%m-%d %H:%M:%S” 輸出的形式:2018-03-24 16:01:00
語法4:獲取之前或者之后的某個時間(備份)數(shù)據(jù)庫一般是1天備份一次 #date -d '-1 day' "+%Y-%m-%d %H:%M %S"
%F:表示完整的年月日,形如2018-12-31
%T:表示完整的時分秒,形如08:00:00
%Y:(year)表示四位年份
?%m:(month)表示兩位月份(帶前導(dǎo)0)
?%d:(day)表示日期(帶前導(dǎo)0)
?%H:(hour)表示小時(帶前導(dǎo)0)
?%M:(minute)表示分鐘(帶前導(dǎo)0)
%S:(second)表示秒數(shù)(帶前導(dǎo)0)
9、cal指令(了解)
作用:用來操作日歷的(只有1和3)
語法1:#cal 等價于 #cal -1 直接輸出當前月份的日歷
語法2:#cal -3 表示輸出上一個月+本月+下個月的日歷
語法3:#cal -y 年份數(shù)字 表示輸出某一個年份的日歷
10、clear/ctrl + L指令(實用)
作用:清除終端中已經(jīng)存在的命令和結(jié)果(信息)。
語法:#clear 或者快捷鍵
ctrl + L 需要注意的是,該命令并不是真的清除了之前的信息,而是把之前的信息的隱藏到了最上面,通過滾動條繼續(xù)查看以前的信息。
11、管道(重點、難點) 管道符:|
作用:管道一般可以用于“過濾”,“特殊”,“擴展處理”。
語法:管道不能單獨使用,必須需要配合前面所講的一些指令來一起使用,
其作用主要是輔助作用。 ①過濾
案例(100%使用):需要通過管道查詢出根目錄下包含“y”字母的文檔名稱。
?#ls / | grep “y” grep指令用于“過濾”
針對上面這個命令說明: ①以管道作為分界線,前面的命令有個輸出,后面需要先輸入(缺少查找范圍),然后再過濾,最后再輸出,通俗的講就是管道前面的輸出就是后面指令的輸入(前面的輸出就是后面指令的操作對象); (便于理解)上述的指令變相實現(xiàn)可以如下: #ls / > xxx.txt 將ls / 的結(jié)果保存到xxx.txt中 #grep “y” xxx.txt 使用grep指令搜索xxx.txt中的包含y的行 ②grep指令:主要用于過濾
語法:#grep [選項] “搜索關(guān)鍵詞” 搜索范圍
eg:ls / | grep "y"
②特殊用法案例:通過管道的操作方法來實現(xiàn)less的等價效果(了解)
?例如:源指令是“l(fā)ess xxx.txt”使用管道的話則可以寫成: cat xxx.txt | less 之前通過less查看一個文件,可以#less 路徑 現(xiàn)在通過管道還可以這么:#cat 路徑|less
?③擴展處理:請使用學(xué)過的命令,來統(tǒng)計某個目錄下的文檔的總個數(shù)? 例如:需要統(tǒng)計“/”下的文檔的個數(shù)??? #ls / | wc -l
二、高級指令
1、hostname指令
作用:操作服務(wù)器的主機名(讀取、設(shè)置)
語法1:#hostname 主機名.完整域名
語法2:#hostname -f 全限定域名(FQDN),
2、id指令
作用:查看一個用戶的一些基本信息(包含用戶id,用戶組id,附加組id…),該指令如果不指定用戶則默認當前用戶。
語法1:#id 默認顯示當前執(zhí)行該命令的用戶的基本信息
語法2:#id 用戶名 顯示指定用戶的基本信息
驗證上述信息是否正確? 驗證用戶信息:通過文件/etc/passwd 驗證用戶組信息:通過文件/etc/group
3、whoami指令
?作用:“我是誰?”顯示當前登錄的用戶名,一般用于shell腳本,用于獲取當前操作的用戶名方便記錄日志。
語法:#whoami
4、ps -ef指令(重點) Windows7打開服務(wù)管理器;C:\Windows\system32\taskmgr.exe 指令:ps 【process show】
作用:主要是查看服務(wù)器的進程信息
選項含義: -e:等價于“-A”,表示列出全部的進程
-f:表示full,顯示全部的列(顯示全字段)
執(zhí)行結(jié)果: #ps -ef
列的含義:
?UID:該進程執(zhí)行的用戶id;??????????????????? PID:進程id;
?PPID:該進程的父級進程id,如果一個程序的父級進程找不到,該程序的進程稱之為僵尸進程(parent process ID);
?C:Cpu的占用率,其形式是百分數(shù);???????????????????? ?STIME:進行的啟動時間; ?TTY:終端設(shè)備,發(fā)起該進程的設(shè)備識別符號,如果顯示“?”則表示該進程并不是由終端設(shè)備發(fā)起;???????
TIME:進程的執(zhí)行時間;
CMD:該進程的名稱或者對應(yīng)的路徑;
?案例:(100%使用的命令)在ps的結(jié)果中過濾出想要查看的進程狀態(tài)“crond”進程 #ps -ef|grep “進程名稱” 注意查詢結(jié)果:其中如果只有一條則表示沒查到對應(yīng)的進程(這1條表示剛才ps指令的自身)。只有查到的結(jié)果多余1條,才表示有對應(yīng)的進程。
?補充:針對上述情況的優(yōu)化:如果沒有對應(yīng)的進程,則什么都不顯示。 思路:在現(xiàn)有的基礎(chǔ)之上再次使用管道去處理下(-v選項表示“排除”)。
?# ps -ef | grep “crond” | grep -v “grep” 再例如查看火狐瀏覽器的進程:
5、top指令(重點)
作用:查看服務(wù)器的進程占的資源(100%使用)
語法: 進入命令:#top (動態(tài)顯示) 退出命令:按下q鍵
輸出的結(jié)果: 表頭含義:
?PID:進程id;??????????????????????????????????????? USER:該進程對應(yīng)的用戶;
?PR:優(yōu)先級;最高的RT???????????????????????? VIRT:虛擬內(nèi)存;
RES:常駐內(nèi)存;????????????????????????????????? ?SHR:共享內(nèi)存;
?計算一個進程實際使用的內(nèi)存 = 常駐內(nèi)存(RES)- 共享內(nèi)存(SHR)
?S:表示進程的狀態(tài)status(sleeping,其中S表示睡眠,R表示運行);
%CPU:表示CPU的占用百分比;
%MEM:表示內(nèi)存的占用百分比;?
TIME+:執(zhí)行的時間;??????????????????????????? ?COMMAND:進程的名稱或者路徑;
?在運行top的時候,可以按下方便的快捷鍵:
?M:表示將結(jié)果按照內(nèi)存(MEM)從高到低進行降序排列;
P:表示將結(jié)果按照CPU使用率從高到低進行降序排列;
1:當服務(wù)器擁有多個cpu的時候可以使用“1”快捷鍵來切換是否展示顯示各個cpu的詳細信息; Top 表示當前指令 時間 up 當前計算機運行時間 活躍用戶 負載情況 壓力情況 Tasks表示任務(wù)數(shù) runnering運行 sleeping休眠 stopped停止 zombie僵尸進程(未響應(yīng))
?6、du -sh指令
?作用:查看目錄的真實大小
語法:#du -sh 目錄路徑
選項含義: -s:summaries,只顯示匯總的大小
?-h:表示以高可讀性的形式進行顯示
案例:統(tǒng)計“/root”目錄的實際大小 #du -sh /root 案例:統(tǒng)計“/etc”目錄實際大小 #du -sh /etc
作者:白色襯衫_f48d
鏈接:http://www.itdecent.cn/p/8122074d7d2f
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。