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

大雄45 發表於 2022-01-20
Linux

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

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

L INUX 環境變數

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

如何檢視環境變數呢?

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

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

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

/ / 執行命令

[ test @ probe  ~]$ 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= test

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 @linux probe  ~]$ printenv USER

t est

 

變數

內容

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

你的使用者名稱

 

 

建立L INUX shell 環境

 

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

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

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

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

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

檔案

內容

/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    S HELL 環境的一些基礎知識及基本的操作技巧。在編寫這篇文章過程中我還參考了 這本書, 基於紅帽8編寫, 內容很貼近實踐,很有理論指導實踐價值的一本書籍。

 


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