《Linux 基礎(chǔ)入門(新版)》學(xué)習筆記附實驗樓地址:
一、環(huán)境變量
-
declare
聲明或顯示shell變量;
linux ?$ declare tmp=liming //創(chuàng)建 ?$ echo $tmp //顯示 ?$ liming ?$ unset tmp //刪除
-
Shell 程序也作為一個進程運行在操作系統(tǒng)之上,而我們在 Shell 中運行的大部分命令都將以 Shell 的子進程的方式運行。
-
三個與環(huán)境變量相關(guān)的命令:
-
set // 當前Shell所有變量
-
env // 當前用戶相關(guān)
-
export // 從Shell中導(dǎo)出環(huán)境變量的變量
-
關(guān)于哪些變量是環(huán)境變量,可以簡單地理解成在當前進程的子進程有效則為環(huán)境變量,否則不是
-
注意:為了與普通變量區(qū)分,通常我們習慣將環(huán)境變量名設(shè)為大寫。
-
永久生效
* 永久的變量和臨時的變量(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