linux 根據檔案大小查詢檔案

2022-05-04 17:36:12 字數 2258 閱讀 7109

linux下的find命令用來查詢檔案,通過man find就知道它是無所不能的。所以按照檔案大小來查詢檔案就不在話下。從man find搜尋size,可以看到如下資訊:

-size n[cwbkmg]

file uses n units of space. the following suffixes can be used:

b for 512-byte blocks (this is the default if no suffix is used)

c for bytes

w for two-byte words

k for kilobytes (units of 1024 bytes)

m for megabytes (units of 1048576 bytes)

g for gigabytes (units of 1073741824 bytes)

注意:預設單位是b,而它代表的是512位元組,所以2表示1k,1m則是2048,如果不想自己轉換,可以使用其他單位,如c、k、m等。

例子:查詢當前目錄下檔案大小為2048(2k)位元組的檔案

find ./ -size 4

或find ./ -size 2048c

或find ./ -size 2k

上述查詢檔案是等於指定大小的,那能不能查詢大於或小於某個指定值的檔案呢,答案是肯定,例如:

查詢大於2k的檔案,+ 表示大於

find ./ -size +2048c

查詢小於2k的檔案,- 表示小於

find ./ -size -2048c

查詢大小在某個範圍內的檔案使用-size引數,-size +n表示大於n單位的範圍,-size –n表示小於n單位的範圍。例如,查詢大於100k且小於400k的檔案:

find . -type f -mtime -1 -size +100k -size-400k

說明:-type f表示只查詢檔案,過濾掉資料夾,塊檔案等。

將查出來的檔案以詳細列表形式顯示出來

find . -type f -mtime -1 -size +100k -size-400k  | xargs ls –l

-size引數說明:

-sizen[cwbkmg]

file uses n units of space,rounding up.  the following suffixes

can be used:

`b'    for 512-byte blocks (this is the default if no suffix is

used)

`c'    for bytes

`w'    for two-byte words

`k'    for kilobytes (units of 1024 bytes)

`m'    for megabytes (units of 1048576 bytes)

`g'    for gigabytes (units of 1073741824 bytes)

備註:計算機單位

位、位元組、字、kb、mb

位:「位(bit)」是電子計算機中最小的資料單位。每一位的狀態只能是0或1。 

位元組:8個二進位制位構成1個「位元組(byte)」,它是儲存空間的基本計量單位。1個位元組可以儲存1個英文本母或者半個漢字,換句話說:1個漢字佔據2個位元組的儲存空間。 

字:「字」由若干個位元組構成,字的位數叫做字長,不同檔次的機器有不同的字長。例如一台8位機,它的1個字就等於1個位元組,字長為8位。如果是一台16位機,那麼,它的1個字就由2個位元組構成,字長為16位。字是計算機進行資料處理和運算的單位。

kb:k表示1024,也就是2的10次方。1kb表示1k個byte,也就是1024個位元組。

mb:1mb = 220 bytes = 1048576bytes

•    1 byte(b) = 8 bits (b) 

•    1 kilobyte(k/kb) = 10 e3bytes = 1,000 bytes 

•    1 megabyte (m/mb) = 10 e6bytes = 1,000,000 bytes 

•    1 gigabyte (g/gb) = 10 e9bytes = 1,000,000,000 bytes 

•    1 terabyte (t/tb) = 10 e12bytes = 1,000,000,000,000 bytes 

linux 根據檔案大小查詢檔案

inux下的find命令用來查詢檔案,通過man find就知道它是無所不能的。所以按照檔案大小來查詢檔案就不在話下。從man find搜尋size,可以看到如下資訊 size n cwbkmg file uses n units of space.the following suffixes ca...

linux 根據檔案大小查詢檔案

inux下的find命令用來查詢檔案,通過man find就知道它是無所不能的。所以按照檔案大小來查詢檔案就不在話下。從man find搜尋size,可以看到如下資訊 size n cwbkmg file uses n units of space.the following suffixes ca...

遞迴查詢檔案大小

遞迴 統計檔案大小,刪除檔案 求目錄的總大小 1 把指定目錄封裝成file物件 2 把資料夾列表列出來 3 判斷,如果是檔案,直接把f.length 相加 4 判斷,如果是資料夾,繼續列表,繼續判斷,如果是檔案相加,如果又是資料夾,繼續列表,繼續判斷,如果是檔案相加 5 如果是資料夾,遞迴呼叫方法本...