我們等的不是什么人减宣、什么事萝招,我們等的是時(shí)間反症,等時(shí)間,讓自己改變扣癣。
關(guān)鍵字: history惰帽、bash、幫助命令
1. history命令
GNU history 命令保存了從該終端會(huì)話(huà)運(yùn)行的所有其他命令的列表父虑,然后允許你重放或者重用這些命令;
注:如想查詢(xún)某個(gè)用戶(hù)在系統(tǒng)上執(zhí)行了什么命令该酗,可以使用root用戶(hù)身份登錄系統(tǒng),檢查Home目錄下的用戶(hù)主目錄下的“.bash_history”文件士嚎,該文件記錄了用戶(hù)所使用的命令和歷史信息呜魄。
語(yǔ)法:
history(選項(xiàng))(參數(shù))
選項(xiàng)
history #查看歷史執(zhí)行記錄
-N: 顯示歷史記錄中最近的N個(gè)記錄;
-c:清空當(dāng)前歷史命令莱衩;
-a:將歷史命令緩沖區(qū)中命令寫(xiě)入歷史命令文件中爵嗅;
-r:將歷史命令文件中的命令讀入當(dāng)前歷史命令緩沖區(qū);
-w:將當(dāng)前歷史命令緩沖區(qū)命令寫(xiě)入歷史命令文件中;
-d<offset>:刪除歷史記錄中第offset個(gè)命令
-n<filename>:讀取指定文件
參數(shù):
n:打印最近的n條歷史命令笨蚁。
1. 查看每條歷史命令執(zhí)行的時(shí)間
[root@zcwyou ~]# export HISTTIMEFORMAT='%F %T '
[root@zcwyou ~]# history
2. 使用Ctrl+R搜索歷史命令睹晒;Ctrl+G推出搜索;
比如括细,曾經(jīng)執(zhí)行過(guò)這樣的命令
gzip -t 10M.txt.gz
使用Ctrl+R后輸入10M伪很,可以直接重新執(zhí)行該命令。如果要修改指令奋单,可以使用方向鍵右鍵
3. 重復(fù)執(zhí)行上一條命令
用方向鍵向上鍵查看上條命令锉试,按回車(chē)執(zhí)行;
在命令行中輸入!!并按回車(chē)览濒;
在命令行中輸入!-1并按回車(chē)呆盖;
按Ctrl+P顯示上條命令,按回車(chē)執(zhí)行贷笛;
?要重新調(diào)用前一個(gè)命令中最后一個(gè)參數(shù):
!$ 表示
Esc, .(點(diǎn)擊Esc鍵后松開(kāi)应又,然后點(diǎn)擊 . 鍵)
Alt+ .(按住Alt鍵的同時(shí)點(diǎn)擊 . 鍵)
4. 根據(jù)序號(hào)重復(fù)執(zhí)行某命令:
先查看序號(hào)
[root@zcwyou ~]# history
看到輸出結(jié)果中的某命令:
683 2018-11-10 02:00:36 dd if=/dev/zero of=zcwyou.txt bs=1M count=15
然后重復(fù)執(zhí)行該命令: [root@zcwyou ~]# !683
2. Bash——Linux的解釋器
2.1 Bash 是什么?
Bash,即 Bourne Again SHell昨忆,顧名思義它是和 Shell 有關(guān)的丁频。Shell是一個(gè)程序,就像你在 Windows 里面經(jīng)常按的 cmd 一樣邑贴,你可以在里面輸入命令運(yùn)行席里,或者自己寫(xiě)一個(gè)腳本然后讓 Shell 讀取里面的命令運(yùn)行。
Shell 實(shí)際上不只是一個(gè)程序拢驾。它原先只是一個(gè)用 C 寫(xiě)成的程序奖磁,現(xiàn)在同樣也代表一種腳本語(yǔ)言。而作為腳本語(yǔ)言繁疤,Shell 就需要解釋器咖为,一般來(lái)說(shuō) Linux 默認(rèn)的解釋器就是 Bash秕狰,不管是從命令行中直接輸入的命令還是腳本的命令,都需要經(jīng)過(guò) Bash 的解釋才能運(yùn)行躁染。
2.2 Bash 的功能
1鸣哀、命令記錄歷史:Bash 可以記錄曾經(jīng)輸入過(guò)的命令,保存在~/.bash_history 文件中吞彤。
2我衬、tab 鍵自動(dòng)補(bǔ)全:使用 tab 鍵可以自動(dòng)補(bǔ)全命令或者目錄。
3饰恕、alias 命令別名:可以使用 alias ll=’ls -al’ 來(lái)設(shè)置命令的別名挠羔。
4、工作控制:可以將某些任務(wù)放在后臺(tái)去運(yùn)行埋嵌。
5破加、程序腳本:可以執(zhí)行 shell 腳本文件 bash Miniconda3-latest-Linux-x86_64.sh
6、通配符:除了完整的字符串之外雹嗦, Bash 還支持許多的通配符來(lái)幫助用戶(hù)查詢(xún)與命令下達(dá)范舀。
bashrc修改
vi ~/.bashrc
bashrc 使用方法:
如果是vi,則:Esc 退出編輯模式了罪,輸入以下命令:
:wq 保存后退出vi尿背,若為 :wq! 則為強(qiáng)制儲(chǔ)存后退出(常用)
:w 保存但不退出(常用)
:w! 若文件屬性為『只讀』時(shí),強(qiáng)制寫(xiě)入該檔案
:q 離開(kāi) vi (常用)
:q! 若曾修改過(guò)檔案捶惜,又不想儲(chǔ)存,使用 ! 為強(qiáng)制離開(kāi)不儲(chǔ)存檔案荔烧。
:e! 將檔案還原到最原始的狀態(tài)吱七!
每次修改.bashrc后,使用source 搜索~/.bashrc(或者 . ~/.bashrc)就可以立刻加載修改后的設(shè)置鹤竭,使之生效踊餐。
刷新
source ~/.bashrc^C
3. 幫助命令
3.1 whereis
whereis默認(rèn)情況下,會(huì)輸出二進(jìn)制文件和幫助文檔等路徑信息臀稚。
[root@zcwyou ~]# whereis bzip2
bzip2: /usr/bin/bzip2 /usr/share/man/man1/bzip2.1.gz
whereis選項(xiàng)
-b 指定可執(zhí)行文件(二進(jìn)制文件)
-m 指定幫助文件位置
-s 指定源碼文件
-u 指定其他文件吝岭,除了二進(jìn)制文件,幫助文件和源碼文件
-B 指定可執(zhí)行文件的路徑
-M 指定幫助文件的路徑
-S 指定搜索源代碼文件的路徑
whereis -m wget
wget: /usr/share/man/man1/wget.1.gz
3.2 區(qū)分內(nèi)部命令和外部命令
type:用來(lái)顯示指定命令的類(lèi)型吧寺,判斷給出的指令是內(nèi)部指令還是外部指令窜管。
內(nèi)部命令在系統(tǒng)啟動(dòng)時(shí)就調(diào)入內(nèi)存,是常駐內(nèi)存的稚机,所以執(zhí)行效率高幕帆。
外部命令是系統(tǒng)的軟件功能,用戶(hù)需要時(shí)才從硬盤(pán)中讀入內(nèi)存赖条。
內(nèi)部命令獲取幫助信息:#help COMMAND
外部命令獲取幫助信息:
(1)使用手冊(cè)(manual):#man COMMAND
存放路徑:/usr/share/man
(2)#COMMAND –help 或者#COMMAND -h
(3)信息頁(yè):#info COMMAND
(4)程序自身的幫助文檔:README/INSTALL/ChangeLog
(5)程序官方文檔:Documentation
(6)發(fā)行版的官方文檔
(7)Google
man章節(jié)內(nèi)容
1使用者在shell中可以操作的指令或可執(zhí)行檔
2系統(tǒng)核心可呼叫的函數(shù)與工具等
3一些常用的函數(shù)(function)與函數(shù)庫(kù)(library)失乾,大部分是C的函數(shù)庫(kù)(libc)
4裝置檔案的說(shuō)明常熙,通常在/dev下的檔案
5設(shè)定檔或者是某些檔案的格式
6游戲(games)
7慣例與協(xié)定等,例如Linux檔案系統(tǒng)碱茁、網(wǎng)絡(luò)協(xié)定裸卫、ASCII code等等的說(shuō)明
8系統(tǒng)管理員可用的管理指令
9跟kernel有關(guān)的文件(CentOS7以后出現(xiàn))
man 文件布局
3.3 Info
info命令是Linux下info格式的幫助指令。描述的比手冊(cè)頁(yè)更加熟悉纽竣,info是man的補(bǔ)充(info 命令)
man命令墓贿,拿來(lái)查手冊(cè),man是分章節(jié)的退个,分1到8個(gè)章節(jié)募壕,每個(gè)章節(jié)所描述的內(nèi)容都是不同的 (man 命令)
總結(jié):
1、[命令] —help 適用于一般的命令语盈,非內(nèi)置命令
2舱馅、man [命令] 適用于一般命令,非內(nèi)置命令
3刀荒、help [命令] 適用于內(nèi)置命令
4代嗤、info命令
5、man命令