标签:批量 深度 linux系统 批量处理 单位 解释 var 生成 扩展
在linux系统中,文件类型不是由文件扩展名称决定。find 命令语法信息
find 查找区域目录信息  搜索条件
   搜索的条件:  oldboy是大目录
   1) 根据文件类型搜索数据  -type
      find /oldboy  -type f/d/l/c/b/s 2) 根据文件名称搜索数据  -name         
find /oldboy -name "dog" 
find /oldboy -iname "oldboy.txt"
3)根据文件大小搜索数据
find /oldbuy    -suze +10k     寻找大于10K的文件
find /oldbuy    -suze -1G      寻找小于1G的文件
find /oldbuy    -suze  10      寻找大小正好是10k的文件
补充:find命令根据大小查找数据单位信息
默认单位为:b----block
一个‘b’ 等于512个字节
‘c’  for bytes最小的单位 (字节)
‘w‘  for two-byte words  以两个字节作为一个单位进行查找
‘k’  for kylobytes (kb为单位)
’mb‘ for Megabytes  (mb 为单位)
’G‘  for Gigabytes    (GB为单位)
4)根据文件路径深度(层次)查找数据
      /oldboy/oldboy01.txt
       -maxdepth    --- 查找数据最深深度
      # find /oldboy -mindepth 2 -name "oldboy01.txt"
     /oldboy/oldboy01/oldboy02/oldboy03/oldboy04/oldboy01.txt
      /oldboy/oldboy01/oldboy02/oldboy03/oldboy01.txt
      /oldboy/oldboy01/oldboy02/oldboy01.txt
      /oldboy/oldboy01/oldboy01.txt
      -mindepth    --- 查找数据最小深度, 从最小深度继续向下查找5)根据条件逻辑查找数据
1) 请找出文件大小是大于6k 并且 还要找出文件名称是有oldboy开头的文件
并且逻辑关系  -a
find/Oldboy  -size +6k -a -name “oldboy”
find/Oldboy  -size +6k -name “oldboy”
find -size +6 | grep "^./oldboy"
2) 请找出文件名称是oldboy开头的文件 和 .txt结尾的文件 -o  或者意思find /oldboy -name “oldboy” -o -name ”.txt”
6)根据时间条件查找数据
find /oldboy   -mtime  +7       查找距离当前时间7天以前的
find /oldboy   -mtime  -7        查找距离当前时间7天以内的
find /oldboy   -mtime   7       查找距离当前时间之前正好7天的数据
过去---  +7 -------   7  ---------  -7 -----当前时间
<==七天以前
| <==正好七天  
|  <==七天以内
find ./ 当前目录进行
Find  /var /    -mmin +1   ----   一分钟之前的消息
Find  /var /     -mmin  -1   -----   一分钟以内的消息
Find  /var /     -mmin   1   -----    刚好一分钟的消息
proc task 俩目录是在内存中的
利用find命令可以实现批量处理数据
环境准备:
touch oldboy{01..10}.txt
touch oldgirl{01..10}.jpg
touch olddog{01..10}.avi
A、批量删除数据
将oldboy开头的数据进行批量删除
步骤一: 先将要处理数据找出来
步骤二: 将数据如何批量删除
方法一: 利用find命令参数
find /oldgirl/ -name "oldboy" -delete
方法二: 利用管道+xargs命令进行处理
find /oldgirl/ -type f -name "olddog" | xargs rm 
xargs 
1) 将产生信息进行转换, 转为命令可以识别的 参数或者对象信息
2) 可以进行分组操作/将分组进行整合
[root@oldboy69 oldgirl 00:40:41]# xargs < test.txt
(01 02 03 04 05 06 07 08 09 10)
[root@oldboy69 oldgirl 00:41:20]# xargs -n3 < test.txt
01 02 03
04 05 06
07 08 09
10
方法三: 利用反引号进行处理
rm -f find /oldgirl/ -type f -name "olddog*"
方法四: 利用find命令特殊参数 -exec
find ./ -type f -name "oldboy" -exec rm -f {} \;
#find /oldgirl/ -type f -name "oldboy" -exec rm {} \;  -o -type f -name "oldgirl*" -exec rm {} \;
批量删除指定数据 
2) 查看目录文件结构信息
tree    
tree -L 3   --- 指定查看目录层级信息
tree -d     --- 只查看完整目录结构信息
3) 如何压缩数据信息
tar    --- 压缩数据/解压数据
将数据进行压缩:
命令语法: tar zcvf  生成压缩包路径/压缩包.tar.gz  需要进行压缩数据01  需要进行压缩数据02 ..  
参数说明: 
z --- 数据压缩方式 gzip 
c --- 创建一个压缩文件
v --- 显示压缩过程
f --- 指定压缩包路径信息
将链接文件进行压缩处理时:
tar zcvhf  生成压缩包路径/压缩包.tar.gz  需要进行压缩链接文件
h --- 指定压缩链接文件所指定源文件
将数据进行解压:
命令语法: tar xvf    压缩包路径/压缩包.tar.gz  (默认解压, 会将数据解压到当前路径)
参数说明:
x --- 提取压缩包中的数据(解压)
指定解压数据路径信息:
tar xf ./sys_backup.tar.gz -C /oldboy
对压缩包中的数据进行查看
tar tf sys_backup_2019-12-13.tar.gz
t --- 查看列表显示压缩包中的数据信息
标签:批量 深度 linux系统 批量处理 单位 解释 var 生成 扩展
原文地址:https://blog.51cto.com/14623232/2458664