當前位置:
首頁 > 知識 > 如何管理你的 Linux 環境變數

如何管理你的 Linux 環境變數

如何管理你的 Linux 環境變數

打開今日頭條,查看更多圖片

Linux 用戶環境變數可以幫助你找到你需要的命令,無須了解系統如何配置的細節而完成大量工作。而這些設置來自哪裡和如何被修改它們是另一個話題。

-- Sandra Henry-stocker(作者)

在 Linux 系統上的用戶賬戶配置以多種方法簡化了系統的使用。你可以運行命令,而不需要知道它們的位置。你可以重新使用先前運行的命令,而不用發愁系統是如何追蹤到它們的。你可以查看你的電子郵件,查看手冊頁,並容易地回到你的家目錄,而不用管你在文件系統中身在何方。並且,當需要的時候,你可以調整你的賬戶設置,以便其更符合你喜歡的方式。

Linux 環境設置來自一系列的文件:一些是系統範圍(意味著它們影響所有用戶賬戶),一些是處於你的家目錄中的配置文件里。系統範圍的設置在你登錄時生效,而本地設置在其後生效,所以,你在你賬戶中作出的更改將覆蓋系統範圍設置。對於 bash 用戶,這些文件包含這些系統文件:

/etc/environment
/etc/bash.bashrc
/etc/profile

以及一些本地文件:

~/.bashrc
~/.profile # 如果有 ~/.bash_profile 或 ~/.bash_login 就不會讀此文件
~/.bash_profile
~/.bash_login

你可以修改本地存在的四個文件的任何一個,因為它們處於你的家目錄,並且它們是屬於你的。

查看你的 Linux 環境設置

為查看你的環境設置,使用 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

雖然你可能會看到大量的輸出,上面顯示的第一大部分用於在命令行上使用顏色標識各種文件類型。當你看到類似 *.tar=01;31: 這樣的東西,這告訴你 tar 文件將以紅色顯示在文件列表中,然而 *.jpg=01;35: 告訴你 jpg 文件將以紫色顯現出來。這些顏色旨在使它易於從一個文件列表中分辨出某些文件。你可以在《 在 Linux 命令行中自定義你的顏色 》處學習更多關於這些顏色的定義,和如何自定義它們。

當你更喜歡一種不加裝飾的顯示時,一種關閉顏色顯示的簡單方法是使用如下命令:

$ ls -l --color=never

這個命令可以簡單地轉換到一個別名:

$ alias ll2="ls -l --color=never"

你也可以使用 echo 命令來單獨地顯現某個設置。在這個命令中,我們顯示在歷史緩存區中將被記憶命令的數量:

$ echo $HISTSIZE
1000

如果你已經移動到某個位置,你在文件系統中的最後位置會被記在這裡:

PWD=/home/shs
OLDPWD=/tmp

作出更改

你可以使用一個像這樣的命令更改環境設置,但是,如果你希望保持這個設置,在你的 ~/.bashrc 文件中添加一行代碼,例如 HISTSIZE=1234。

$ export HISTSIZE=1234

「export」 一個變數的本意是什麼

導出一個環境變數可使設置用於你的 shell 和可能的子 shell。默認情況下,用戶定義的變數是本地的,並不被導出到新的進程,例如,子 shell 和腳本。export 命令使得環境變數可用在子進程中發揮功用。


添加和移除變數

你可以很容易地在命令行和子 shell 上創建新的變數,並使它們可用。然而,當你登出並再次回來時這些變數將消失,除非你也將它們添加到 ~/.bashrc 或一個類似的文件中。

$ export MSG="Hello, World!"

如果你需要,你可以使用 unset 命令來消除一個變數:

$ unset MSG

如果變數是局部定義的,你可以通過載入你的啟動文件來簡單地將其設置回來。例如:

$ echo $MSG
Hello, World!
$ unset $MSG
$ echo $MSG
$ . ~/.bashrc
$ echo $MSG
Hello, World!

小結

用戶賬戶是用一組恰當的啟動文件設立的,創建了一個有用的用戶環境,而個人用戶和系統管理員都可以通過編輯他們的個人設置文件(對於用戶)或很多來自設置起源的文件(對於系統管理員)來更改默認設置。



via: https://www.networkworld.com/article/3385516/how-to-manage-your-linux-environment.html

作者: Sandra Henry-Stocker 選題: lujun9972 譯者: robsean 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


點擊「了解更多」可訪問文內鏈接

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux技術 的精彩文章:

ddgr:一個從終端搜索 DuckDuckGo 的命令行工具
用 GHTorrent 和 Libraries.io 查詢 10 年的 GitHub 數據

TAG:Linux技術 |