Linux學習-shell基礎02
Bash基本功能
歷史命令與補全
history [選項] [歷史命令儲存檔案]
-c 清空歷史命令 -w把快取中的歷史命令寫入歷史命令儲存檔案 ~/.bash.history
預設儲存1000條歷史命令, 也可以修改/etc/profile 這個檔案
歷史命令的呼叫
上下箭頭 !n 直接跳到第多少條歷史命令 !!重複執行上一條命令 !字串 重複執行最後一條以字串開頭的命令
命令與檔案補全
Tab鍵可以補全,前提是隻能匹配一個命令,否則按兩下會顯示所有以當前字串開頭的命令。
命令別名
alias 別名='原命令' alias 直接檢視所有別名 unalias刪除別名
定義別名注意不要跟原始的命令一樣
命令執行時順序
1,用絕對路徑或者相對路徑執行的命令
2,第二順位 執行別名
3,執行Bash的內部命令
4,執行按照$PATH環境變數定義的目錄查詢順序找到的第一個命令
這樣定義的 重啟就失效了。 讓別名永久生效 修改 /root/.bashrc 檔案
Bash常用快捷鍵
紅色是常用的,看起來是大寫字母,其實只要ctrl 加字母就行
ctrl + A 把游標移動到命令列開頭
ctrl + E 把游標移動到命令列尾部
ctrl + C 強制終止當前命令
ctrl + L 清屏
ctrl + U 刪除或者剪下游標之前的命令,比如一個很長的命令,不想使用退格鍵一個一個的刪
ctrl + K 產出或剪下游標之後的內容
ctrl + Y 貼上ctrl + U 或 ctrl + K 的內容
ctrl + R 在歷史命令中搜尋命令
ctrl + D 退出當前終端
ctrl + Z 暫停,並放入後臺
ctrl + D 暫停螢幕輸出
ctrl + Q 恢復螢幕輸出
輸入輸出重定向
1.標準輸入輸出
鍵盤 /dev/stdin 0 標準輸入
顯示器 /dev/sdtout 1 標準輸出
顯示器 /dev/sdterr 2 標準錯誤輸出
2.輸出重定向
把輸出重新定義輸出方向, 比如本來輸出到螢幕的,然後重定向為輸出到檔案裡。
應用:比如深夜需要伺服器做一些負載大的事。是自動執行的。則需要把輸出存到檔案中 供管理員白天來看。
標準輸出重定向 命令>檔案 以覆蓋的方式,把命令的正確輸出輸出到指定的檔案或者裝置中
命令>>檔案 以追加的方式,。。。。
標準錯誤輸出重定向 錯誤命令 2>檔案 以覆蓋的方式。。。
錯誤命令 2>>檔案 (不能有空格!!) 以追加的方式。。。
正確輸出和錯誤輸出同時儲存
命令 > 檔案 2>&1 以覆蓋方式,把正確錯誤的輸出都儲存到同一個檔案
命令 >> 檔案 2>>&1 以追加方式,把正確錯誤的輸出都儲存到同一個檔案
命令 &>檔案(沒有空格!) 以覆蓋方式,把正確錯誤的輸出都儲存到同一個檔案
命令 &>>檔案(沒有空格!) 以追加方式,把正確錯誤的輸出都儲存到同一個檔案
命令>>檔案1 2>>檔案2 把正確的輸出追加到檔案1 錯誤輸出追加到檔案2ls &>/dev/null 把命令輸出丟進黑洞,不讓它有輸出顯示
3.輸入重定向
就是不用常用輸入作為輸入源,而是把輸入源改為檔案裡的內容 之類的23
統計命令 wc [選項] [檔名]
-c 統計位元組數 -w 統計單詞數 -l統計行數
命令格式: 命令 < 檔案
多命令順序執行
; 號 命令1; 命令2 多個命令順序執行,相互之間沒有關係
&& 命令1&&命令2 只有當命令1正確執行了 命令2才會執行
|| 命令1||命令2 只有命令1不正確,命令2才會執行
dd 命令 複製特殊命令,
dd if=輸入檔案 of=輸出檔案 bs=位元組數 count=個數
原始檔 目標檔案 一個資料塊大小 指定輸出輸入多少個資料塊
管道符
命令1 | 命令2
命令1 的正確輸出 作為命令2的輸入
grep [選項] "搜尋內容" 檔案
-n 顯示行號
-i 忽略大小寫
-v 反向查詢
--color=auto 搜出的關鍵詞用顏色顯示
萬用字元
? 匹配一個任意字元
* 匹配0個或任意多個任意字元
[] 匹配括號中的任意一個字元
[-] 匹配括號中任意一個字元,-代表一個範圍。
[^] 邏輯非,表示匹配不是括號內的一個字元 例如[^0-9] 匹配一個不是數字的字元
特殊符號
'' 單引號,單引號中所有特殊符號都沒有特殊含義了
"" 雙引號,在雙引號中特殊符號沒含義,但是$ 、 ` 和 \ 是例外,擁有呼叫變數的值、引用命令和轉義父的特殊含義
`` 反引號,反引號括起來的內容是系統命令,在Bash中會先執行它。
和$()作用狗一樣,不過建議用$(),因為反引號很容易看錯
$() 和反引號作用一樣 用來引用系統命令
# 在shell指令碼中,#開頭的行代表註釋
$ 用於呼叫變數的值,入需要呼叫變數name的值,需要用$name
\ 轉義符號,在\之後的符號會實區其本身意思
相關文章
- 【Linux學習筆記29】shell指令碼基礎Linux筆記指令碼
- JavaWeb基礎-學習筆記02JavaWeb筆記
- Linux shell基礎3Linux
- Linux shell基礎1Linux
- Linux shell基礎2Linux
- Linux基礎學習Linux
- 學習linux基礎Linux
- Linux基礎學習——檔案基礎Linux
- linux基礎命令學習Linux
- Linux基礎五(shell指令碼)Linux指令碼
- Linux基礎學習-Docker學習筆記LinuxDocker筆記
- Linux系統基礎學習Linux
- Linux基礎學習五點Linux
- 學習Shell程式設計要掌握哪些基礎?linux運維工程師前景程式設計Linux運維工程師
- Linux shell基礎知識_8(下)Linux
- Linux 筆記分享四:Shell 基礎Linux筆記
- Linux shell 指令碼基礎介紹Linux指令碼
- Linux基礎之Shell與變數Linux變數
- 女生適合學習Linux運維嗎?Linux基礎學習Linux運維
- Linux運維基礎學習怎麼樣?linux基礎入門Linux運維
- 基礎 IO (Linux學習筆記)Linux筆記
- 學習Linux務必要打好基礎Linux
- 傳智黑馬python基礎學習——day02Python
- 學Linux運維要有什麼基礎?Linux學習Linux運維
- 數學基礎講解-02
- Linux 學習基礎入門之Linux分割槽Linux
- 0基礎能學習Linux運維嗎?Linux初學Linux運維
- Linux基礎命令---enable開啟shell命令Linux
- Linux基礎入門(一)初識ShellLinux
- 大資料學習之Linux基礎大資料Linux
- Linux學習之(shell展開)Linux
- shell基礎
- 零基礎可以自學Linux嗎?Linux技術學習Linux
- Linux 學習基礎入門之Linux發展史Linux
- Linux基礎學習系列——Linux檔案目錄操作命令Linux
- Linux運維學習記錄02Linux運維
- Linux Shell指令碼程式設計-基礎1Linux指令碼程式設計
- Linux必須掌握的shell指令碼基礎Linux指令碼