在 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...