如何管理你的Linux環(huán)境變量
Linux 用戶環(huán)境變量可以幫助你找到你需要的命令,無須了解系統(tǒng)如何配置的細節(jié)而完成大量工作。而這些設(shè)置來自哪里和如何被修改它們是另一個話題。
在 Linux 系統(tǒng)上的用戶賬戶配置以多種方法簡化了系統(tǒng)的使用。你可以運行命令,而不需要知道它們的位置。你可以重新使用先前運行的命令,而不用發(fā)愁系統(tǒng)是如何追蹤到它們的。你可以查看你的電子郵件,查看手冊頁,并容易地回到你的家目錄,而不用管你在文件系統(tǒng)中身在何方。并且,當(dāng)需要的時候,你可以調(diào)整你的賬戶設(shè)置,以便其更符合你喜歡的方式。
Linux 環(huán)境設(shè)置來自一系列的文件:一些是系統(tǒng)范圍(意味著它們影響所有用戶賬戶),一些是處于你的家目錄中的配置文件里。系統(tǒng)范圍的設(shè)置在你登錄時生效,而本地設(shè)置在其后生效,所以,你在你賬戶中作出的更改將覆蓋系統(tǒng)范圍設(shè)置。對于 bash 用戶,這些文件包含這些系統(tǒng)文件:
/etc/environment
/etc/bash.bashrc
/etc/profile
以及一些本地文件:
~/.bashrc
~/.profile # 如果有 ~/.bash_profile 或 ~/.bash_login 就不會讀此文件
~/.bash_profile
~/.bash_login
你可以修改本地存在的四個文件的任何一個,因為它們處于你的家目錄,并且它們是屬于你的。
查看你的 Linux 環(huán)境設(shè)置
為查看你的環(huán)境設(shè)置,使用 env
命令。你的輸出將可能與這相似:
$ env
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=00: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:*.zst=01;31:*.tzst=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:
*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:
*.mjpeg=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:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:
*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:
*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.spf=00;36:
SSH_CONNECTION=192.168.0.21 34975 192.168.0.11 22
LESSCLOSE=/usr/bin/lesspipe %s %s
LANG=en_US.UTF-8
OLDPWD=/home/shs
XDG_SESSION_ID=2253
USER=shs
PWD=/home/shs
HOME=/home/shs
SSH_CLIENT=192.168.0.21 34975 22
XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop
SSH_TTY=/dev/pts/0
MAIL=/var/mail/shs
TERM=xterm
SHELL=/bin/bash
SHLVL=1
LOGNAME=shs
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
PATH=/home/shs/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
LESSOPEN=| /usr/bin/lesspipe %s
_=/usr/bin/env
雖然你可能會看到大量的輸出,上面顯示的***大部分用于在命令行上使用顏色標(biāo)識各種文件類型。當(dāng)你看到類似 *.tar=01;31:
這樣的東西,這告訴你 tar
文件將以紅色顯示在文件列表中,然而 *.jpg=01;35:
告訴你 jpg 文件將以紫色顯現(xiàn)出來。這些顏色旨在使它易于從一個文件列表中分辨出某些文件。你可以在《在 Linux 命令行中自定義你的顏色》處學(xué)習(xí)更多關(guān)于這些顏色的定義,和如何自定義它們。
當(dāng)你更喜歡一種不加裝飾的顯示時,一種關(guān)閉顏色顯示的簡單方法是使用如下命令:
$ ls -l --color=never
這個命令可以簡單地轉(zhuǎn)換到一個別名:
$ alias ll2='ls -l --color=never'
你也可以使用 echo
命令來單獨地顯現(xiàn)某個設(shè)置。在這個命令中,我們顯示在歷史緩存區(qū)中將被記憶命令的數(shù)量:
$ echo $HISTSIZE
1000
如果你已經(jīng)移動到某個位置,你在文件系統(tǒng)中的***位置會被記在這里:
PWD=/home/shs
OLDPWD=/tmp
作出更改
你可以使用一個像這樣的命令更改環(huán)境設(shè)置,但是,如果你希望保持這個設(shè)置,在你的 ~/.bashrc
文件中添加一行代碼,例如 HISTSIZE=1234
。
$ export HISTSIZE=1234
“export” 一個變量的本意是什么
導(dǎo)出一個環(huán)境變量可使設(shè)置用于你的 shell 和可能的子 shell。默認情況下,用戶定義的變量是本地的,并不被導(dǎo)出到新的進程,例如,子 shell 和腳本。export
命令使得環(huán)境變量可用在子進程中發(fā)揮功用。
添加和移除變量
你可以很容易地在命令行和子 shell 上創(chuàng)建新的變量,并使它們可用。然而,當(dāng)你登出并再次回來時這些變量將消失,除非你也將它們添加到 ~/.bashrc
或一個類似的文件中。
$ export MSG="Hello, World!"
如果你需要,你可以使用 unset
命令來消除一個變量:
$ unset MSG
如果變量是局部定義的,你可以通過加載你的啟動文件來簡單地將其設(shè)置回來。例如:
$ echo $MSG
Hello, World!
$ unset $MSG
$ echo $MSG
$ . ~/.bashrc
$ echo $MSG
Hello, World!
小結(jié)
用戶賬戶是用一組恰當(dāng)?shù)膯游募O(shè)立的,創(chuàng)建了一個有用的用戶環(huán)境,而個人用戶和系統(tǒng)管理員都可以通過編輯他們的個人設(shè)置文件(對于用戶)或很多來自設(shè)置起源的文件(對于系統(tǒng)管理員)來更改默認設(shè)置。