新聞中心
### 深入探究 linux 執(zhí)行路徑,解密程序運(yùn)行機(jī)制

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、重慶小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了鎮(zhèn)海免費(fèi)建站歡迎大家使用!
Linux 系統(tǒng)的解釋器是 Bash,在每次運(yùn)行程序之前,都會(huì)經(jīng)過(guò)一系列的查找過(guò)程,確定最終執(zhí)行程序的路徑。那么,linux 執(zhí)行路徑是什么?下面,我們就來(lái)深入探究。
首先,程序運(yùn)行需要先搜索 PATH 變量里面的路徑,才能定位程序的位置。我們可以使用 `echo $PATH` 來(lái)查看 PATH 變量的值,默認(rèn)的路徑包括 “/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin”,系統(tǒng)會(huì)在這些路徑里面搜索程序,如果在 PATH 變量里面沒(méi)有找到,就會(huì)繼續(xù)往下處理;
其次,系統(tǒng)會(huì)檢查程序的后綴名,看是否有匹配 /etc/shells 中列出的解釋器。例如,程序有 .sh 后綴,那么系統(tǒng)會(huì)檢查 /etc/shells 文件中是否找到 /bin/bash,并使用它作為解釋器;
同時(shí),程序還會(huì)檢查執(zhí)行文件的完整路徑,看是否有匹配 /etc/shells 中列出的解釋器。例如,執(zhí)行文件可能是 /usr/bin/foo,那么系統(tǒng)會(huì)檢查 /etc/shells 文件中是否找到 /bin/bash,來(lái)執(zhí)行它;
最后,如果上面的查找沒(méi)有找到合適的路徑,就會(huì)采用“自動(dòng)查找”的方式,查找每個(gè)目錄中的內(nèi)置文件,并查看文件里面是否定義了程序的執(zhí)行路徑。這一步完成之后,文件的路徑就確定下來(lái)了,系統(tǒng)會(huì)開(kāi)始載入文件的內(nèi)容,并運(yùn)行程序,這就是 Linux 程序運(yùn)行機(jī)制。
總而言之,Linux 系統(tǒng)在每次運(yùn)行程序之前,都會(huì)經(jīng)過(guò)一系列的查找過(guò)程,確定最終執(zhí)行程序的路徑,查找原理如下:1、PATH 變量 2、程序的后綴 3、文件的完整路徑 4、自動(dòng)查找。
明白了 Linux 執(zhí)行路徑,我們就可以輕松的知道程序的運(yùn)行流程,追蹤某個(gè)程序的正確執(zhí)行路徑,以及定位、修正程序的正確性。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
文章名稱:深入探究Linux執(zhí)行路徑,解密程序運(yùn)行機(jī)制(linux執(zhí)行路徑)
當(dāng)前路徑:http://fisionsoft.com.cn/article/codosoo.html


咨詢
建站咨詢
