分享環(huán)境變量與文件查找實例

《Linux 基礎(chǔ)入門(新版)》學(xué)習筆記附實驗樓地址:

一、環(huán)境變量

  • declare

    聲明或顯示shell變量;
    linux ?$ declare tmp=liming //創(chuàng)建 ?$ echo $tmp //顯示 ?$ liming ?$ unset tmp //刪除

分享環(huán)境變量與文件查找實例

  • Shell 程序也作為一個進程運行在操作系統(tǒng)之上,而我們在 Shell 中運行的大部分命令都將以 Shell 的子進程的方式運行。

  • 三個與環(huán)境變量相關(guān)的命令:

    • set // 當前Shell所有變量

    • env // 當前用戶相關(guān)

    • export // 從Shell中導(dǎo)出環(huán)境變量的變量

分享環(huán)境變量與文件查找實例

  • 關(guān)于哪些變量是環(huán)境變量,可以簡單地理解成在當前進程的子進程有效則為環(huán)境變量,否則不是

    • 注意:為了與普通變量區(qū)分,通常我們習慣將環(huán)境變量名設(shè)為大寫。

    • 分享環(huán)境變量與文件查找實例

永久生效

* 永久的變量和臨時的變量(export聲明)  * 兩個文件:      * "/etc/bashr // shell變量"      * "/ect/profile // 環(huán)境變量,對所有用戶永久生效"  * 用戶目錄的一個隱藏文件:".profile //只對當前用戶生效"  * 如何實現(xiàn)永久:      * 將需要的環(huán)境變量添加到"/etc/profile"

命令查找路徑與順序

$?echo?$PATH  $?PATH=$PATH:/home/shiyanlou/mybin  //?(這里在mybin目錄下有自己寫的.sh)  //?添加自定義路徑到“PATH”環(huán)境變量中

但是一旦退出終端再打開就失效了

實現(xiàn)全局有效

在每個用戶 home 目錄中有一個 Shell 每次啟動默認執(zhí)行一個配置腳本,以初始化環(huán)境,包括添加一些用戶自定義環(huán)境變量等等。

zsh 的配置文件是 .zshrc,
Bash 的配置文件 .bashrc 。

它們在 etc 下還都有一個或多個全局的配置文件,不過我們一般只修改用戶目錄下的配置文件。

$ echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc

其中>> 表示追加到一個文件中

>表示覆蓋到一個文件中

修改和刪除已有變量

修改變量

變量設(shè)置方式 說明
${變量名#匹配字串} 從頭向后開始匹配,刪除符合匹配字串的最短數(shù)據(jù)
${變量名##匹配字串} 從頭向后開始匹配,刪除符合匹配字串的最長數(shù)據(jù)
${變量名%匹配字串} 從尾向前開始匹配,刪除符合匹配字串的最短數(shù)據(jù)
${變量名%%匹配字串} 從尾向前開始匹配,刪除符合匹配字串的最長數(shù)據(jù)
${變量名/舊的字串/新的字串} 將符合舊字串的第一個字串替換為新的字串
${變量名//舊的字串/新的字串} 將符合舊字串的全部字串替換為新的字串

例:

$?path=$PATH  $?echo?$path  $?path=${path%/home/shiyanlou/mybin}  #?或使用通配符,*表示任意多個任意字符  $?path=${path%*/mybin}

讓環(huán)境變量立即生效

$ source .zshrc   或使用.  $ . ./.zshrc

二、文件查找

常用查找命令:

  • whereis 搜二進制文件(-b),man文件(-m),源代碼文件(-s)

  • *?通過“/var/lib/mlocate/mlocate.db”數(shù)據(jù)庫  *?手動更新數(shù)據(jù)庫"updatedb"  *?例:

    $ locate /etc/sh //查找etc目錄下以sh開頭的文件
    $ locate /usr/share/*.jpg // 轉(zhuǎn)義
    *-c計數(shù) *-i” 忽略大小寫

  • which 只能從PATH中搜索命令

  • find 強

    $?find?~?-mtime?0?//查找當天有改動的文件

    黑客帝國數(shù)字雨

    命令:cmatrix

    $?sudo?apt-get?update;sudo?apt-get?install?cmatrix

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊14 分享