• 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 








  • 相关阅读:
    小程序之滚动选择器(时间、普通、日期)
    bzoj 4825: [Hnoi2017]单旋 LCT
    bzoj 4821: [Sdoi2017]相关分析 线段树
    bzoj 4766: 文艺计算姬 矩阵树定理
    bzoj 4031: 小Z的房间 矩阵树定理
    bzoj 4822~4824 CQOI2017题解
    bzoj 4817: [Sdoi2017]树点涂色 LCT+树链剖分+线段树
    bzoj 4816: [Sdoi2017]数字表格
    bzoj 4537: [Hnoi2016]最小公倍数 分块+并查集
    bzoj 4653: [Noi2016]区间
  • 原文地址:https://www.cnblogs.com/zknublx/p/10165676.html
Copyright © 2020-2023  润新知