『壹』 linux系統下怎麼修改path環境變數
linux修改PATH環境變數四種方式:
Linux修改PATH環境變數的四種方式,每種方式有不同的許可權。以添加mongodb server變數為列:
1.修改臨時型的PATH
查看PATH:echo $PATH
修改方法一:export PATH=/usr/local/mongodb/bin:$PATH
//配置完後可以通過echo $PATH查看配置結果。
生效方法:立即生效
有效期限:臨時改變,只能在當前的終端窗口中有效,當前窗口關閉後就會恢復原有的path配置。
用戶局限:僅對當前用戶
2.修改當前用戶的PATH
通過修改.bashrc文件:vim ~/.bashrc
//在最後一行添上:export PATH=/usr/local/mongodb/bin:$PATH
生效方法:(有以下兩種)
1、關閉當前終端窗口,重新打開一個新終端窗口就能生效
2、輸入「source ~/.bashrc」命令,立即生效
有效期限:永久有效
用戶局限:僅對當前用戶
3.修改所有用戶的PATH
通過修改profile文件:vim /etc/profile/export PATH
//找到設置PATH的行,添加:
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:系統重啟
有效期限:永久有效
用戶局限:對所有用戶
4.修改系統環境的PATH
通過修改environment文件:vim /etc/environment
在PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"中加入入「:/usr/local/mongodb/bin」
生效方法:系統重啟
有效期限:永久有效
用戶局限:對所有用戶
『貳』 如何在linux系統中添加路徑到PATH環境變數中
1. 全局的對所有用戶都可以的使用的PATH: 可以通過修改配置文件: /etc/bashrc 和 /etc/profile 來時配置,全局的PATH;,例如: vi /etc/profile ,在最後後加一行:PATH=THE_SET_GLOBLE_ENV_PATH:$PATH,接著換行: export PATH,如果使其立即生效: source /etc/profile。
2. 對於普通用戶也可以設置,自己的路徑:在自己的home目錄中:ls -a grep bash,會找到兩個文件: .bashrc 和 .bash_profile ,同樣可以像修改 /etc/profile一樣,修改 .bash_profile 來配置你的個性PATH 環境。同樣修改後,若不重啟,就使其立即生效的話,不要皮虧忘了 source .bash_profile。
具體如下:
1、簡介
Linux操作系統是基於UNIX操作系統發展而來的一種前喊克隆系統,它誕生於1991 年的 [Linux桌面] 10 月5 日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全燃悔神世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。
2、基本信息
Linux[2]操作系統是UNIX操作系統的一種克隆系統,它誕生linux系統於1991 年的10 月5 日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。
3、分區規定
設備管理在 Linux 中,每一個硬體設備都映射到一個系統的文件,對於硬碟、光碟機等,IDE 或 SCSI 設備也不例外。Linux 把各種 IDE 設備分配了一個由 hd 前綴組成的文件;而對於各種 SCSI 設備,則分配了一個由 sd 前綴組成的文件。
『叄』 linux設置環境變數path
變數是計算機系統用於保存可變值的數據類型。在Linux系統中,變數名稱一般都是大寫的,這是一種約定俗成的規范。我們可以直接通過變數名稱來提取到對應的變數值。
Linux系統中的環境變數是用來定義系統運行環境的一些參數,比如每個用戶不同的家目錄、郵件存放位置等。《Linux就該這么學》一起來學習更多linux知識。
PASH環境變數的設置方法:
方法一:用戶主目錄下的.profile或.bashrc文件(推薦)
登錄到你的用戶(非root),在終端輸入:
$ sudo gedit ~/.profile(or .bashrc)
可以在此文件末尾加入PATH的設置如下:
export PATH=」$PATH:your path1:your path2 ...」
保存文件,注銷再登錄,變數生效。
該方式添加的變數只對當前用戶有效。
方法二:系統目錄下的profile文件(謹慎)
在系統的etc目錄下,有一個profile文件,編輯該文件:
$ sudo gedit /etc/profile
在最後加入PATH的設置如下:
export PATH=」$PATH:your path1:your path2 ...」
該文件編輯保存後,重啟系統,變數生效。
該方式添加的變數對所有的用戶都有效。
方法三:系統目錄下的 environment 文件(謹慎)
在系統的etc目錄下,有一個environment文件,編輯該文件:
$ sudo gedit /etc/environment
找到以下的 PATH 變數:
PATH="<......>"
修改該 PATH 變數,在其中加入自己的path即可,例如:
PATH="<......>:your path1:your path2 …"
各個path之間用冒號分割。該文件也是重啟生效,影響所有用戶。
注意這里不是添加export PATH=… 。
方法四:直接在終端下輸入
$ sudo export PATH="$PATH:your path1:your path2 …"
這種方式變數立即生效,但用戶注銷或系統重啟後設置變成無效,適合臨時變數的設置。
『肆』 linux環境變數配置
Shell變數有局部變數、環境變數之分。局部變數就是指在某個Shell中生效的變數,只在此次登錄中有效。環境變數通常又稱「全局變數」,雖然在Shell中變數默認就是全局的,但是為了讓子Shall繼承當前Shell的變數,需要使用export內建命令將其導出為環境變數。
按變數的生存周期劃分:
永久的:需要修改配置文件,變數永久生效。
臨時的:使用export命令聲明即可,變數在關閉shell時失效。
在配置永久的環境變數時,又可以按照作用范圍分為:
用戶環境變數
系統環境變數。
系統環境變數對所有系統用戶都有效,用戶環境變數僅僅對當前的用戶有效。
全局(公有)配置,不管是哪個用戶,登錄時都會讀取該文件。
它也是全局(公有)的 bash執行時,不管是何種方式,都會讀取此文件。
不要輕易修改此文件
用戶環境變數通常被存儲在下面的文件中:
若bash是以login方式執行時,讀取 ~/.bash_profile ,若它不存在,則讀取 ~/.bash_login ,若前兩者不存在,讀取 ~/.profile 。
若bash是以login方式執行時,讀取 ~/.bash_profile ,若它不存,則讀取 ~/.bash_login ,若前兩者不存在,讀取 ~/.profile 。
只有bash是以login形式執行時,才會讀取.bash_profile,Unbutu默認沒有此文件,可新建。 通常該配置文件還會配置成去讀取 ~/.bashrc 。
當bash是以non-login形式執行時,讀取此文件。若是以login形式執行,則不會讀取此文件。
~/.bash_profile 是互動式、login 方式進入 bash 運行的
~/.bashrc 是互動式 non-login 方式進入 bash 運行的通常二者設置大致相同,所以通常前者會調用後者。
如想將一個路徑加入到環境變數(例如$PATH)中,可以像下面這樣做(修改/etc/profile):
你可以自己加上指定的路徑,中間用冒號隔開。環境變數更改後,在用戶下次登陸時生效,如果想立刻生效,則可執行下面的語句:
bash會在用戶登錄時,讀取下列四個環境配置文件:
全局環境變數設置文件: /etc/profile 、 /etc/bashrc 。 用戶環境變數設置文件: ~/.bash_profile 、 ~/.bashrc 。
讀取順序:① /etc/profile 、② ~/.bash_profile 、③ ~/.bashrc 、④ /etc/bashrc 。
2 .bashrc 和 .bash_profile 的區別
.bash_profile 會用在登陸shell, .bashrc 使用在互動式非登陸 shell 。簡單說來,它們的區別主要是 .bash_profile 是在你每次登錄的時候執行的; .bashrc 是在你新開了一個命令行窗口時執行的。
當通過控制台進行登錄(輸入用戶名和密碼):在初始化命令行提示符的時候會執行.bash_profile 來配置你的shell環境。但是如果已經登錄到機器,在Gnome或者是KDE也開了一個新的終端窗口(xterm),這時,.bashrc會在窗口命令行提示符出現前被執行。當你在終端敲入/bin/bash時.bashrc也會在這個新的bash實例啟動的時候執行。
所以對於我自己,我寫了一個 .pathrc 文件
然後在 .bashrc , .zshrc , .bash_profile , /etc/profile 中都加了
下面是 .pathrc 文件
現在,當你從控制台登錄機器的時候,.bashrc就會被執行。
四、常用的環境變數
BASH Bash Shell的全路徑
CDPATH 用於快速進入某個目錄。
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當前用戶主目錄
HISTSIZE 歷史記錄數
LOGNAME 當前用戶的登錄名
HOSTNAME 指主機的名稱
SHELL 當前用戶Shell類型
LANGUGE 語言相關的環境變數,多語言可以修改此環境變數
MAIL 當前用戶的郵件存放目錄
PS1 基本提示符,對於root用戶是#,對於普通用戶是$
Reference
[1] /etc/profile、/etc/bashrc、 /.bash_profile、 /.bashrc
http://blog.chinaunix.net/uid-26435987-id-3400127.html
[2] Linux如何修改env看到的環境變數? .bashrc和.bash_profile區別
http://blog.csdn.net/xifeijian/article/details/13355031
[3] linux環境變數,bashrc與bashprofile
http://blog.sina.com.cn/s/blog_43e5ad4e0101ei43.html
『伍』 環境變數-Linux
我們經常在shell中輸入一個命令然後就開始執行,但是shell是如何從 電腦裡面找到這條指令的呢?
shell是通過 環境變數PATH 來進行 搜索 的,同樣的在win裡面也有這個PATH環境變數,這個PATH保存了shell中執行的命令的搜索路徑
通常會得到:
我們可以看到,基本都是bin或者sbin路徑,這種路徑下都是二進制可執行文件。
系統會按照path中設定的路徑按照順序依次到目錄中去查找,如果存在同名的命令,則執行先找到的那個。
如果我們有一個自定義的路徑 /home/user/mybin 我們想把這個路徑添加到PATH以便於直接在shell中執行這個命令,添加方式:
但是到這里還有一個問題:我們添加的這個路徑只在當前shell下有效。
如何是添加的環境變數全局有效?
在每個用戶的home目錄中有一個shell每次啟動時會默認執行一個配置腳本,以初始化環境,包括添加一些用戶自定義環境變數等等。
這個配置文件是 .zshrc 相應的bash配置文件為 .bashrc
我們只需要修改.zshrc就可以了
上述命令中 >> 表示將輸出以追加的方式重新定向到一個文件中
前面提到的 > 是以覆蓋的方式重定向
讓環境變數立刻生效:
『陸』 Linux環境變數PATH設置
/etc/profile和/etc/bashrc都是系統級別的,修改後可以在所有用戶中起作用; /.bash_profile、 /.bashrc和~/.bash_logout都是用戶級別的,修改後只會作用於當前用戶。
帶profile的文件都是需要重新進入用戶時才會生效,帶bashrc的則是打開新的shell時生效;
執行順序:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
$ echo $HOME
$ export HELLO="Hello"
$ env
¥ set
readonly TEST
之前介紹的使用 export 命令設置環境變數是在命令行中直接執行,這樣設置的環境變數在退出shell時就會失效。要想設置永久有效的環境變數就需要修改之前提到的文件。
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
你可以自己加上指定的路徑,中間用冒號隔開
需要注意的是,最好不要把當前路徑」./」放到PATH里,這樣可能會受到意想不到的攻擊。
特點:所有用戶;永久有效;生效需要重新進入用戶
root許可權:
要想修改完文件後就立即生效,可以在命令行中執行:
# source /etc/profile
Source命令也稱為「點命令」,也就是一個點符號(.)。source命令通常用於重新執行剛修改的初始化文件,使之立即生效,而不必注銷並重新登錄
『柒』 linux下配置自己的環境變數文件my_env.sh
配置環境變數分為系統級和用戶級,系統級所有用戶生效,用戶級針對特定用戶,現場環境根據職能不同,會通過用戶限制操作范圍,環境變數修改以實際需要為准,遵循許可權最小原則。
一般添加系統環境變數,修改/etc/profile文件,如果操作失誤,刪除重要配置,影響系統運行。
centos7版本中 /etc/profile 默認掃描路徑 /etc/profile.d/ 下sh文件,並添加內容到環境變數中,可以通過這種方式不操作/etc/profile增加環境變數。
在/etc/profile.d/下創建文件 my_env.sh,並設置環境變數,如jdk等,內容如下:
vi /etc/profile.d/my_env.sh
編輯用戶文件:~/.bash_profile,增加新path配置信息。如jdk:
自定義命令可以實現很多功能,如項目結構化目錄文件生成、系統命令集合、帶參命令自動填充等,腳本功能決定自定義命令的豐富程度。
創建自定義命令文件目錄,方便集中管理,這里在當前用戶目錄下創建bin目錄:mkdir ~/bin
創建自定義命令文件,文件名為命令名,如vi ~/bin/print,內容列印:echo test,添加文件執行許可權:chmod 700 ~/bin/print
系統級
編輯/etc/profile.d/my_env.sh文件,增加環境變數export PATH= PATH:/home/用戶名/bin
測試
控制台輸入print ,回車即可
『捌』 如何在linux添加路徑到PATH環境變數中
1. 全局的對所有用戶都可以的使用的PATH: 可以通過世雹修改配置文件: /etc/bashrc 和 /etc/profile 來時配置,全局的PATH;
例如灶返猜: vi /etc/profile
在最後後加一行:PATH=THE_SET_GLOBLE_ENV_PATH:$PATH;
接著換行: export PATH
如果使其立即生效: source /etc/profile
2. 對於普通用戶也可以設置,自己的路徑:在自己的home目錄中:
ls -a | grep bash
會找到兩個文件: .bashrc 和 .bash_profile
同樣可以像修改 /etc/profile一樣,修改 .bash_profile 來配置你的個性PATH 環境。
同樣修改後,若不重啟,就使其立即生效的話,不要忘了 source .bash_profile.
最後看的你的修改後的PATH: echo $PATH 或者 env 再者 set
如隱型果你想了解更詳細內容,建議看看劉遄老師的另外就是劉遄老師的《linux就該這么學》,書籍當中有詳細的描述;
『玖』 Linux怎麼設置系統環境變數之export命令詳解
1. Linux export命令簡介
Linux export命令用於設置或顯示環境變數。
在shell中執行程序時,shell會提供一組環境變數。export可新增,修改或刪除環境變數,供後續執行的程序使用。export的效力僅及於該次登陸操作。
export命令用於將shell變數輸出為環境變數,或者將shell函數輸出為環境變數。
一個變數創建時,它不會自動地為在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變數的值。當一個shell腳本調用並執 行時,它不會自動得到原為腳本(調用者)里定義的變數的訪問權,除非這些變數已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變數的值到任何後繼腳本。
Linux export命令簡介
2. export參數
-f 代表[變數名稱]中為函數名稱。
-n 刪除指定的變數。變數實際上並未刪除,只是不會輸出到後續指令的執行環境中。
-p 列出所有的shell賦予程序的環境變數。
一個變數創建時,它不會自動地為在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變數的值。當一個shell腳本調用並執行時,它不會自動得到原為腳本(調用者)里定義的變數的訪問權,除非這些變數已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變數的值到任何後繼腳本。
Linux怎麼設置變數環境
3. 在linux里設置環境變數的方法
一般來說,配置交叉編譯工具鏈的時候需要指定編譯工具的路徑,此時就需要設置環境變數。例如我的mips-linux-gcc編譯器在「/opt/abc/123/bin」目錄下,有如下三種方法來設置環境變數:
3.1 直接用export命令,臨時生效
查看是否已經設好,可用命令export查看:
檢查:
輸出結果:
declare -x HISTCONTROL="ignoreps"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="zcwyou"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32: .tar=01;31: .tgz=01;31: .arc=01;31: .arj=01;31: .taz=01;31: .lha=01;31: .lz4=01;31: .lzh=01;31: .lzma=01;31: .tlz=01;31: .txz=01;31: .tzo=01;31: .t7z=01;31: .zip=01;31: .z=01;31: .Z=01;31: .dz=01;31: .gz=01;31: .lrz=01;31: .lz=01;31: .lzo=01;31: .xz=01;31: .bz2=01;31: .bz=01;31: .tbz=01;31: .tbz2=01;31: .tz=01;31: .deb=01;31: .rpm=01;31: .jar=01;31: .war=01;31: .ear=01;31: .sar=01;31: .rar=01;31: .alz=01;31: .ace=01;31: .zoo=01;31: .cpio=01;31: .7z=01;31: .rz=01;31: .cab=01;31: .jpg=01;35: .jpeg=01;35: .gif=01;35: .bmp=01;35: .pbm=01;35: .pgm=01;35: .ppm=01;35: .tga=01;35: .xbm=01;35: .xpm=01;35: .tif=01;35: .tiff=01;35: .png=01;35: .svg=01;35: .svgz=01;35: .mng=01;35: .pcx=01;35: .mov=01;35: .mpg=01;35: .mpeg=01;35: .m2v=01;35: .mkv=01;35: .webm=01;35: .ogm=01;35: .mp4=01;35: .m4v=01;35: .mp4v=01;35: .vob=01;35: .qt=01;35: .nuv=01;35: .wmv=01;35: .asf=01;35: .rm=01;35: .rmvb=01;35: .flc=01;35: .avi=01;35: .fli=01;35: .flv=01;35: .gl=01;35: .dl=01;35: .xcf=01;35: .xwd=01;35: .yuv=01;35: .cgm=01;35: .emf=01;35: .axv=01;35: .anx=01;35: .ogv=01;35: .ogx=01;35: .aac=01;36: .au=01;36: .flac=01;36: .mid=01;36: .midi=01;36: .mka=01;36: .mp3=01;36: .mpc=01;36: .ogg=01;36: .ra=01;36: .wav=01;36: .axa=01;36: .oga=01;36: .spx=01;36:*.xspf=01;36:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/abc/123/bin"
declare -x PWD="/root"
declare -x SELINUX_LEVEL_REQUESTED=""
declare -x SELINUX_ROLE_REQUESTED=""
declare -x SELINUX_USE_CURRENT_RANGE=""
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="113.105.164.145 6668 22"
declare -x SSH_CONNECTION="113.105.164.145 6668 113.105.164.151 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x USER="root"
declare -x XDG_RUNTIME_DIR="/run/user/0"
declare -x XDG_SESSION_ID="2185"
留意一下輸出的這部分:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/abc/123/bin"
可以看到已經包括了剛剛設置的變數路徑。
變數路徑和環境Linux
3.2 修改profile文件,永久生效
把目錄/opt/abc/123/bin在裡面加入:
export PATH="
3.3 修改.bashrc文件,永久生效
在裡面加入:
export PATH="PATH:/opt/abc/123/bin"¨K14K¨G3G在裡面加入:exportPATH="PATH:/opt/abc/123/bin"
檢查結果:
3.4 修改/etc/re.local文件,永久生效
在裡面加入:
export PATH="
「/bin」、「/sbin」、「 /usr/bin」、「/usr/sbin」、「/usr/local/bin」等路徑已經在系統環境變數中了,如果可執行文件在這幾個標准位置,在終端命令行輸入該軟體可執行文件的文件名和參數(如果需要參數),回車即可。
如果不在標准位置,文件名前面需要加上完整的路徑。不過每次都這樣跑就太麻煩了,一個「一勞永逸」的辦法是把這個路徑加入環境變數。命令 export PATH:/opt/abc/123/bin"「/bin」、「/sbin」、「/usr/bin」、「/usr/sbin」、「/usr/local/bin」等路徑已經在系統環境變數中了,如果可執行文件在這幾個標准位置,在終端命令行輸入該軟體可執行文件的文件名和參數(如果需要參數),回車即可。如果不在標准位置,文件名前面需要加上完整的路徑。不過每次都這樣跑就太麻煩了,一個「一勞永逸」的辦法是把這個路徑加入環境變數。命令exportPATH="路徑」(或「PATH=
PATH為環境變數名,如DVSDK;調用時用
export DVSDK)可以把這個路徑加入環境變數,但是退出這個命令行就失效了。要想永久生效,需要把這行添加到環境變數文件里。有兩個文件可選:「/etc/profile」和用戶主目錄下的「.bashprofile」,「/etc/profile」對系統里所有用戶都有效,用戶主目錄下的「.bashprofile」只對這個用戶有效。exportPATH="
PATH:路徑1:路徑2:…:路徑n"),意思是可執行文件的路徑包括原先設定的路徑,也包括從「路徑1」到「路徑n」的所有路徑。當用戶輸入一個一串字元並按回車後,shell會依次在這些路徑里找對應的可執行文件並交給系統核心執行。那個「
」。
注意,與DOS/Window不同,UNIX類系統環境變數中路徑名用冒號分隔,不是分號。另外,軟體越裝越多,環境變數越添越多,為了避免造成混亂,建議所有語句都添加在文件結尾,按軟體的安裝順序添加。
本文已同步至博客站:
https://www.linuxrumen.com/cyml/859.html
『拾』 如果找到linux中環境變數定義的位置
使用which查看絕對路徑,再使用echo $path輸出環境變數