linux 根據文件大小查找文件


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 









免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM