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