linux bash的基礎特性

2021-07-29 13:15:02 字數 3115 閱讀 4684

bash的基礎特性

(2):

1.命令別名(alias)

通過alias命令實現

(1)alias : 顯示當前

shell

程序所有可用的命令別名

(2)alias  name=」value」

定義別名name,其相當於執行命令

value

注:在命令列中定義的別名,僅對當前shell程序有效,若果想永久有效,要定義在配置檔案中

僅對當前使用者: ~/.bashrc

對所有使用者有效:/etc/bashrc

bash程序重新讀取配置檔案:

source  /path/to/config_file

2.glob(globing) linux名稱通配機制

bash中用於實現檔名「通配」

萬用字元:*,?,

[ ]

(1)*

任意長度的任意字元

a*b:  aab , ab , a123b , abc(x)

(2)?

任意單個字元

a?b: aab  ab(x)  a12b(x)

(3)[ ]

匹配指定範圍內的任意單個字元

[0~9]

[a~z]

3.bash快捷鍵

ctrl+l: 相當於

clear清屏

ctrl+a: 跳轉至命令首部    

ctrl+e

跳轉至命令結尾處

ctrl+c: 取消命令執行

ctrl+u: 刪除命令列首至游標所在處的所有內容

ctrl+k: 刪除游標所在處至命令行尾的所有內容

4.bash的

i/o重定向及管道

程式:指令+資料

讀入資料:input

輸出資料:output

開啟的檔案都有乙個fd: file descriptor(檔案描述符)

標準輸入:keyboard (檔案描述符:

0)(若預設輸入,則預設輸入為鍵盤)

標準輸出:monitor (檔案描述符:

1)(顯示器)

標準錯誤輸出:monitor 2

i/o重定向:改變標準位置

輸出重定向:command > new_pos , command >> new_pos

> : 覆蓋重定向,目標檔案中的原有內容會被清除

>>:追加重定向,新內容會被追加至目標檔案

# set -c : 禁止將內容覆蓋輸出至已有檔案中  

#set +c允許

強制覆蓋:>|

2> : 覆蓋重定向錯誤輸出資料流

2>>: 追加重定向錯誤輸出資料流

注:正確和錯誤為兩種不同的資料流

標準輸出和錯誤輸出各自定向至不同位置:

command> /path/to/file.out 2> /path/to/error.out

合併標準輸出和錯誤輸出至同一資料流進行重定向

&>:覆蓋重定向

&>>:追加重定向

command > /path/to/file.out 2> &1(功能同上)

輸入重定向:

<

tr字元轉換命令:轉換或刪除字元

tr [options]...  set1 [set2]

-d: 刪除資訊中

set1

這個字串

例:tr 『a-z』 『a-z』 < /etc/fstab

管道:command|command|...

注:最後乙個命令會在當前shell的子

shell

程序中執行

wc:統計輸出資訊的整體資料

-l: 僅顯示行數

-w: 僅顯示單詞數

cut: 將一段資訊的某一段切出來

-d: 後面接分割字元,與

-f一起使用

-f: 依據

-d的分隔符將一段資訊切割成數段,用

-f取出第幾段的意思

-c: 以字元

(characters)

的單位取出固定字元區間

例:echo $path | cut -d 『:』 -f 3-5,7     //以』:』分割,取出第3,4,5,7列

sort: 排序命令

-f: 忽略大小寫

-r: 反向排序

-t: 分隔符

-k: 以那個區間

(field)

來進行排序

-n: 使用數值大小進行排序

-u: 去重顯示,相同的資料中只顯示一次

例:cat  /etc/passwd | sort -t 『:』 -k 3  //以』:』來分割,以第三列進行排序

uniq: 將重複的資料僅列出乙個顯示

-c: 記錄重複的次數

-i: 忽略大小寫字元的不同

注:連續且相同為重複

cp: 複製檔案或目錄

cp  src  dest:   cp 源  目的

src是檔案:

如果目標不存在,則新建dest,並將

src中內容填充至

dest中

如果目標不存在

如果dest是檔案,將

src中的內容覆蓋至

dest中

如果dest是目錄,在

dest

下新建與原檔案同名的檔案,並將

src中內容填充至新檔案中

cp  src...  dest

src.. 多個檔案

dest必須存在,且為目錄,其他情況均會出錯

常用選項:

-i: 若目標檔案已經存在,在覆蓋時會先詢問操作的進行(常用)

-r: 遞迴持續複製,用於目錄的複製行為

-p: 連同文件的屬性一起複製過去,而非使用預設屬性(備份常用)

-a: 相當於

-pdr

mv(移動檔案與目錄,或更名)

-f: force強制的意思,如果目標檔案已經存在,不會詢問而直接覆蓋

-i: 若目標檔案已經存在詢問是否存在

rm(刪除檔案或目錄)

-f: 忽略不存在的檔案,不會出現警告資訊

-i: 互動模式,在刪除前會詢問使用者是否操作

-r: 遞迴刪除,最常用在目錄的刪除。是非常危險的引數

Linux bash基礎特性

2.2 檔案相關 2.3 指令碼程式設計相關 2.4 其他 shell程式是獨特的程式,這個程式提供了乙個介面 就那黑乎乎的命令列介面,即linux的終端介面 使用者通過這個介面訪問作業系統核心的服務,從而解析使用者提供的命令。而bash bourne again shell 是眾多shell的一種...

Linux Bash基礎特性

1 命令補全 bash執行命令 內部命令 help命令 外部命令 bash根據path環境變數定義的路徑,自左而右在每個路徑搜尋以給定命令名命名的文 件,第一次找到即為要執行的命令 直接補全 tab,使用者給定的字串只有一條惟一對應的命令 以使用者給定的字串為開頭對應的命令不惟一,則再次tab會給出...

Linux Bash基礎特性

1 命令補全 bash執行命令 內部命令 help命令 外部命令 bash根據path環境變數定義的路徑,自左而右在每個路徑搜尋以給定命令名命名的文 件,第一次找到即為要執行的命令 直接補全 tab,使用者給定的字串只有一條惟一對應的命令 以使用者給定的字串為開頭對應的命令不惟一,則再次tab會給出...