基於linux下的字元匹配

2021-08-20 17:14:19 字數 3611 閱讀 9075

建立檔案:       touch "fi le" "fiale" "fiale" "fi?le" "fi6le"

[[:alpha:]]     匹配單個字母     格式:

rm -fr fi[[:alpha:]]le

結果如下圖所示:

[[:lower:]]     匹配單個小寫字母

[[:upper:]]     匹配單個大寫字母

[[:digit:]]     匹配單個數字

[[:alnum:]]     匹配單個數字或字母

[[:punct:]]     匹配單個符號

[[:space:]]     匹配單個空格

當我們沒有加萬用字元時候每次刪除都要詢問是否刪除,加上萬用字元之後就會把相應功能的檔案刪除掉,我們在操作時候可以上下翻命令,為了更好地呈現效果,每次我們刪除掉之後重新建立一下所有檔案以便觀察。再就是需要每天練習熟悉相應的命令。

練習:將etc目錄下面的帶數字的還有.conf檔案移出來到桌面:

cp /etc/*[[:digit:]]*.conf .

這個命令中乙個就是*代表匹配所有字元,然後.代表就是移動到當前路徑。

[^[:digit:]] [![:digit:]]指不是數字的兩種表示方法,意味著^和!的功能一樣。這個有時候在我們刪除檔案時候也特別有用,呈現如下:如下圖我們可以很明顯的看到除了字母數字其他的全部被刪除了。

{}指定的目標 touch file

指定的目標的意思就是比如touch file,即建立三個檔案file1,file2,file3。

135     (逗號的功能就是表示具體的1,3,5三個文                              件)

a c e     (指具體的a c e檔案)

1a 2a 3a 2a 2b 2c 3a 3b 3c

touch file指九個,排列的方式。

生成檔案的部分截圖如下,實際上應該有6*9=54個檔案。

模糊的目標touch file[1-3]

表示模糊匹配,裡面的內容是條件

[a-c]                 aa bb cc

[a-c]                 aa或者bb或者c

[1-3]                 1或者2或者3

[145]                 或者4或者5

[^abc] [!abc]          除了a並且除了b並且除了c

rm -fr file[26]      指2或者6,意思移除file2和file6。

rm -fr file[!26]*      指不是2或者6,意思將建立的資料夾全部刪除加上刪除的2和6。

模糊的目標的意思就是裡面的檔案是或者關係,touch file[1-3]表示建立檔案一或者檔案二或者檔案三。並不要求全部都有。

舉個例子:比如file3就可以和touch file[1-3]匹配,而不可以和touch file匹配,因為後者要求一二三檔案均存在。

用命令和正規表示式按照要求建立檔案

用一條命令建立 12 個檔案 westos_classx_linuxy(x 的數值範圍為 1-2 , y 的數值範圍為(1-6)

touch westos_classlinux

這些檔案都包含在 root 使用者桌面的 study 目錄中

mkdir study

mv westos_class* study

用一條命令建立 8 個檔案 redhat_versionx ( x 的範圍為 1-8 )

touch redhat_version

redhat_virsionx 這些檔案都包含在 /tmp 目錄中的 version 中

mkdir /tmp/version

mv redhat_version* /tmp/version

管理剛才新建立的檔案要求如下

用一條命令把 redhat_versionx 中的帶有奇數的檔案複製到桌面的 single 中

mkdir single

mv /tmp/version/redhat_version single

用一條命令把 redhat_versionx 中的帶偶數數的檔案複製到 /double 中

mkdir double

mv /tmp/version/redhat_version double

用一條命令把 westos_classx_linuxy 中 class1 的檔案一動到當前使用者桌面的 class1 中

mkdir class1

mv /study/westos_class[1]linux* class1

用一條命令把 westos_classx_linuxy 中 class2 的檔案一動到當前使用者桌面的 class2 中

mkdir class2

mv /study/westos_class[2]linux* class2

備份 /etc 目錄中名字帶有數字並且以 .conf 結尾的檔案到桌面上的 confdir 中

cp /etc/*[[:digit:]]*.conf .

刪掉剛才建立或者備份的所有檔案

rm -rf*

rm -rf /tmp/version*

部分截圖如下:

***對於作業就是得多練習,再就是我們做題之前要學會觀察,比如移動目錄時我們要先觀察目錄是否存在,不存在的話先建立然後進行其他操作。還有我們得對ls命令熟練掌握,這個可以幫助我們觀察作業的正確性,最後就是注意絕對路徑還有就是注意別犯一些打錯字符缺少字元的小毛病!

基於Linux下的dhcp服務

dhcp伺服器動態獲得位址的簡要的工作原理 服務端通過廣播位址向dhcp伺服器傳送請求,dhcp伺服器接受到請求,將沒有租出的ip位址傳送給客戶端,響應給客戶端乙個dhcp offer封包,同時返還的dhcp discover封包內包含mac,並且有乙個 xid 編號來辨別該封包,客戶端根據需要接受...

基於Linux下的重置密碼

我們在實際的操作中總是會出現密碼忘記的情況,接下來演示重置密碼操作。root密碼忘記 1.重新啟動系統 2.在系統啟動階段按上下健停止系統系統引導 3.選擇啟動引導標題,按 e 進行編輯 4.找到linux16引導條目這一行,從這行最後刪除到ro選項,並把ro改為rw,然後新增rd.break選項 ...

基於Linux下的UDP程式設計

一.linux下udp程式設計框架 使用udp進行程式設計可以分為客戶端和伺服器端兩部分。1.伺服器端程式包括 建立套接字 將套接字位址結構進行繫結 讀寫資料 關閉套接字 2.客戶端程式包括 建立套接字 讀寫資料 關閉套接字 3.伺服器端和客戶端程式之間的差別 伺服器端和客戶端兩個流程之間的主要差別...