導航:首頁 > 操作系統 > linux文件通配符

linux文件通配符

發布時間:2022-08-19 23:28:52

linux里*.* 和*意思一樣嗎

對於不同的工具*的定義不同,而且並沒有統一的標准。
推薦使用 擴展的正則表達式 查找符合特定格式的字串,這個在linux裡面是統一的。
grep sed awk 等等很多軟體支持的都是 ERE (擴展正則表達式),可以看看《Linux就該這么學》詳細了解下。

② linux下使用通配符批量刪除文件

一、cd命令進入這個linux文件夾目錄。
二、打:
find . -type f -name *.log -mtime +x -exec rm -fv { } \;

命令作用:在當前目錄下查找x天前的後綴為log的文件並且刪除。
例:
find . -type f -name *.log -mtime +300 -exec rm -fv { } \;
查找300天前的後綴名為log的文件並且刪除。

命令詳細解釋:
. 在當前目錄下查找,如果要全盤查找的話,可以把.換成/,這樣前面的cd命令就不需要了。
-type f 查找的是普通文件,而不是文件夾
-name *.log 查找後綴為log的文件
-mtime +x 查找x天以前的文件,所以需要把這個x換成你自己需要查找的天數,比如30.你要刪除20090808以前的,就需要計算一下,它距離現在多少天。

-exec rm -fv { } \; 把查找的文件強制刪除

如果許可權不足,請以root身份運行命令。
如果是ubuntu,前面可以加sudo即可。

③ linux 通配符%.c和*.c區別

%.c是GUNmake語法層,表示的是所有以".c"結尾的文件
而*.c則是linux shell 語法層的,比如:rm -f *.o 類似的。
意思基本是一樣的,就是一個是GUNmake的一個是shell的

④ Linux命令環境中的通配符有哪些它們的不同點是什麼

通配符 1、基本的通配符有哪些? ·「?」可替代單個字元。 ·「*」可替代任意字元。 ·方括弧「[charset]」可替代charset集中的任何單個字元。 對最後一條做些解釋。[cChH]通配符便可替代c或h字元的大小寫形式。 通配符集還能描述介於字元對之間的所有字元。如「[a-z]」就可以代 替任意小寫字母,而[a-zA-Z]則可替代任意字母。注意可替代的字元 包括字元包括字元對之間的所有字元。 與DOS相比,UNIX的通配符機制要比DOS好得多。在DOS中,任何在「*」 之後,在「.」之彰的字元均被忽略,所以下面的指令將不能得到你想 象的結果。 del *bak.* 在DOS中,用戶只能用此命令刪除當前目前下的所有文件,除非系統要 求你不這樣做。而在UNIX系統中,「*」可替代包括0在內的任意數字的 字元,但一行中的其餘特徵也仍需匹配,因此「bak.*」可匹配 newbak.save、oldbak.new甚至bak.temp,但不能和newbak匹配,因為後 者不含「.」。這非常巧妙,可大大方便用戶,而「*bak」則可匹配以上 所有的詞條,包括newbak。 2、能在一條指令中用多個通配符嗎? 可以,如 rm a*out*tmp? 該命令可以刪除一系列臨時性的輸出文件,如ab.out.temp1、ab.out.temp1 等。 3、如何利用通配符使指令更靈活? UNIX可將有一定關的文件看作一集合的一部分,用戶可以用該集合去匹配。 所以,如果你需要刪除file1.temp、file2.temp……file9.temp,只須健入: rm file[0-9].temp 該技巧的用處在於可以用刪除那些相要刪除的文件。如果你每天都要為一個 非常重要的 資料庫 做一個「mp」報告,你把文件存入mp.date%h%d, 它包括一系列文件如下: mp.jun23 mp jun24 mp jun25 mp.jun26 再讓我們假設因為每個文件的容量都在100M左右,所以磁碟空間很快會被占滿, 因此需要每隔幾天刪去一些老的文件,只留下最近的兩個文件,為此,鍵入: rm –i *[34] 這條指令將刪去那些以「」開頭並以「3」或「4」結尾的文件。

⑤ linux通配符有幾種表達方式

通配符 1、基本的通配符有哪些? ·「?」可替代單個字元。 ·「*」可替代任意字元。 ·方括弧「[charset]」可替代charset集中的任何單個字元。 對最後一條做些解釋。[cChH]通配符便可替代c或h字元的大小寫形式。 通配符集還能描述介於字元對之間的所有字元。如「[a-z]」就可以代 替任意小寫字母,而[a-zA-Z]則可替代任意字母。注意可替代的字元 包括字元包括字元對之間的所有字元。 與DOS相比,UNIX的通配符機制要比DOS好得多。在DOS中,任何在「*」 之後,在「.」之彰的字元均被忽略,所以下面的指令將不能得到你想 象的結果。 del *bak.* 在DOS中,用戶只能用此命令刪除當前目前下的所有文件,除非系統要 求你不這樣做。而在UNIX系統中,「*」可替代包括0在內的任意數字的 字元,但一行中的其餘特徵也仍需匹配,因此「bak.*」可匹配 newbak.save、oldbak.new甚至bak.temp,但不能和newbak匹配,因為後 者不含「.」。這非常巧妙,可大大方便用戶,而「*bak」則可匹配以上 所有的詞條,包括newbak。 2、能在一條指令中用多個通配符嗎? 可以,如 rm a*out*tmp? 該命令可以刪除一系列臨時性的輸出文件,如ab.out.temp1、ab.out.temp1 等。 3、如何利用通配符使指令更靈活? UNIX可將有一定關的文件看作一集合的一部分,用戶可以用該集合去匹配。 所以,如果你需要刪除file1.temp、file2.temp……file9.temp,只須健入: rm file[0-9].temp 該技巧的用處在於可以用刪除那些相要刪除的文件。如果你每天都要為一個 非常重要的 資料庫 做一個「mp」報告,你把文件存入mp.date%h%d, 它包括一系列文件如下: mp.jun23 mp jun24 mp jun25 mp.jun26 再讓我們假設因為每個文件的容量都在100M左右,所以磁碟空間很快會被占滿, 因此需要每隔幾天刪去一些老的文件,只留下最近的兩個文件,為此,鍵入: rm –i *[34] 這條指令將刪去那些以「」開頭並以「3」或「4」結尾的文件。

⑥ linux中 正則表達式和通配符的區別

通配符
它是由shell解析,並且一般用於匹配文件名,實際上就是shell解釋器去解析的特殊符號,linux系統通配符有幾下幾種:
*:匹配任意多個字元
?:匹配任意一個字元
[...]:匹配中括弧內出現的任意一個字元
[!...]:不匹配中括弧內出現的任意一個字元

一般出現在要shell命令或腳本中,匹配特定的文件名

正則表達式
它是一個字元匹配標准,一些命令工具按此標准實現字元匹配,根據命令支持的匹配功能可分為基礎正則表達式和擴展正則表達式,常用於支持正則表達式的工具,如sed,grep,awk...
有如下一些常用的匹配元字元:

字元匹配
.:匹配任意單個字元
*:匹配其前面一個字元出現任意次
?:匹配其前面的字元1次或0次
+:匹配其前面一個字元出現至少一次(在擴展正則表達式中)

位置匹配
^:錨定行首
$:錨定行尾
\<或\b:錨定詞首,其後面的任意字元必須作為單詞首部出現
\>或\b:錨定詞尾,其前面的任意字元必須作為單詞尾部出現
\B:非單詞的開頭或結尾
^$:空白行

分組() :
(ab)* : 匹配ab這個分組出現任意次
\1:引用第一個左括弧以及與之對應的右括弧所包括的所有內容,同理還有\2,\3

特殊子字元類:
[:alnum:] :任何字母和數字
[:alpha:] :任何字母
[:cntrl:] :控制字元. 在ASCII表中對應八進制000 到 037, 和177 ('DEL').
[:digit:] :任何數字
[:graph:] :匹配列印字元,相當於'[:alnum:]' +'[:punct:]'.
[:lower:] :小寫字母
[:print:] :可列印字元,相當於 '[:alnum:]', '[:punct:]', 和space.
[:punct:] 標點符號,'! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ' { | } ~'
[:space:] 空白字元,tab, newline, vertical tab, form feed, carriage return, and space.
[:upper:] 大寫字母
[:xdigit:] 任何16進制的數字,相當於[0-9a-fA-F]
所以:^[[:space:]]*$ :匹配沒有任何內容的行

需要注意:[]中的特殊字元如.已經失去了其特殊含義,和方括弧中的普通字元[abc]一樣。

⑦ linux中的通配符[0-9]怎麼用舉一個例子

這個是屬於「正則表達式」的知識,你先找一下這方面的教程學習一下,

網路一下「正則表達式」即可。這是在編寫程序、查找和處理與字元串時的一項技術。

簡單一個例子吧。比如你想查找一份文件,具體的名字忘了,但記得文件名是數字開頭的,

那麼可以這樣查找這個文件:

find/-name"[0-9]*"

這樣就找出所有數字開頭的文件。

⑧ linux mv 通配符 如何指定前幾個文件

用正則匹配可以實現你的要求。具體如下:

結果顯示,實現了只移動5個文件的要求。

⑨ Linux:chmod -R 777 * 是什麼意思

首先,chmod命令是linux上用於改變許可權的命令,-R 是遞歸遍歷子目錄,因為你要操作的文件使用的*通配符。777,第一個7代表文件所屬者的許可權,第二個7代表文件所屬者所在組的許可權,第三個7代表其它用戶的許可權,7=4+2+1,在linux中許可權是可以通過數字來描述的。具體表示如下:

4,執行時設置用戶ID,用於授權給基於文件屬主的進程,而不是給創建此進程的用戶。
2,執行時設置用戶組ID,用於授權給基於文件所在組的進程,而不是基於創建此進程的用戶。
1,設置粘著位。

其次,chmod命令的詳細使用如下,有不懂的可以慢慢查看一下。
chmod----改變一個或多個文件的存取模式(mode)

chmod [options] mode files

只能文件屬主或特權用戶才能使用該功能來改變文件存取模式。mode可以是數字形式或以who opcode permission形式表示。who是可選的,默認是a(所有用戶)。只能選擇一個opcode(操作碼)。可指定多個mode,以逗號分開。

options:

-c,--changes
只輸出被改變文件的信息

-f,--silent,--quiet
當chmod不能改變文件模式時,不通知文件的用戶

--help
輸出幫助信息。

-R,--recursive
可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄

--reference=filename
參照filename的許可權來設置許可權

-v,--verbose
無論修改是否成功,輸出每個文件的信息

--version
輸出版本信息。

who
u
用戶
g

o
其它
a
所有用戶(默認)

opcode
+
增加許可權
-
刪除許可權
=
重新分配許可權

permission

r

w

x
執行
s
設置用戶(或組)的ID號
t
設置粘著位(sticky bit),防止文件或目錄被非屬主刪除
u
用戶的當前許可權
g
組的當前許可權
o
其他用戶的當前許可權

作為選擇,我們多數用三位八進制數字的形式來表示許可權,第一位指定屬主的許可權,第二位指定組許可權,第三位指定其他用戶的許可權,每位通過4(讀)、2(寫)、1(執行)三種數值的和來確定許可權。如6(4+2)代表有讀寫權,7(4+2+1)有讀、寫和執行的許可權。

還可設置第四位,它位於三位許可權序列的前面,第四位數字取值是4,2,1,代表意思如下:

4,執行時設置用戶ID,用於授權給基於文件屬主的進程,而不是給創建此進程的用戶。
2,執行時設置用戶組ID,用於授權給基於文件所在組的進程,而不是基於創建此進程的用戶。
1,設置粘著位。

實例:

$ chmod u+x file 給file的屬主增加執行許可權
$ chmod 751 file 給file的屬主分配讀、寫、執行(7)的許可權,給file的所在組分配讀、執行(5)的許可權,給其他用戶分配執行(1)的許可權
$ chmod u=rwx,g=rx,o=x file 上例的另一種形式
$ chmod =r file 為所有用戶分配讀許可權
$ chmod 444 file 同上例
$ chmod a-wx,a+r file 同上例
$ chmod -R u+r directory 遞歸地給directory目錄下所有文件和子目錄的屬主分配讀的許可權
$ chmod 4755 設置用ID,給屬主分配讀、寫和執行許可權,給組和其他用戶分配讀、執行的許可權。

閱讀全文

與linux文件通配符相關的資料

熱點內容
演算法設計與分析英文版 瀏覽:910
java程序員加班嗎 瀏覽:141
編譯檢查的是什麼錯誤 瀏覽:405
加密兔f碼生成器免費 瀏覽:292
思科路由器命令明文加密 瀏覽:171
方舟生存進化伺服器如何改名字 瀏覽:892
央行數字貨幣app怎麼注冊 瀏覽:431
51單片機顯示時間 瀏覽:770
我的世界網易版怎麼壓縮地圖 瀏覽:682
qq小程序雲伺服器和 瀏覽:740
方舟伺服器怎麼玩才好玩 瀏覽:557
單片機的部件 瀏覽:621
編譯原理遍的過程 瀏覽:252
python讀取json字元串 瀏覽:64
ubuntu1404安裝php 瀏覽:634
lua能編譯嗎 瀏覽:118
思仙怎麼看伺服器 瀏覽:660
php微信圖片防盜鏈 瀏覽:800
安卓1怎麼讀音 瀏覽:297
農業app怎麼開通快捷支付 瀏覽:913