1. 程式人生 > >bash常用命令與技巧

bash常用命令與技巧

Bash特性簡單介紹

一、bash介紹:

bash是一個為GNU計劃編寫的Unix shell,它的名字是一系列縮寫:Bourne-Again SHell。 Bash是許多Linux發行版默認的Shell。還有許多其他傳統UNIX上用的Shell,如:tcsh、csh、ash、bsh、ksh等。

二、bash特性:

1、bash:

(1)、命令歷、命令補全

(2)、管道、重定向

(3)、命令別名

(4)、命令行編輯

(5)、命令行展開

(6)、文件名通配

(7)、支持使用變量

(8)、支持編程(腳本)


2、命令行編輯:

光標跳轉:

(1)、Ctrl+a:跳到命令行首

(2)、Ctrl+e:跳到命令行尾

(3)、Ctrl+u:刪除光標至命令行首得內容

(4)、Ctrl+k:刪除光標至命令行尾得內容

(5)、Ctrl+l:清屏


3、命令歷史

查看命令歷史:history

(1)、-c:清空命令歷史

(2)、-d OFFSET [n]:刪除指定位置得命令

(3)、-w:保存命令歷史至歷史文件中


4、環境變量

PATH:命令搜索路徑

HISTSIZE:命令歷史緩沖區大小


5、命令歷史的使用技巧

(1)、!n:執行命令歷史中的第n條命令

(2)、!-n:執行命令歷史中的倒數第n條命令;

(3)、!!:執行上一條命令;

(4)、!string:執行命令歷史中最近一個指定字符串開頭的命令

(5)、!$(另外一種方法:先按esc,松開後再按.):引用前一條命令的最後一個參數

(6)、Esc ,.:引用前一條命令的最後一個參數


6、命令補全:tab鍵

搜索PATH環境變量中指定的每個路徑下以我們給出的字符串開頭的可執行文件,如果多余一個,兩次tab,可以給出列表;否則將直接補全。

PATH:

路徑補全:tab鍵

搜索我們給出的起始路徑下的每個文件名,並試圖補全。


7、命令別名:

alias CMDALIAS=‘COMMAND’[options] [arguments]

在shell中定義的別名盡在當前shell生命周期中有效;別名的有效範圍僅為當前shell進程。

ualias CMDALIAS :撤銷命令


8、命令替換:$(COMMAND),反引號:`COMMAND`

把命令中某個子命令替換為其執行結果的過程。

例子:把當前時間寫入文件名中,

技術分享圖片


9、bash支持的引號:

(1)、``:命令替換

(2)、“”:弱引用,可以實現變量替換

(3)、‘’:強引用,不完成變量替換


10、文件名通配:globbis (* ? [])

(1)、 *:任意長度的任意字符

(2)、 ?:匹配任意單個字符

(3)、 []: 匹配指定範圍內的任意單個字符 [abc] [a-m] [a-z] [A-Z] [0-9] [a-zA-Z]

[:space:] :表示空白字符的集合

[:punct:]:表示標點符合

[:lower:]:表示小寫字母

[:upper:]:表示大寫字母

[:alpha:]:表示大小寫字母

[:digit:]:表示數字

[:alnum:] :表示數字和大小寫字母

(4)、 [^]:匹配指定範圍外的任意單個字符

bash常用命令與技巧