4FHS和bash-創(chuàng)新互聯(lián)

1FHS的基本概念

      FHS文件系統(tǒng)層級(jí)結(jié)構(gòu)標(biāo)準(zhǔn),我們?yōu)槭裁匆欢ㄒ饛倪@個(gè)標(biāo)準(zhǔn),為啥windows沒(méi)這個(gè)標(biāo)準(zhǔn)?因?yàn)閣indows有注冊(cè)列表這個(gè)東西,可以幫助windows定位程序的位置。而linux沒(méi)有注冊(cè)列表,那我們?cè)趺凑业轿覀兊倪\(yùn)行程序。嗯,我們定義一個(gè)標(biāo)準(zhǔn)的安裝程序的目錄,程序的各個(gè)部件的安放位置。

成都創(chuàng)新互聯(lián)主營(yíng)辛集網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開(kāi)發(fā),辛集h5微信平臺(tái)小程序開(kāi)發(fā)搭建,辛集網(wǎng)站營(yíng)銷(xiāo)推廣歡迎辛集等地區(qū)企業(yè)咨詢

      怎么定義呢?

/boot                                       安放引導(dǎo)程序

/lib                                          安放32位的庫(kù)文件

/lib64                                      安裝64位的庫(kù)文件

/bin                                         可執(zhí)行文件

/etc                                          配置文件的目錄

/dev                                                設(shè)備文件的位置

/usr                                         一些大的程序安放位置

      /usr/local                         一般用來(lái)放編譯程序

      /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)轭?lèi)似的文件在同一目錄下,大程度把同種屬性的文件放在了同一目錄下了,更方便權(quán)限限定。

Note:微服務(wù)盛行的今天,個(gè)人感覺(jué)windows管理文件的方式更加適合服務(wù)器,因?yàn)槊總€(gè)服務(wù)器只運(yùn)行一個(gè)服務(wù),這個(gè)服我們更有可能編譯安裝軟件,大程度壓榨計(jì)算機(jī)的計(jì)算資源,編譯安裝就有一個(gè)特點(diǎn)了,程序所需要的文件都會(huì)在同一目錄下。

2bash與人機(jī)交互特性

1)bash使用命令的流程

在命令行里我敲一個(gè)命令,為什么會(huì)那么快回復(fù)我們結(jié)果,bash是怎么找到命令的?我介紹一下bash查找到命令的過(guò)程。

首先我們要明白一個(gè)道理,bash運(yùn)行時(shí)他已經(jīng)全部了內(nèi)存中。這時(shí),當(dāng)bash接受到一個(gè)命令,bash就像一個(gè)人一樣,首先看自己人有沒(méi)有符合條件的查看自己中內(nèi)嵌的函數(shù),有就調(diào)用沒(méi)有再去找那些非自己人的人;這時(shí)外部命令開(kāi)始競(jìng)爭(zhēng)這個(gè)位置,人那么多我們選哪一個(gè),當(dāng)然選和我們關(guān)系比較近的,好,我們?cè)?PATH定義和我親疏關(guān)系,不在親疏關(guān)系中的人,堅(jiān)決不能用,萬(wàn)一老宋來(lái)到我們身邊多么危險(xiǎn)。

親疏關(guān)系一般都分為好幾層吧,嗯,我們定義了$PATH多個(gè)選人路徑,執(zhí)行如下命令查看$PATH的調(diào)用順序,優(yōu)先級(jí)是從前到后調(diào)用:

# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

還有alias,這個(gè)更了不得了,就像黨校校長(zhǎng)一定是下一代領(lǐng)導(dǎo)人。它的優(yōu)先級(jí)比內(nèi)部命令還要高??偨Y(jié)一下,命令執(zhí)行時(shí)的順序是alias->內(nèi)建命令->外部命令。

2)Hash命令路徑緩存

富二代總是圍繞在我們周?chē)?,官二代更是NB,人家根本不和在等級(jí)中,天生清華北大已經(jīng)為他們留下了位置,既然我們不可能是二代了,那我們就開(kāi)宗立派成為一代目。Linux也是這樣,linux中有一個(gè)hash機(jī)制,當(dāng)我們執(zhí)行過(guò)一個(gè)命令后,bash就會(huì)把我們執(zhí)行程序的路徑保存下來(lái)。

執(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é)果。既然是緩存,那么就會(huì)有問(wèn)題,為啥?因?yàn)榫徑饷芎竺苓€是存在,只是被包上糖衣,糖吃到一半一定會(huì)劃到嘴。

當(dāng)我執(zhí)行的命令變了位置,而緩存沒(méi)有變,就會(huì)找不到命令,怎么辦,涼拌。自己手動(dòng)刪除緩存。

hash –d Name                 刪除一條緩存

hash –r Name                 清除緩存

Note:這里的Name是命令的別名.

3)history命令歷史

      現(xiàn)在很多瀏覽器都會(huì)記錄瀏覽記錄,還有更過(guò)分的,可以聯(lián)網(wǎng)查找自己更早的歷史記錄,這就很可怕了,我們的行為都被記錄了,我們還刪除不了。Google的人工智能就用這些數(shù)據(jù)訓(xùn)練機(jī)器,現(xiàn)在走在人工智能最前列的不是搞了alphago的google,而是ibm,當(dāng)alphago還在努力賺足眼球的時(shí)候,ibm的沃森已經(jīng)幫騰訊賺了好幾筆錢(qián)了,每年世界杯騰訊都有沃森對(duì)每場(chǎng)比賽進(jìn)行分析,合理的投放廣告,會(huì)員收費(fèi)。NBA大家都很熟悉吧,有家機(jī)構(gòu)開(kāi)始使用沃森安排每個(gè)球員每天的訓(xùn)練量。舉個(gè)例子詹姆斯的一天,詹姆斯今天需要回家看望奶奶,沃森就會(huì)幫詹姆斯買(mǎi)的飛機(jī)和車(chē)票,然后根據(jù)詹姆斯肌肉狀態(tài)和今天的運(yùn)動(dòng)的類(lèi)型安排他的三餐,并且給詹姆斯安排起程前需要做的訓(xùn)練都有哪些,然后評(píng)估詹姆斯回家這幾天,鍛煉量可能會(huì)下降,就會(huì)安排一個(gè)教練隨行以保證它的訓(xùn)練量還有一下球員比賽之后必須要做某些運(yùn)動(dòng)才有繼續(xù)訓(xùn)練的動(dòng)力,這也被列入沃森的計(jì)算中,并且規(guī)定可以去的范圍,大程度保護(hù)球員的安全,23333。要不球員不比賽后大多都很快破產(chǎn),因?yàn)槲稚瓫](méi)了(陰謀論一波)。Linux中也有個(gè)人工智能history。

      直接執(zhí)行history命令就會(huì)顯示當(dāng)前系統(tǒng)全部的命令歷史

      假如我們沒(méi)有正常退出終端History不會(huì)保存我們的命令歷史,因?yàn)槲覀儓?zhí)行命令時(shí),命令歷史會(huì)默認(rèn)保存在內(nèi)存中,并且在$HISTSIZE中設(shè)定內(nèi)存保存命令歷史的條數(shù),在$HISTFILESIZE指定命令保存文件中保留的條數(shù)。

      有了命令歷史,我們就可以輕易調(diào)用上一條命令:

      ??!                     執(zhí)行上一條命令

      !#                     執(zhí)行第#條命令

      History–c         清空命令歷史

      History–a          把命令歷史中的命令保存到文件中

      除此之外,我們?cè)谟脩艏夷夸浿?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 忽略所有以空白開(kāi)頭的命令

ignorebothignoredups, ignorespace

erasedups 刪除重復(fù)命令

4)bash的一下常用的快捷鍵

      有事沒(méi)事按table,按按更健康。

      Ctrl+c          強(qiáng)行打斷命令的執(zhí)行

      Ctrl+d         打斷命令執(zhí)行

      Ctrl+l          清屏

      Ctrl+z          把命令進(jìn)程放到后臺(tái)執(zhí)行

      Ctrl+a         把光標(biāo)移至行首

      Ctrl+e         把光標(biāo)移至行尾

Ctrl+k         刪除光標(biāo)后面的字符

Ctrl+u         刪除光標(biāo)前的字符

3總結(jié)

      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元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文題目:4FHS和bash-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)源:http://bm7419.com/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)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司