FHS文件系統(tǒng)層級結(jié)構(gòu)標(biāo)準(zhǔn),我們?yōu)槭裁匆欢ㄒ饛倪@個(gè)標(biāo)準(zhǔn),為啥windows沒這個(gè)標(biāo)準(zhǔn)?因?yàn)閣indows有注冊列表這個(gè)東西,可以幫助windows定位程序的位置。而linux沒有注冊列表,那我們怎么找到我們的運(yùn)行程序。嗯,我們定義一個(gè)標(biāo)準(zhǔn)的安裝程序的目錄,程序的各個(gè)部件的安放位置。
怎么定義呢?
/boot 安放引導(dǎo)程序
/lib 安放32位的庫文件
/lib64 安裝64位的庫文件
/bin 可執(zhí)行文件
/etc 配置文件的目錄
/dev 設(shè)備文件的位置
/usr 一些大的程序安放位置
/usr/local 一般用來放編譯程序
/usr/bin 可執(zhí)行文件
/usr/share/man man文檔
/var 系統(tǒng)運(yùn)行的臨時(shí)文件和日志和部分程序數(shù)據(jù)存放位置
/srv 服務(wù)程序的數(shù)據(jù)文件
/proc 偽文件,內(nèi)存把可配置的部分模擬成文件
/sys 新的內(nèi)存模擬文件
/tmp 垃圾文件
這比windows那種安放文件更適合系統(tǒng)管理員,這樣文件的權(quán)限更好管理,因?yàn)轭愃频奈募谕荒夸浵?,大程度把同種屬性的文件放在了同一目錄下了,更方便權(quán)限限定。
Note:微服務(wù)盛行的今天,個(gè)人感覺windows管理文件的方式更加適合服務(wù)器,因?yàn)槊總€(gè)服務(wù)器只運(yùn)行一個(gè)服務(wù),這個(gè)服我們更有可能編譯安裝軟件,大程度壓榨計(jì)算機(jī)的計(jì)算資源,編譯安裝就有一個(gè)特點(diǎn)了,程序所需要的文件都會在同一目錄下。
在命令行里我敲一個(gè)命令,為什么會那么快回復(fù)我們結(jié)果,bash是怎么找到命令的?我介紹一下bash查找到命令的過程。
首先我們要明白一個(gè)道理,bash運(yùn)行時(shí)他已經(jīng)全部了內(nèi)存中。這時(shí),當(dāng)bash接受到一個(gè)命令,bash就像一個(gè)人一樣,首先看自己人有沒有符合條件的查看自己中內(nèi)嵌的函數(shù),有就調(diào)用沒有再去找那些非自己人的人;這時(shí)外部命令開始競爭這個(gè)位置,人那么多我們選哪一個(gè),當(dāng)然選和我們關(guān)系比較近的,好,我們在$PATH定義和我親疏關(guān)系,不在親疏關(guān)系中的人,堅(jiān)決不能用,萬一老宋來到我們身邊多么危險(xiǎn)。
親疏關(guān)系一般都分為好幾層吧,嗯,我們定義了$PATH多個(gè)選人路徑,執(zhí)行如下命令查看$PATH的調(diào)用順序,優(yōu)先級是從前到后調(diào)用:
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
還有alias,這個(gè)更了不得了,就像黨校校長一定是下一代領(lǐng)導(dǎo)人。它的優(yōu)先級比內(nèi)部命令還要高??偨Y(jié)一下,命令執(zhí)行時(shí)的順序是alias->內(nèi)建命令->外部命令。
富二代總是圍繞在我們周圍,官二代更是NB,人家根本不和在等級中,天生清華北大已經(jīng)為他們留下了位置,既然我們不可能是二代了,那我們就開宗立派成為一代目。Linux也是這樣,linux中有一個(gè)hash機(jī)制,當(dāng)我們執(zhí)行過一個(gè)命令后,bash就會把我們執(zhí)行程序的路徑保存下來。
執(zhí)行bash命令查看已經(jīng)緩存的命令:
# hash
hits command
1 /usr/bin/tty
1 /usr/bin/abrt-cli
1 /usr/bin/date
1 /usr/bin/mv
1 /usr/bin/mkdir
這個(gè)命令的執(zhí)行結(jié)果每個(gè)人可能不一樣,以上是我執(zhí)行hash命令的結(jié)果。既然是緩存,那么就會有問題,為啥?因?yàn)榫徑饷芎竺苓€是存在,只是被包上糖衣,糖吃到一半一定會劃到嘴。
當(dāng)我執(zhí)行的命令變了位置,而緩存沒有變,就會找不到命令,怎么辦,涼拌。自己手動刪除緩存。
hash –d Name 刪除一條緩存
hash –r Name 清除緩存
Note:這里的Name是命令的別名.
現(xiàn)在很多瀏覽器都會記錄瀏覽記錄,還有更過分的,可以聯(lián)網(wǎng)查找自己更早的歷史記錄,這就很可怕了,我們的行為都被記錄了,我們還刪除不了。Google的人工智能就用這些數(shù)據(jù)訓(xùn)練機(jī)器,現(xiàn)在走在人工智能最前列的不是搞了alphago的google,而是ibm,當(dāng)alphago還在努力賺足眼球的時(shí)候,ibm的沃森已經(jīng)幫騰訊賺了好幾筆錢了,每年世界杯騰訊都有沃森對每場比賽進(jìn)行分析,合理的投放廣告,會員收費(fèi)。NBA大家都很熟悉吧,有家機(jī)構(gòu)開始使用沃森安排每個(gè)球員每天的訓(xùn)練量。舉個(gè)例子詹姆斯的一天,詹姆斯今天需要回家看望奶奶,沃森就會幫詹姆斯買的飛機(jī)和車票,然后根據(jù)詹姆斯肌肉狀態(tài)和今天的運(yùn)動的類型安排他的三餐,并且給詹姆斯安排起程前需要做的訓(xùn)練都有哪些,然后評估詹姆斯回家這幾天,鍛煉量可能會下降,就會安排一個(gè)教練隨行以保證它的訓(xùn)練量還有一下球員比賽之后必須要做某些運(yùn)動才有繼續(xù)訓(xùn)練的動力,這也被列入沃森的計(jì)算中,并且規(guī)定可以去的范圍,大程度保護(hù)球員的安全,23333。要不球員不比賽后大多都很快破產(chǎn),因?yàn)槲稚瓫]了(陰謀論一波)。Linux中也有個(gè)人工智能history。
直接執(zhí)行history命令就會顯示當(dāng)前系統(tǒng)全部的命令歷史
假如我們沒有正常退出終端History不會保存我們的命令歷史,因?yàn)槲覀儓?zhí)行命令時(shí),命令歷史會默認(rèn)保存在內(nèi)存中,并且在$HISTSIZE中設(shè)定內(nèi)存保存命令歷史的條數(shù),在$HISTFILESIZE指定命令保存文件中保留的條數(shù)。
有了命令歷史,我們就可以輕易調(diào)用上一條命令:
?。?nbsp; 執(zhí)行上一條命令
!# 執(zhí)行第#條命令
History–c 清空命令歷史
History–a 把命令歷史中的命令保存到文件中
除此之外,我們在用戶家目錄中.history定義保存歷史的格式
HISTSIZE:命令歷史記錄的條數(shù)
HISTFILE:指定歷史文件,默認(rèn)為~/.bash_history
HISTFILESIZE:命令歷史文件記錄歷史的條數(shù)
HISTTIMEFORMAT=“%F%T“ 顯示時(shí)間
HISTIGNORE=“str1:str2:…“ 忽略string1,string2歷史,這里支持glob
控制命令歷史的記錄方式:
環(huán)境變量: HISTCONTROL
ignoredups 默認(rèn),忽略重復(fù)的命令,連續(xù)且相同為“重復(fù)”
ignorespace 忽略所有以空白開頭的命令
ignorebothignoredups, ignorespace
erasedups 刪除重復(fù)命令
有事沒事按table,按按更健康。
Ctrl+c 強(qiáng)行打斷命令的執(zhí)行
Ctrl+d 打斷命令執(zhí)行
Ctrl+l 清屏
Ctrl+z 把命令進(jìn)程放到后臺執(zhí)行
Ctrl+a 把光標(biāo)移至行首
Ctrl+e 把光標(biāo)移至行尾
Ctrl+k 刪除光標(biāo)后面的字符
Ctrl+u 刪除光標(biāo)前的字符
bash調(diào)用命令順序alias->內(nèi)建命令->外部命令。Bash用hash緩存命令執(zhí)行路徑,用history記錄命令歷史,命令歷史是保存內(nèi)存中的,我們退出終端時(shí)命令歷史保存到文件中,bash還有一些快捷鍵。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文題目:4FHS和bash-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://www.rwnh.cn/article28/hdccp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、企業(yè)建站、關(guān)鍵詞優(yōu)化、網(wǎng)站制作、網(wǎng)站導(dǎo)航、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容