linux的環境變數總結

2021-10-10 08:57:04 字數 1583 閱讀 1192

參考文獻

記錄可執行檔案的路徑,比如我們通過shell執行命令時,shell就會在path記錄的一系列路徑下尋找命令對應的可執行檔案。

這類環境變數通常會被gcc使用,用來記錄一系列頭檔案目錄,gcc搜尋標頭檔案時,回去這些目錄查詢:

補充說明——gcc搜尋標頭檔案的優先順序

當前目錄(如果使用了""包含標頭檔案);

編譯選項中-i指定的目錄;

環境變數*_include_path記錄的一系列頭檔案目錄;

gcc預設的頭檔案目錄,如不使用-nostdinc選項,則這些預設的目錄總是會被搜尋,因此放在最後。上文所謂預設的頭檔案目錄在gcc手冊中被稱為standard system directories for header files,通常是/usr/include/usr/local/include/usr/lib/gcc/x86_64-linux-gnu/4.8/include等。

記錄一系列的庫檔案目錄(動態/靜態),在程式的編譯鏈結期間,gcc搜尋-l選項指定的庫檔案時,會在該環境變數記錄的目錄中搜尋。

補充說明——gcc搜尋庫檔案的優先順序

-l選項指定的目錄;

環境變數library_path記錄的一系列庫檔案目錄;

gcc預設的庫檔案目錄,通常是/lib/usr/lib/usr/local/lib等。

編譯鏈結時指定的動態庫搜尋路徑。具體的,通過gcc的編譯選項-wl,-rpath=dir1:dir2可以把動態庫搜尋路徑dir1dir2新增到可執行檔案中。同時,該選項也有在編譯鏈結時使鏈結器搜尋其指定目錄的作用。要注意該選項與-l選項的區別,-l選項用於編譯鏈結時新增庫檔案的搜尋路徑;而該選項僅限於動態庫,既可以在編譯鏈結時新增搜尋路徑,同時也能將搜尋路徑新增到可執行檔案中以便載入執行時使用;

環境變數ld_library_path指定的動態庫搜尋路徑;

配置檔案/etc/ld.so.conf中指定的動態庫搜尋路徑。需要說明的是,通過修改該配置檔案來新增搜尋目錄時,須在修改後執行ldconfig命令以重新整理快取檔案/etc/ld.so.cache,進而使修改後的配置生效;

預設的動態庫搜尋路徑/lib

預設的動態庫搜尋路徑/usr/lib

[1] 鳥哥的linux私房菜

[2] gcc手冊

[3] gcc的標頭檔案、庫檔案預設搜尋路徑

Linux環境變數總結

環境變數是作業系統執行環境的變數配置。windows的環境變數在計算機屬性選項卡裡配置,而linux環境變數比較亂,本文主要總結一下各個環境變數及其作用。1.系統全域性環境變數 etc profile 所有使用者的shell都有權使用的環境變數 2.某一使用者的環境變數 變數儲存在使用者目錄下的.b...

Linux環境變數相關總結

linux下環境變數分為全域性和區域性變數兩種。linux 下通常提供三種工具可以可以檢視環境變數 printenv env set。前兩個可以檢視全域性環境變數,最後乙個會列印包含全域性和區域性環境變數。可以在shell中使用 引用已經存在的環境變數,也可以使用echo直接列印,比如 echo p...

linux環境程式設計 環境變數 列印環境變數

在shell程式設計主題中,我們已經大致的介紹過 環境變數和本地變數啦 我們今天來具體的介紹介紹,那環境變數到底是什麼呢?是我 一.環境變數含義 特徵 環境變數是指 作業系統中用來指定作業系統執行環境的一下引數 1 特徵 字串 有統一的格式 名 值 值 值用來描述程序的環境資訊 2 使用形式 與命令...