Linux小知識翻譯-「路徑設定」
這次聊聊路徑的使用,這裡的路徑是「命令搜尋路徑」的簡稱。
在Linux上執行命令的時候,本來是需要命令的所在位置的絕對路徑的,就像「/usr/bin/passwd」這樣。
但是,對於經常使用的命令,如果每次都要輸入絕對路徑的話就非常麻煩了。
在Linux的Shell中,執行某個命令時,使用者不用輸入命令的完整路徑,直接輸入命令後,系統會在特定的目錄中查詢這個命令,找到後執行。
這時,設定Shell在哪些目錄中搜尋命令的步驟就被稱為「路徑設定」,正確的應該是「命令搜尋路徑的設定」
為了設定路徑,需要修改環境變數「PATH」,每個希望搜尋的目錄之間用「:」區分開。
設定方法就是用 [[16. 「環境變數」]] 介紹的「export」命令,比如,想把「/usr/sample」這個路徑加入到命令搜尋路徑中去的話,
$ export PATH=$PATH:/usr/sample
在Linux中,當前目錄並不在命令搜尋路徑中,因此,比如想執行當前目錄下的「hogehoge.cmd」命令,必須要通過「./hogehoge.cmd」來執行。
雖然有些麻煩,但是把當前目錄加入到命令搜尋路徑中的話,會帶來一些安全問題,所以不建議把當前目錄加入到「PATH」中。
首先,安全的大原則就是「不要把多餘的目錄加到命令搜尋目錄中」。而且,過多的目錄加到命令搜尋目錄中的話,那麼如果有2個目錄中都有「ps」這個檔案,使用者輸入「ps」的時候,究竟哪個「ps」會被執行呢?
這就會導致混亂。(實際上,會按PATH中定義的目錄的順序來搜尋命令的,這2個目錄誰在前面,就執行哪個目錄中的「ps」。雖然如此,這種情況還是會給使用者帶來困擾)
剛剛說的如果把當前目錄加入到 PATH 中會導致什麼後果呢?
極端的情況下,幾乎所有的目錄都有可能變成當前目錄(因為使用者有可能進入任何一個目錄)。這就導致幾乎所有的目錄都有可能稱為命令搜尋路徑。
這樣的情況下,不僅僅會帶來混亂,如果某個目錄下被放置了惡意程式,由於這個目錄有可能在命令搜尋路徑中(當使用者進入這個目錄時),所以使用者無意中執行這個惡意程式的機會會很高。
通常,一般使用者能夠進出哪些目錄是被限制的,系統會保證這些目錄不在 PATH 中,一旦使用者可以進出的這些目錄被加入到 PATH 中,那麼惡意程式執行時所帶來的風險也會大大增加。
命令搜尋路徑不能為了使用方便而任意指定,首先要確保目錄的安全性,然後再考慮是否追加到命令搜尋路徑中。
本文轉自wang_yb部落格園部落格,原文連結:http://www.cnblogs.com/wang_yb/p/3784844.html,如需轉載請自行聯絡原作者
相關文章
- 20200218 - 路徑知識
- linux ubuntu終端路徑顯示設定LinuxUbuntu
- 【MFC】BROWSEINFO設定路徑,支援記憶上次路徑
- 翻譯 - ASP.NET Core 基本知識 - 配置(Configuration)ASP.NET
- 怎麼設定jupyter路徑?
- Linux網路設定Linux
- 翻譯:Linux and the Device TreeLinuxdev
- Android小知識-定時任務ScheduledThreadPoolExecutorAndroidthread
- 百度翻譯app怎麼調整置語音速度? 百度翻譯設定翻譯速度的教程APP
- 【Linux知識】7個常用的Linux網路命令!Linux
- ASM 翻譯系列第十一彈:高階知識 Offline or drop?ASM
- 前端工程基礎知識點--Browserslist (基於官方文件翻譯)前端
- 前端工程基礎知識點–Browserslist (基於官方文件翻譯)前端
- 翻譯 - ASP.NET Core 基本知識 - 通用主機 (Generic Host)ASP.NET
- 翻譯 - ASP.NET Core 基本知識 - Web 主機 (Web Host)ASP.NETWeb
- 直譯器設計模式知識概括設計模式
- 第四期知識與認知圖譜:神經機器翻譯也應該嵌入「知識」
- java配置檔案設定絕對路徑Java
- 設定 Windows Terminal 中 Ubuntu 預設開啟路徑WindowsUbuntu
- ASM 翻譯系列第十三彈:ASM 高階知識 - Forcing the issueASM
- linux 知識Linux
- 【Linux小知識】在排除網路故障時,這些命令一定要會!Linux
- 【知識分享】linux系統設定環境變數是怎樣的Linux變數
- 程式設計=翻譯?程式設計
- Linux檔案的路徑定位-相對路徑和絕對路徑Linux
- Golang os 包與設定配置檔案路徑Golang
- 小知識:設定archive_lag_target引數強制日誌切換Hive
- 知識小匯
- Spring小知識Spring
- Python小知識Python
- baota小知識
- 05_Linux相對路徑和絕對路徑Linux
- 谷歌瀏覽器翻譯在哪裡開啟 谷歌瀏覽器的線上翻譯在哪裡設定谷歌瀏覽器
- Swift-語音識別、翻譯Swift
- 【翻譯】GRAIL-手寫識別AI
- 【譯】從沒有人告訴過我的 CSS 小知識CSS
- [譯] 從沒有人告訴過我的 CSS 小知識CSS
- 設定手機郵件下載檔案路徑
- 怎麼設定spyder檔案的儲存路徑?