第5節 環境變數與文件查找 《Linux 基礎入門(新版)》學習筆記 ...
《Linux 基礎入門(新版)》學習筆記
附實驗樓地址:https://www.shiyanlou.com/courses/1
一、環境變數
declare
聲明或顯示shell變數;
linux $ declare tmp=liming //創建 $ echo $tmp //顯示 $ liming $ unset tmp //刪除
- Shell 程式也作為一個進程運行在操作系統之上,而我們在 Shell 中運行的大部分命令都將以 Shell 的子進程的方式運行。
- 三個與環境變數相關的命令:
set // 當前Shell所有變數
env // 當前用戶相關
export // 從Shell中導出環境變數的變數
- 關於哪些變數是環境變數,可以簡單地理解成在當前進程的子進程有效則為環境變數,否則不是
- 註意:為了與普通變數區分,通常我們習慣將環境變數名設為大寫。
永久生效
* 永久的變數和臨時的變數(export聲明)
* 兩個文件:
* ```/etc/bashr // shell變數```
* ```/ect/profile // 環境變數,對所有用戶永久生效```
* 用戶目錄的一個隱藏文件:```.profile //只對當前用戶生效```
* 如何實現永久:
* 將需要的環境變數添加到```/etc/profile```
命令查找路徑與順序
$ echo $PATH
$ PATH=$PATH:/home/shiyanlou/mybin
// (這裡在mybin目錄下有自己寫的.sh)
// 添加自定義路徑到“PATH”環境變數中
但是一旦退出終端再打開就失效了
實現全局有效
在每個用戶 home 目錄中有一個 Shell 每次啟動預設執行一個配置腳本,以初始化環境,包括添加一些用戶自定義環境變數等等。
zsh 的配置文件是 .zshrc,
Bash 的配置文件 .bashrc 。
它們在 etc 下還都有一個或多個全局的配置文件,不過我們一般只修改用戶目錄下的配置文件。
$ echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
其中
>>
表示追加到一個文件中
>
表示覆蓋到一個文件中
修改和刪除已有變數
修改變數
變數設置方式 | 說明 |
---|---|
${變數名#匹配字串} | 從頭向後開始匹配,刪除符合匹配字串的最短數據 |
${變數名##匹配字串} | 從頭向後開始匹配,刪除符合匹配字串的最長數據 |
${變數名%匹配字串} | 從尾向前開始匹配,刪除符合匹配字串的最短數據 |
${變數名%%匹配字串} | 從尾向前開始匹配,刪除符合匹配字串的最長數據 |
${變數名/舊的字串/新的字串} | 將符合舊字串的第一個字串替換為新的字串 |
${變數名//舊的字串/新的字串} | 將符合舊字串的全部字串替換為新的字串 |
例:
$ path=$PATH
$ echo $path
$ path=${path%/home/shiyanlou/mybin}
# 或使用通配符,*表示任意多個任意字元
$ path=${path%*/mybin}
讓環境變數立即生效
$ source .zshrc
或使用.
$ . ./.zshrc
二、文件查找
常用查找命令:
whereis
搜二進位文件(-b),man文件(-m),源代碼文件(-s)
$ locate /etc/sh //查找etc目錄下以sh開頭的文件* 通過“/var/lib/mlocate/mlocate.db”資料庫 * 手動更新資料庫```updatedb``` * 例:
$ locate /usr/share/*.jpg // \ 轉義
*
-c計數 *
-i``` 忽略大小寫which
只能從PATH中搜索命令find
強$ find ~ -mtime 0 //查找當天有改動的文件
黑客帝國數字雨
命令:
cmatrix
$ sudo apt-get update;sudo apt-get install cmatrix