1. 程式人生 > >Linux環境變數的討論

Linux環境變數的討論

我們都知道Linux一些命令有使用範圍,而一些任何地方都可以使用,在Linux下時不時要配環境,那麼環境到底是什麼?

與其說我們需要配環境,不如說是在環境的幫助下我們才能執行命令。

在Linux下環境變數是PATH,首先查詢一下當前環境:

[email protected]:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin

切換到root查詢一下當前環境:

[email protected]:/home/xxx# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

顯示出的就是每個使用者當前所擁有的環境。

可以去顯示出每個目錄下檢視一下是什麼,發現都是要麼是普通執行檔案要麼是連結檔案。在/bin下也看到了常用的cat等系統命令,那麼有一種情況是,同一個命令有兩種環境下都有那麼先執行哪個呢,當然是按輸出的環境變數的順序依次進行查詢。

也就是說,你只能執行當前環境下的命令,所以常常說的搭環境就是把需要的工作命令新增到自己環境變數下。

除了新增到自己的環境變數下,當然可以使用絕對路徑進行指令的使用,但是這種方法未免太過麻煩了,所以沒有人用的。

所以說我們所寫的系統程式設計當然可以隨意使用替換,因為其實一開始Linux並沒有這麼多命令,需要解決相應問題時候編寫特定的程式,使用的人多了,也就逐漸成為了標準命令,所以你可以根據自己的需求寫命令放在自己的環境中,所謂開源,本身就是讓大家一起貢獻讓Linux變得更方便與健壯。

當然環境變數這東西是要小心使用的,不能隨意新增,因為Linux是多使用者使用,例如/tmp這個目錄各個使用者都可以寫入,那麼如果在這下面有一些命令是竊取資料等,就很可能會被得手。

而不同的工作目錄當然有不同的使用之處:

  • /bin是系統的一些指令。bin為binary的簡寫主要放置一些系統的必備執行檔例如:cat、cp
  • /sbin一般是指超級使用者指令**。**主要放置一些系統管理的必備程式例如:cfdisk、dhcpcd
  • /usr/bin 是你在後期安裝的一些軟體的執行指令碼。主要放置一些應用軟體工具的必備執行檔例如c++、g++、gcc
  • /usr/sbin 放置一些使用者安裝的系統管理的必備程式例如:dhcpd、httpd