來學一學LINUX系統中SHELL環境的搭建技巧

roc_guo發表於2022-01-20

什麼是   SHELL環境?shell在會話中會儲存著大量資訊,而這些資訊就是shell環境。LINNX命令程式透過獲取SHELL環境中的資料(此處的資料通常稱為環境變數)來輸出本機相應的配置資料。

LINUX環境變數

Linux shell環境中儲存了兩種基本型別的資料:環境變數和shell變數。當然,除了變數,shell也儲存了一些可程式設計的資料,即別名和shell 函式。

如何檢視環境變數呢?

我們可以用bash命令set,或者使用printenv命令程式來檢視環境變數。

它們的區別是:set 命令不僅顯示shell資料,而且可以顯示環境變數列表,而printenv命令僅僅顯示環境變數列表。

鑑於環境變數列表比較長,我們可以將每個命令的輸出透過管道符傳遞給less 來輸出列表,例如:

//執行命令

[test@ ~]$ printenv | less

//輸出內容:環境變數及其數值的列表

KDE_MULTIHEAD=false

SSH_AGENT_PID=6666

HOSTNAME= linuxprobe

GPG_AGENT_INFO=/tmp/gpg-PdOt7g/S.gpg-agent:6689:1

SHELL=/bin/bash

TERM=xterm

XDG_MENU_PREFIX=kde-

HISTSIZE=1000

XDG_SESSION_COOKIE=6d7b05c65846c3eaf3101b0046bd2b00-1208521990.996705

-1177056199

GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/me/.gtkrc-2.0:/home/me/.kde/sh

are/config/gtkrc-2.0

GTK_RC_FILES=/etc/gtk/gtkrc:/home/me/.gtkrc:/home/me/.kde/share/confi

g/gtkrc

GS_LIB=/home/me/.fonts

WINDOWID=29360136

QTDIR=/usr/lib/qt-3.3

QTINC=/usr/lib/qt-3.3/include

KDE_FULL_SESSION=true

USER=

LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01

:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:\*.cmd=00;32:\*.exe:

 

//printenv 命令也可輸出特定變數- USER的數值:

[test@linuxprobe ~]$ printenv USER

test

 

變數

內容

DISPLAY

如果你正在執行圖形介面環境,那麼這個變數就是你顯示器的名字。通常,它是”:0”,意思是由X 產生的第一個顯示器。

EDITOR

文字編輯器的名字

SHELL

shell 程式的名字

HOME

使用者家目錄

LANG

定義了字符集以及語言編碼方式

OLD_PWD

先前的工作目錄

PAGER

頁輸出程式的名字。這經常設定為/usr/bin/less

PATH

由冒號分開的目錄列表,當你輸入可執行程式名後,會搜尋這個目錄列表。

PS1

Prompt String 1. 這個定義了你的shell 提示符的內容。隨後我們可以看到,這個變數內容可以全面地定製

PWD

當前工作目錄

TERM

終端型別名。類Unix 的系統支援許多終端協議;這個變數設定你的終端模擬器所用的協議。

TZ

指定你所在的時區。大多數類Unix 的系統按照協調時間時(UTC) 來維護計算機內部的時鐘,然後應用一個由這個變數指定的偏差來顯示本地時間。

USER

你的使用者名稱

 

 

建立LINUX shell 環境

 

每當我們登入系統後,bash 程式就會自動啟動,且會讀取一系列配置指令碼,這些配置指令碼被稱為啟動檔案。這些啟動檔案定義了可供所有使用者共享的預設shell 環境。

那麼位於家目錄中的啟動檔案,定義了使用者個人的shell 環境。

確切的啟動順序取決於shell 會話型別模式。有兩種shell 會話型別模式:一個是登入shell 會話模式,另一個是非登入shell 會話模式。

登入shell 會話模式中會提示使用者輸入使用者名稱和密碼;非登入shell 會話模式通常在GUI下啟動終端會話時出現。

檔案

內容

/etc/profile

針對所有使用者的全域性配置指令碼

˜/.bash_profile

使用者個人的啟動檔案。可用來修改全域性配置指令碼中的設定

˜/.bash_login

如果檔案˜/.bash_profile 沒有找到,bash 會嘗試讀取這個指令碼

˜/.profile

如果檔案˜/.bash_profile 或檔案˜/.bash_login 都沒有找到,bash 會試圖讀取這個檔案。

 

非登入shell 會話模式下啟動檔案內容:

檔案

內容

/etc/bash.bashrc

針對所有使用者的全域性配置檔案

˜/.bashrc

使用者個人的啟動檔案。可用來修改全域性配置指令碼中的設定

 

修改linux  shell環境

依據通常的操作思路,透過新增目錄到PATH 變數或定義新的環境變數,再把這些更改存放至.bash_profile 檔案中;那麼對於其它的更改呢,需要存放至.bashrc 檔案中。

除了系統管理員具將系統中的所有使用者修改預設設定的許可權外,其他使用者只能限定對個人家目錄下的檔案進行修改。

我們透過使用一個叫做文字編輯器的程式來編輯(或讀、寫)shell 的啟動檔案以及其它配置檔案。文字編輯器是一個類似於文書處理器的程式,允許使用移動游標在螢幕上編輯。但不同之處在於文字編輯器不僅支援純文字,而且常包含為便於寫程式而設計的特性。由此可見,文字編輯器是開發人員用來寫程式碼,以及系統管理員用來管理控制系統的配置檔案的重要工具之一。

文字編輯器通常分為兩種基本型別:圖形化的和非圖形化的(基於文字)編輯器。

一些典型的圖形化編輯器有GNOME 和KDE。GNOME編輯器自帶了gedit 的編輯器,它通常在GNOME 選單中稱為“文字編輯器”。KDE自帶了三種編輯器,分別是kedit,kwrite,kate。

那麼基於文字的編輯器有nano、vi 和emacs。

nano 編輯器是一個簡單易用的編輯器。vi 編輯器(目前已被vim (“Vi IMproved” 的簡寫)替代)是類Unix 作業系統的傳統編輯器。emacs 編輯器屬於龐大的、多用途的,可做任何操作的程式設計環境。

無論哪種型別的文字編輯器都可以在命令列中輸入編輯器的名字及想要編輯的檔名,執行文字編輯操作。在這篇文章中,我們學到了用文字編輯器來編輯配置檔案的基本技巧。

這篇文章主要討論了linux  SHELL環境的一些基礎知識及基本的操作技巧。在編寫這篇文章過程中我還參考了 這本書,基於紅帽8編寫,內容很貼近實踐,很有理論指導實踐價值的一本書籍。

 

 

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2853194/,如需轉載,請註明出處,否則將追究法律責任。

相關文章