网站黄色在线观看视频,男人和女人操逼有免费的视频吗2018高清,91熟女丨老女人丨高潮丰满,丝袜高潮流白浆潮喷在线播放

聯(lián)系我們

400-002-9968

售前咨詢

售后服務(wù)

注冊(cè) 登錄

博客 > Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

  • 標(biāo)簽:
  • Linux
  • Linux環(huán)境變量
  • 操作命令
  • 獲取環(huán)境變量

瀏覽量:1781次評(píng)論:0次

作者:銳成網(wǎng)絡(luò)整理時(shí)間:2024-05-13 16:30:14

Linux操作系統(tǒng)是一款開(kāi)放源代碼的操作系統(tǒng),被廣泛應(yīng)用于各種領(lǐng)域,例如服務(wù)器、嵌入式設(shè)備以及個(gè)人電腦等。而要深入了解Linux操作系統(tǒng),了解其環(huán)境變量是非常重要的。本文將匯總了關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn),涵蓋Linux環(huán)境變量的基本概念、分類、相關(guān)操作命令、常見(jiàn)的環(huán)境變量、環(huán)境變量文件以及獲取環(huán)境變量等知識(shí),幫助您更好地掌握Linux。

一、什么是環(huán)境變量?

環(huán)境變量(environment variables)一般是指在操作系統(tǒng)中用來(lái)指定操作系統(tǒng)運(yùn)行環(huán)境的一些參數(shù)。環(huán)境變量本質(zhì)就是一張表,保存在內(nèi)存當(dāng)中。該表在用戶登錄系統(tǒng)的時(shí)候,給用戶生成的特定的環(huán)境變量表。

環(huán)境變量的主要用途:

  • 身份認(rèn)證
  • 動(dòng)態(tài)庫(kù)查找
  • 保存工作路徑(pwd)
  • 特定路徑查找
  • 保存特定變量值

二、環(huán)境變量分類

按生命周期分:

  • 永久的:在環(huán)境變量腳本文件中配置,用戶每次登錄時(shí)會(huì)自動(dòng)執(zhí)行這些腳本,相當(dāng)于永久生效。
  • 臨時(shí)的:用戶利用export命令,在當(dāng)前終端下聲明環(huán)境變量,關(guān)閉Shell終端失效。

按作用域分:

  • 系統(tǒng)環(huán)境變量:公共的,對(duì)全部的用戶都生效。
  • 用戶環(huán)境變量:用戶私有的、自定義的個(gè)性化設(shè)置,只對(duì)該用戶生效。

三、環(huán)境變量相關(guān)操作命令

1)echo

查看指定環(huán)境變量的值

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

2) env

查看當(dāng)前用戶全部的環(huán)境變量。

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

3) export

export: 設(shè)置一個(gè)新的環(huán)境變量

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

也可以顯示當(dāng)前系統(tǒng)定義的所有環(huán)境變量。

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

4) set

set: 顯示本地定義的shell變量和環(huán)境變量

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

5) unset命令

unset: 取消本地變量和環(huán)境變量

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

6) printenv

printenv 環(huán)境變量名:查看指定環(huán)境變量的值。

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

四、常見(jiàn)的環(huán)境變量

HOME:指定用戶的主工作目錄(即用戶登陸到Linux系統(tǒng)中時(shí),默認(rèn)的目錄)。
PWD:顯示當(dāng)前目錄。
SHELL:當(dāng)前用戶用的是哪種Shell。
HISTSIZE:保存歷史命令記錄的條數(shù)。
HOSTNAME:主機(jī)的名稱,應(yīng)用程序如果要用到主機(jī)名的話,通常是從這個(gè)環(huán)境變量中取得。
LOGNAME:當(dāng)前用戶的登錄名。
LANG/LANGUGE:和語(yǔ)言相關(guān)的環(huán)境變量,使用多種語(yǔ)言的用戶可以修改此環(huán)境變量。

1)PATH

功能和作用

PATH表示可執(zhí)行程序的搜索目錄,可執(zhí)行程序包括Linux系統(tǒng)命令和用戶的應(yīng)用程序。

我們都知道之所以要加上 ./ ,是因?yàn)樵诔绦蜻\(yùn)行時(shí),需要說(shuō)明該可執(zhí)行程序所處的路徑,執(zhí)行一個(gè)命令的前提是先找到它。

如果我們?cè)敢?,也可以使用絕對(duì)路徑來(lái)說(shuō)明。

接下來(lái)我們思考一下為什么同為可執(zhí)行程序的 ls 、 pwd 等等諸多指令在使用時(shí)不需要加 ./ 來(lái)說(shuō)明其所處路徑呢?

這是因?yàn)樵谙到y(tǒng)中存在一個(gè)環(huán)境變量幫助我們?cè)谔囟窂较滤阉鬟@些默認(rèn)指令,這個(gè)環(huán)境變量叫做 PATH 。

如果可執(zhí)行程序的目錄不在PATH指定的目錄中,執(zhí)行時(shí)需要指定目錄,這就是執(zhí)行不在PATH中的可執(zhí)行程序時(shí)為什么要加./或者絕對(duì)路徑的原因。

書(shū)寫格式

PATH環(huán)境變量存放的是目錄列表,目錄之間用冒號(hào):分隔,最后的圓點(diǎn).表示當(dāng)前目錄。

export PATH=目錄1:目錄2:目錄3:......目錄n:.

PATH缺省包含Linux系統(tǒng)命令所在目錄(/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin),如果不包含這些目錄,Linux的常用命令也無(wú)法執(zhí)行(要輸入絕對(duì)路徑才能執(zhí)行)。

添加格式

export PATH=$PATH:$HOME/bin 或 export PATH=$HOME/bin:$PATH

2)LD_LIBRARY_PATH

功能和作用

C/C++語(yǔ)言動(dòng)態(tài)鏈接庫(kù)文件搜索的目錄,它不是Linux缺省的環(huán)境變量,但對(duì)C/C++程序員來(lái)說(shuō)非常重要。

LD_LIBRARY_PATH環(huán)境變量存放的也是目錄列表,目錄之間用冒號(hào):分隔,最后的圓點(diǎn).表示當(dāng)前目錄,與PATH的格式相同。

書(shū)寫格式

export LD_LIBRARY_PATH=目錄1:目錄2:目錄3:......目錄n:.

3)C_INCLUDE_PATH、CPLUS_INCLUDE_PATH

功能和作用

C_INCLUDE_PATH 指明C頭文件的搜索路徑,CPLUS_INCLUDE_PATH指明C++頭文件的搜索路徑。

添加格式

推薦

一般情況下Linux是不會(huì)設(shè)置這些環(huán)境變量的。

所以在對(duì)某一個(gè)環(huán)境變量第一次設(shè)置時(shí),應(yīng)該直接將其賦值為所需的目錄,在之后的設(shè)置中再使用遞歸式的賦值;或者直接一次性將所有目錄用:分隔開(kāi),一起賦值;或者索性不使用這些環(huán)境變量,而是在編譯時(shí)使用-I參數(shù)來(lái)添加包含目錄。

4)CLASSPATH

JAVA語(yǔ)言庫(kù)文件搜索的目錄,它也不是Linux缺省的環(huán)境變量,但對(duì)JAVA程序員來(lái)說(shuō)非常重要。

CLASSPATH環(huán)境變量存放的也是目錄列表,目錄之間用冒號(hào):分隔,最后的圓點(diǎn).表示當(dāng)前目錄,與PATH的格式相同。

五、環(huán)境變量文件

本小節(jié)介紹Linux下幾個(gè)與環(huán)境變量配置相關(guān)的配置文件。

1. /etc/profile 文件

此文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息,當(dāng)用戶第一次登錄時(shí),該文件被執(zhí)行。

并從 /etc/profile.d 目錄的配置文件中收集 shell 的設(shè)置。

如果你有對(duì) /etc/profile 有修改的話必須得手動(dòng)執(zhí)行 source /etc/profile,修改才會(huì)生效,此修改對(duì)每個(gè)用戶都生效。

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

2.  /etc/profile.d 目錄(推薦)

/etc/profile 在每次啟動(dòng)時(shí)會(huì)執(zhí)行 /etc/profile.d 下全部的腳本文件。

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

3.  /etc/bashrc 文件

為每一個(gè)運(yùn)行終端的用戶執(zhí)行此文件。當(dāng)終端被打開(kāi)時(shí),該文件被讀取。如果你想對(duì)所有的使用終端的用戶修改某個(gè)配置并在以后打開(kāi)的終端都生效的話可以修改這個(gè)文件,修改這個(gè)文件不用重啟,重新打開(kāi)一個(gè)終端即可生效。

Ubuntu沒(méi)有此文件,與之對(duì)應(yīng)的是 /etc/bash.bashrc。

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

4. ~/.bash_profile 或 ~/.bash_login 或 ~/.profile 文件(推薦)

每個(gè)用戶都可使用該文件輸入專用于自己使用的 shell 信息,當(dāng)用戶登錄時(shí),該文件僅僅執(zhí)行一次!默認(rèn)情況下,它設(shè)置一些環(huán)境變量,執(zhí)行用戶的 ~/ .bashrc 文件。此文件類似于 /etc/profile,也是需要手動(dòng)執(zhí)行 source ~/.profile,修改才會(huì)生效,/etc/profile 對(duì)所有用戶生效,~/.profile 只對(duì)當(dāng)前用戶生效。

~/.bash_profile、 ~/.bash_login 和 ~/.profile 文件往往只存在一個(gè),這與Linux的發(fā)行版本有關(guān)。centos中為 ~/.bash_profile,ubuntu則為 ~/.profile。

執(zhí)行的順序?yàn)椋簙/.bash_profile > ~/.bash_login > ~/.profile

5.  ~/.bashrc 文件

當(dāng)用戶登錄時(shí)以及每次打開(kāi)新的Shell時(shí)該文件都將被讀取。(每個(gè)用戶都有一個(gè) ~/.bashrc 文件,在用戶目錄下) 此文件類似于 /etc/bashrc,不需要重啟就可以生效,重新打開(kāi)一個(gè) bash 即可生效,/etc/bashrc 對(duì)所有用戶新打開(kāi)的 bash 都生效,但 ~/.bashrc 只對(duì)當(dāng)前用戶新打開(kāi)的 bash 生效。不推薦在里面配置用戶專用的環(huán)境變量,因?yàn)槊块_(kāi)一個(gè)Shell,該文件都會(huì)被讀取一次,效率肯定受影響。

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

6.  ~/.bash_logout 文件

當(dāng)每次退出系統(tǒng)(退出 bash shell)時(shí),執(zhí)行該文件。可把一些清理工作的命令放到這文件中。

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

7.  執(zhí)行順序

1. /etc/profile
2. /etc/bashrc
3. /etc/profile.d
4. ~/.bash_profile | ~/.bash_login | ~/.profile
5. ~/.bashrc

六、獲取環(huán)境變量

1. 全局變量environ

environ 變量是一個(gè)char** 類型,存儲(chǔ)著系統(tǒng)的環(huán)境變量

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

實(shí)例:

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

執(zhí)行結(jié)果:

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

2. 命令行參數(shù)

也可以通過(guò)命令行參數(shù)傳遞環(huán)境變量

實(shí)例:

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

執(zhí)行結(jié)果:

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

3.  getenv

要想直接獲取某個(gè)環(huán)境變量,也可以調(diào)用函數(shù)去獲取,可以使用庫(kù)函數(shù)getenv()獲取環(huán)境變量。

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

舉例:通過(guò)getenv獲取環(huán)境變量PWD, 實(shí)現(xiàn)自己的PWD指令:

#include<stdio.h>
#include<stdlib.h>

int main()
{
    char*pwd=getenv("PWD");
    if(pwd==NULL)
        perror("getenv");
    else
        printf("%s\n", pwd);              
    return 0;                                
}                                            

Linux入門:關(guān)于Linux環(huán)境變量的知識(shí)點(diǎn)匯總

通過(guò)本文的介紹,我們了解了Linux環(huán)境變量的相關(guān)知識(shí),這可以提高我們對(duì)Linux操作系統(tǒng)的理解和運(yùn)用能力。希望本文對(duì)您學(xué)習(xí)Linux有所幫助。

重要聲明:本文來(lái)自一口Linux,經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有,不代表銳成觀點(diǎn),轉(zhuǎn)載的目的在于傳遞更多知識(shí)和信息。

我的評(píng)論

還未登錄?點(diǎn)擊登錄

熱門工具

標(biāo)簽選擇

閱讀排行

微信掃碼溝通
微信掃碼溝通

微信掃碼溝通

AI
return head