鍵盤 -- /dev/stdin -- 0 -- 標準輸入linux
顯示器 -- /dev/sdtout -- 1 -- 標準輸出shell
顯示器 -- /dev/sdterr -- 2 -- 標準錯誤輸出緩存
標準輸出重定向:bash
覆蓋:命令 > 文件測試
追加:命令 >> 文件spa
標準錯誤輸出重定向:操作系統
覆蓋:錯誤命令 2> 文件3d
追加:錯誤命令 2>> 文件對象
正確輸出與錯誤輸出同時保存:blog
覆蓋:命令 > 文件1 2> 文件2
追加:命令 >> 文件1 2>> 文件2
# &>/dev/null(黑洞,垃圾箱)
命令1 | 命令2 # 命令1 的正確輸出做爲命令2 的操做對象
grep:
grep [options] 「搜索內容」 文件名
[options]
- i :忽略大小寫
- v:反轉輸出結果 example:grep -v "#" grep -v "^$"
- c:至關於將其傳遞給 wc 程序
- n:顯示行號,多用於編譯時使用
- w:精確匹配
- r:在目錄裏面遞歸搜索
- A,B,C:
--color=auto :搜索出的關鍵字用顏色顯示
example:
? 匹配任意一個字符
* 匹配任何內容
[] 匹配括號中的任意一個字符
[-] 匹配中括號鍾任意一個字符,- 表明範圍
# 註釋
$ 用於調用變量的值
\ 轉義符,在跟 \ 以後的特殊符號將失去特殊含義,變爲普通字符
[^] 邏輯非,表示匹配不是中括號內的一個字符。
’ ’ 在單引號中全部的特殊符號都沒有特殊含義
「 」 在雙引號中特殊符號都沒有特殊含義
可是「$」(調用變量的值)、「 ' 」(引用命令)、「\」(轉意符)是例外
$() 和反引號做用同樣,用來引用系統命令
變量是計算機內存的單元,其中存放的值是能夠改變的。
能夠由字母,數字,下劃線組成,可是不能以數字開頭
變量的默認類型都是字符串型。
變量要用等號鏈接值,等號左右兩側不能有空格
變量的值若是有空格,須要使用單引號或者雙引號包括
變量的值中,可使用 「\」 轉義符
能夠把命令的結果做爲變量值賦予變量,則須要使用 反引號 或 $() 包含命令
若是是把命令的結果做爲變量值,那麼能夠進行變量值得疊加。不過變量須要用 「$變量名」 或 ${變量名} 包含
環境變量名建議大寫,便於區分
用戶自定義變量:自由定義(只要符合規則)
環境變量:這種變量中主要保存的是和操做系統環境相關的數據
預約義變量:是 Bash 中已經定義好的變量,變量名不能自定義,變量做用也是固定的
位置參數變量:這種變量主要是用來向腳本當中傳遞參數(嚴格來講是預約義變量中的一種)
用戶自定義變量只是在當前的 shell 中生效,而環境變量會在當前 shell 和這個 shell 的全部子 shell 的全部子 shell 當中生效
若是把環境變量寫入相應的配置文件,那麼這個環境變量就會在全部的 shell 中生效
概述: 環境變量,對於全部的環境都會影響
export: export 申明爲全局變量
env:
unset:
pstree:進程樹
PATH:
系統查找命令的路徑
example(臨時生效)
(並不習慣如此)
(使用變量疊加的方式,把本身存放腳本的位置添加到環境變量當中)
PS1:
定義系統提示符的變量
- p: 「 提示信息 」,在等待 read 輸入時,輸出提示信息
- t : 「 秒數 」,read命令會一直等待用戶輸入,使用此選項能夠指定等待時間
- n: 「 字符數 」,read命令只接受指定的字符數,就會執行
- s: 「 隱藏 」, 隱藏輸入的數據,適用於機密信息的輸入
1)、linux 默認的變量是 字符串類型(integer)
2)、declare 聲明變量類型