CentOS 命令列 glob 匹配的介紹和使用

2021-10-10 10:49:23 字數 1291 閱讀 2738

在 centos 的命令列中使用命令的時候,如果不使用正則相關的命令,我們是否可以使用類似正則的匹配呢,比如在使用 ls、find、rm 等命令時?

glob 匹配正是您所需要的。此匹配規則在 centos 手冊頁的 glob 條目的第七類中可以找到。 命令man 7 glob可查詢此資訊。

glob 匹配型別

glob 具有四種匹配型別,分別為萬用字元(wildcard)、字元類(character classes)、範圍(ranges)和反(complementation)匹配。

萬用字元匹配(wildcard)

單個字串就是乙個萬用字元匹配,但在此字串中如有 ?、* 或 [ 符號時,將會啟用匹配擴充套件。

* 匹配 0 至 n 個任意字元。

? 匹配任意單個字元。

字元類匹配(character classes)

匹配括號內用逗號分隔的字元集合中的任意單個字元。

[!]將匹配 ]、[、! 三個字元中的任意乙個字元。

範圍匹配(ranges)

[start_char-end_char]方括號加連字元方式,可以匹配多個連續字母字元或遞增數字字元集合中的任意單個字元。

[a-fa-f0-9]等同[abcdefabcdef0123456789]

反匹配(complementation)

[!character_set]方括號中使用感嘆號,可以匹配所有字元集合中的,但不包括在感嘆號後字元集合的任意單個字元。

[!]a-]將匹配除了 ]、a、、- 字元的所有字元集合中的任意單個字元。

注意事項

在 shell 命令列中,轉譯字元\可以取消?*[的特殊功能,但在方括號中的字元表示願意,如[[?*\]匹配其中四個字元。

在對路徑名匹配中,/字元不能被?*或像 「[.-0]」 範圍匹配所匹配。在範圍匹配中包含/,是語法錯誤。

檔名以.為起始時,無法被*匹配,必須顯式的匹配點號。

rm *命令不會刪除所有檔案。

tar c *命令不會打包所有檔案,tar c .就好多了。

命令列 Git Bash命令列小結

展示當前完整路徑pwd 建立資料夾mkdir 建立檔案touch 刪除資料夾rm rf 刪除檔案rm 重新命名mv 展示當前路徑下檔案 除了隱藏檔案 ls 展示當前路徑下所有檔案ls a 展示當前路徑下所有檔案以及詳細資訊ls al 轉至某目錄cd 根目錄 上級目錄.當前目錄.檢視檔案cat 檔名稱...

CentOS 命令列下網路配置

注 此方法適用於永久配置網路資訊 1 檢視網絡卡資訊 ifconfig 2 配置ip vi etc sysconfig network scripts ifcfg eth0 device eth0 網絡卡編號 bootproto static 靜態ip或者dhcp動態獲取。靜態 static 動態 ...

CentOS設定預設啟動命令列

linux 啟動的時候可以選擇純文字或者是視窗環境,這就牽涉了執行等級這個問題。linux 預設提供了 7 個 run level 給我們使用,其中我們最常用的就是 run level3 和run level5 這兩個了。如果你想要讓 linux 在開機啟動的時候執行的是純文字環境 run leve...