2-1:配置与环境之环境
文章目錄
- 前言
- 一:環境中存儲的是什么
- (1)查看環境變量
- (2)一些有趣的變量
- 二:環境是如何建立的
- (1)login和non-login shell
- (2)啟動文件中有什么
- 三:修改環境
- (1)你能修改哪些內容?
- (2)文本編輯器
- (3)使用文本編輯器
前言
前面講過,Linux中一切皆文件,所以大多數程序使用配置文件來存儲程序設置,但是一些程序也會查找環境中存儲的變量來調整自己的行為,這也就是我們常說的環境變量。關于環境變量,下面的文章中有更多深入的探究,請移步
環境變量
本章所用到命令如下
- printenv:打印部分或全部環境信息
- set:設置shell選項
- export:將環境變量導出到隨后要運行的程序
- alias:為命令創建一個別名
一:環境中存儲的是什么
shell在環境中存儲了兩種基本類型的數據,但是在bash中,這兩種類型基本沒有區別。這兩種數據類型分別是環境變量和shell變量。shell變量是由bash存放的少量數據,環境變量就是除此之外的所有其他變量。除變量之外,shell還存儲了一些編程數據,也就是別名和shell函數。其中第一部分第五章已經敘述了別名(alias),而shell函數將在第四部分介紹
(1)查看環境變量
使用printenv只會顯示環境變量
如果要查看一個特定的環境變量,比如說HOME,那么就輸入printenv HOME(其實第一部分第七章也講過擴展的方式查看,echo $HOME)
使用set命令(不帶參數)可以查看shell變量和環境變量,以及已經定義的shell函數,注意set的結果是按照字母表順序排列的
(2)一些有趣的變量
printenv所展示的環境變量非常多,其中值得注意的有以下幾個
二:環境是如何建立的
用戶登錄系統后,bash程序就會啟動并讀取一系列稱為啟動文件的配置腳本,這些腳本定義了所有用戶共享的默認環境。接下來,bash會讀取更多存儲在主目錄下的用于定義個人環境的啟動文件。這些步驟執行的確切順序是由啟動的shell會話類型決定的。
(1)login和non-login shell
shell會話存在兩種類型,分別是login shell會話和non-login shell會話
login shell會話會提示用戶輸入用戶名和密碼,而我們在經常在終端中通過點擊圖標方式啟動的會話就是一個典型的non-login shell會話
login shell會讀取一個或多個啟動文件,如下是login shell的啟動文件
下面是non-login shell讀取的啟動文件
- non-login shell除了會讀取以上的啟動文件之外,還會繼承父類進程的環境,父類通常是一個login shell
(2)啟動文件中有什么
查看etc/profile文件,如下
- 其中以“#”開頭的是注釋
上圖中注意高亮區域的代碼,為什么你的環境變量是這個?這段if語句其實就說明了
ls命令為什么不需要輸入完整路徑就可以查詢,就是因為Linux將usr/bin這個目錄添加帶了環境變量當中,Linux查找命令時會先在PATH目錄中尋找
- 其中的export PATH是告訴shell,shell的子進程使用PATH變量的內容
三:修改環境
Linux一切都靠配置文件,所以想要掌控我們的Linux,就必須要會修改配置
(1)你能修改哪些內容?
一般來說我們進行的修改就是想PATH中添加目錄,或者定義其他額外的環境變量。
(2)文本編輯器
既然Linux的配置文件都是文本,那么想要處理他們就需要一款編輯器了,類似于Windows中的記事本
文本編輯器大概分為兩類:圖形和基于文本的。GNOME(GNU網絡對象模型環境)和KDE(K桌面環境)都配備有一些流行的圖形界面編輯器。GNOME配備的編輯器叫做gedit(通常稱為Text Editor)。KDE則分別配備了三種編輯器,分別是kedit,kwrite和kate
基于文本的編輯器,最受歡迎的有nano,vi和emacs。其中vi(現在叫vim)是最為主要的,下一章介紹的就是它
(3)使用文本編輯器
本章主要如何使用圖形化的文本編輯器進行,編輯.bashrc文件時,由于它的配置文件,所以干的第一份工作就是備份,將.bashrc文件進行拷貝成bashrc.bak,并將其移動到桌面
然后打開我們的文本編輯器,并將文件拖拽進去,即可打開這個文件
讓我們在文件后面追加這樣一段代碼alias lh='ls -d .* --color=auto',它的意思是終端輸入lh命令就可以顯示所以隱藏目錄。
- 為了便于閱讀,記得加上注釋
然后將桌面下的這個文件重命名為之前的名字,接著復制到原先路徑下,這樣它就會覆蓋
修改完成了,但是只有重新登錄shell才會重新讀取.bashrc,當然可以用source .bashrc強制重新讀取
如上,配置文件被成功修改了
總結
以上是生活随笔為你收集整理的2-1:配置与环境之环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统编程38:多线程之什么是线
- 下一篇: 6-5-3:STL之stack和queu