《Linux 基礎入門(新版)》學習筆記附實驗大樓位址: 一、環境變數 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) * 通过“/var/lib/mlocate/mlocate.db”数据库 * 手动更新数据库"updatedb" * 例:$ locate /etc/sh //找出etc目錄下以sh開頭的檔案 $ locate /usr/share/*.jpg // \ 轉義*-c計數*-i" 忽略大小寫 #which 只能從PATH中搜尋指令 #find 強$ find ~ -mtime 0 //查找当天有改动的文件駭客任務數字雨 #指令:cmatrix$ sudo apt-get update;sudo apt-get install cmatrix