日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux 命令都是bash,Linux 命令分类_bash基础特性

發(fā)布時(shí)間:2023/12/15 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 命令都是bash,Linux 命令分类_bash基础特性 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.歷史命令

history

在內(nèi)存中緩存當(dāng)前終端使用過(guò)的命令,

與其相關(guān)的幾個(gè)環(huán)境變量的配置:

HISTSIZE??? :在內(nèi)存中緩存命令的個(gè)數(shù)(history 中命令的個(gè)數(shù))

HISTFILE? ? :? 存在歷史命令的文件(~/.bash_history,存放命令的文件)

HISTFILESIZE:? 命令歷史文件中存放命令的個(gè)數(shù)(~/.bash_history存放命令個(gè)數(shù))

history 10????? 顯示最近的10條記錄

history -a? 手動(dòng)追加當(dāng)前的歷史命令到記錄文件

hisroty命令的加載和~/.bash_history命令是怎么記錄的?

調(diào)用歷史中的命令:

!#: 重復(fù)執(zhí)行第#條指令;

!!: 重復(fù)執(zhí)行上一條命令

!string? :重復(fù)執(zhí)行與string匹配的最近一條命令

調(diào)用上一條命令的最后一個(gè)參數(shù):

!$:

ESC, .

Alt+.

控制歷史命令的記錄方式:

環(huán)境變量:HISTCONTROL

ignoredups:忽略重復(fù)的命令;連續(xù)且相同方為“重復(fù)”;

ignorespace:忽略所有以空白開(kāi)頭的命令;

ignoreboth:ignoredups, ignorespace;

修改環(huán)境變量值的方式:export 變量名="值"

變量賦值:把賦值符號(hào)后面的數(shù)據(jù)存儲(chǔ)于變量名指向內(nèi)存空間;

2.命令補(bǔ)全

bash命令執(zhí)行:

內(nèi)部命令:

外部命令:bash根據(jù)PATH定義的路徑,自左向右在每個(gè)路徑下搜索以給定命令開(kāi)頭的文件,第一次找到即為要執(zhí)行的命令;

TAB補(bǔ)全:使用Tab鍵,補(bǔ)全用戶(hù)給定字符串開(kāi)頭的命令,只有一條命令的時(shí)候直接補(bǔ)全,有多條的時(shí)候,再次點(diǎn)擊Tab,則給提示所有相符的命令

3.路徑補(bǔ)全

路徑補(bǔ)全

把用戶(hù)給出的字符串當(dāng)做路徑開(kāi)頭,并在其指定上級(jí)目錄下搜索以指定的字符串開(kāi)頭的文件名;

如果惟一:則直接補(bǔ)全;

否則:再次Tab,給出列表;

4.命令行展開(kāi)

~:當(dāng)前用戶(hù)的家目錄

~USERNAME:? 給定用戶(hù)的家目錄

{}?? :可承載一個(gè)以逗號(hào)分割的列表,將其展開(kāi)為多個(gè)路徑

/tmp/{a,b}? = /tmp/a? ,? /tmp/b

5.命令執(zhí)行狀態(tài)

成功

失敗

bash使用特殊變量$?保存最近一條命令的執(zhí)行狀態(tài)結(jié)果:

0:成功

1-255:失敗

程序執(zhí)行有兩類(lèi)結(jié)果:

程序的返回值;

程序的執(zhí)行狀態(tài)結(jié)果;

6.別名

1.命令別名 -alias

通過(guò)alias命令實(shí)現(xiàn)

(1)查看當(dāng)前shell進(jìn)程中可以使用的全部別名? alias

(2) alias? NAME = VALUE 定以別名,僅對(duì)當(dāng)前shell或子shell有效

永久有效的命令,需要在配置文件中配置

(1)對(duì)當(dāng)前用戶(hù)有效?? ~/.bashrc

(2) 對(duì)所有用戶(hù)有效?? /etc/bashrc (不是所有系統(tǒng)都一樣)

NOTE:

編輯配置文件后不是立即生效,如果想立即生效,需要重新讀取配置文件

source? /path/to/file

.?? /path/to/file

撤銷(xiāo)別名 unalias

unalias [-a] NAME [NAME...]

NOTE:

別名和原來(lái)的名稱(chēng)相同,如果想要執(zhí)行原來(lái)的命令,使用:"/COMMAND"

7.glob (globbing)

bash中實(shí)現(xiàn)文件名”通配“

通配符: *?? ?? [ ]

(1)? *? ? 任意數(shù)量的字符?? :? 0+

a*b??? a-b之間可以任意數(shù)量的字符,可以沒(méi)有,也可以很多個(gè)

(2)? 任意單個(gè)字符?? : 1

a?b??? a-b之間有且一個(gè)字符

(3)[ ] ? 匹配指定范圍內(nèi)的任意單個(gè)字符 :? 指定范圍? 1

[0-9] :? 0-9之間任意單個(gè)字符

[a-z]:不區(qū)分字符大小寫(xiě)

(4) [^]? 匹配指定范圍之外的任意單個(gè)字符 : 指定范圍之外 1

[^0-9]?? 0-9之外的字符

[^a-z] ?? 非大寫(xiě)和小寫(xiě)字母字符

專(zhuān)用字符集合:(使用的時(shí)候需要外加 '[ ]')

[:digit:]:任意數(shù)字,相當(dāng)于0-9

[:lower:]:任意小寫(xiě)字母

[:upper:]: 任意大寫(xiě)字母

[:alpha:]: 任意大小寫(xiě)字母

[:alnum:]:任意數(shù)字或字母

[:space:]:

[:punct:]:標(biāo)點(diǎn)符號(hào)

練習(xí):

1、顯示/var目錄下所有以l開(kāi)頭,以一個(gè)小寫(xiě)字母結(jié)尾,且中間出現(xiàn)至少一位數(shù)字的文件或目錄;

# ls -d /var/l*[0-9]*[[:lower:]]

2、顯示/etc目錄下,以任意一位數(shù)字開(kāi)頭,且以非數(shù)字結(jié)尾的文件或目錄;

# ls -d /etc/[0-9]*[^0-9]

3、顯示/etc/目錄下,以非字母開(kāi)頭,后面跟了一個(gè)字母及其它任意長(zhǎng)度任意字符的文件或目錄;

# ls /etc/[^[:alpha:]][[:alpha:]]*

4、復(fù)制/etc目錄下,所有以m開(kāi)頭,以非數(shù)字結(jié)尾的文件或目錄至/tmp/mageedu目錄中;

# cp -a /etc/m*[^0-9] /tmp/mageedu

5、復(fù)制/etc目錄下,所有以.d結(jié)尾的文件或目錄至/tmp/magedu.com目錄中;

# cp -a /etc/*.d /tmp/magedu.com

6、復(fù)制/etc目錄下,所以有.conf結(jié)尾,且以m,n,r,p開(kāi)頭的文件或目錄至/tmp/mageedu.com目錄中;

# cp -a /etc/[mnrp]*.conf? /tmp/mageedu.com

8、bash的快捷鍵

Ctrl+l: 清屏,相當(dāng)于clear命令;

Ctrl+a:跳轉(zhuǎn)至命令開(kāi)始處;

Ctrl+e:跳轉(zhuǎn)至命令結(jié)尾處;

Ctrl+c:取消命令的執(zhí)行;

Ctrl+u: 刪除命令行首至光村所在處的所有內(nèi)容;

Ctrl+k: 刪除光標(biāo)所在處至命令行尾部的所有內(nèi)容;

9、bash的的I/O重定向及管道

為了更好理解,我新建了一篇文章。

總結(jié)

以上是生活随笔為你收集整理的linux 命令都是bash,Linux 命令分类_bash基础特性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。