bash常用功能

2022-01-10 08:07:40 字數 4135 閱讀 5889

1、歷史命令

[root@centos7 ~]# history [選項] [歷史命令儲存檔案] 

選項:

-c: 清空歷史命令

-w: 把快取中的歷史命令寫入歷史命令儲存檔案。如果不手工指定歷史命令儲存檔案,則放入預設歷史命令儲存檔案~/.bash_history 中

2、歷史命令使用
[root@centos7 ~]# !sys

systemctl restart vsftpd

3、命令別名
1)設定別名

[root@centos7 ~]# alias 別名=「命令」

[root@centos7 ~]# alias vi="vim"

為了讓這個別名永久生效,可以把別名寫入環境變數配置檔案「~/.bashrc,~/.bash_profile」,只針對當前使用者

2) 檢視別名

[root@centos7 ~]# alias # 直接執行,顯示已經設定的別名命令

alias cp='cp -i'

alias egrep='egrep --color=auto'

....

3)取消別名

[root@centos7 ~]# unalias vi

4、bash 常用快捷鍵
快捷鍵                          作用 

ctrl+a 把游標移動到命令列開頭

ctrl+e 把游標移動到命令列結尾

ctrl+c 強制終止當前的命令

ctrl+l 清屏,相當於 clear 命令

ctrl+u 刪除或剪下游標之前的命令

ctrl+k 刪除或剪下游標之後的內容

ctrl+y 貼上 ctrl+u 或 ctrl+k 剪下的內容

ctrl+r 在歷史命令中搜尋,按下 ctrl+r 之後,就會出現搜尋介面,只要輸入搜尋內容,就會從歷史命令中搜尋。

ctrl+d 退出當前終端

ctrl+z 暫停,並放入後台

ctrl+s 暫停螢幕輸出

ctrl+q 恢復螢幕輸出

5、輸入輸出重定向

1)標準輸入輸出

裝置     裝置檔名     檔案描述符       型別 

鍵盤 /dev/stdin 0 標準輸入

顯示器 /dev/stdout 1 標準輸出

顯示器 /dev/stderr 2 標準錯誤輸出

輸出重定向

標準輸出重定向   覆蓋:正確命令 > 檔案  追加:正確命令 >> 檔案

標準錯誤輸出重定向 覆蓋:正確命令 2> 檔案 追加:正確命令 2>> 檔案

正確和錯誤輸出到同乙個檔案中 覆蓋:命令 &> 檔案 追加:正確命令 &>> 檔案

正確和錯誤輸出到不同檔案中 命令 1>>檔案1 2>>檔案2

6、多命令順序執行
多命令執行符             格式                                   作用 

; 命令 1 ;命令 2 多個命令順序執行,命令之間沒有任何邏輯聯絡

&& 命令 1 && 命令 2 當命令 1 正確執行($?=0),則命令 2 才會執行 當命令 1 執行不正確($?≠0),則命令 2 不會執行

|| 命令 1 || 命令 2 當命令 1 執行不正確($?≠0),則命令 2 才會執行 當命令 1 正確執行($?=0),則命令 2 不會執行

示例:ping 100.100.100.100 -c1 &> /dev/null && echo "100.100.100.100 is ok " || echo "100.100.100.100 is error"

7、管道符

1)、字串查詢命令 grep

grep [選項] "搜尋內容" 檔名 

選項:

-a 數字: 列出符合條件的行,並列出後續的 n 行

-b 數字: 列出符合條件的行,並列出前面的 n 行

-c: 統計找到的符合條件的字串的次數

-i: 忽略大小寫

-n: 輸出行號

-v: 反向查詢

--color=auto 搜尋出的關鍵字用顏色顯示

示例:[root@centos7 ~]# grep -c "/bin/bash" /etc/passwd #查詢當前系統可以登入的使用者數

2)、檔案查詢命令 find,支援萬用字元

[root@centos7 ~]# find . -name "*.sh"  # 查詢當前目錄下,以sh結尾的檔案
3)、管道符 ,將前乙個命令結果交給後乙個命令進行處理 |

[root@centos7 script]# find . -name "*.sh" | wc -l #查詢當前目錄下,以sh結尾的檔案,並且統計個數
8、萬用字元
萬用字元                        作用 

? 匹配乙個任意字元

* 匹配 0 個或任意多個任意字元,也就是可以匹配任何內容

匹配中括號中任意乙個字元。例如:[123]代表一定匹配乙個字元,或者是 1,或者是 2,或者是 3。

[-] 匹配中括號中任意乙個字元,-代表乙個範圍。例如:[a-z]代表匹配一 個小寫字母。

[^] 邏輯非,表示匹配不是中括號內的乙個字元。例如:[^0-9]代表匹配一 個不是數字的字元

9、bash中的其他符號
''         單引號。在單引號中所有字元當作普通字串處理,所見所得。

"" 雙引號。在雙引號中所有字元當作普通字串處理,所見所得。但是「$」、「`」和「\」 是例外。

`` 反引號。反引號括起來的內容是系統命令,在 bash 中會先執行它。和$() 作用一樣,不過推薦使用$(),

() 用於一串命令執行時,()中的命令會在子 shell 中執行

{} 用於一串命令執行時,{}中的命令會在當前 shell 中執行。也可以用於變數變形與替換。

用於變數的判斷,一般與for,if等條件語句連用

# 在 shell 指令碼中,#開頭的行代表注釋。

$ 用於呼叫變數的值,如需要呼叫變數 name 的值時,需要用$name 的方式 得到變數的值。

\ 轉義符,跟在\之後的特殊符號將失去特殊含義,變為普通字元。如\$將 輸出「$」符號,而不當做是變數引用

示例

1)、單引號與雙引號

[root@centos7 script]# name=zs

[root@centos7 script]# echo "$name"

zs[root@centos7 script]# echo '$name'

$name

2)小括號與大括號的區別

()執行一串命令時,需要重新開乙個子 shell 進行執行 ;{}執行一串命令時,是在當前 shell 執行

()和{}都是把一串的命令放在括號裡面,並且命令之間用;號隔開

()最後乙個命令可以不用分號;{}最後乙個命令要用分號;

{}的第乙個命令和左括號之間必須要有乙個空格;()裡的各命令不必和括號有空格

SAP常用功能

1 sap外觀 幫助圖示右側的按鈕是customizing of local layout 定製本地布局 按鈕,可以用它來變更sap gui顯示介面的風格。2 sap導航 1 在sap print list視窗裡,如果不想在保持期內儲存系統假離線請求,在print screen list 列印頁面列...

IOS 常用功能

對xib檔案的處理 xib的載入可以通過 nsbundle maibundle loadnibnamed nsstring str owner nsstring temp dic nsdictionary dic 載入 xib的fileowner檔案。然後通過下標得到sub 如果要獲取xib中固定的...

PHP常用功能

1 字串 主要方法有 strops substr str split explode 等,更多方法檢視php官方手冊 字串的方法 strpos substr print r explode str sun of beach 獲取子字串在當前字串的索引位置 echo strpos str,ea 字串的...