Find

find

find查找文件

find /home/ -name '*asdf' -type [d,f] |more 
	-name      #指定文件名
	-type      #指定类型  (f d l b c p s)
	-mtime +30 #modify time 30天以前
	-mtime -1  #1天以内
	-size  +1k #查找大于1k的 1M   (K M G)
	
#组合使用
find /home/ -name "asdf" -type f -mtime -10 |xargs rm -rf {} \;
find /home/ -name 'asdf' -type f |xargs rm $1
find /home/ -name 'asdf' -exec cp -r $1  /tmp/
find /home/ -name 'asdf' -exec chmod -R 644 {} \;#把所有asdf文件权限改成644
find /home/ -name 'asdf' -type d -exec chmod -R 755 {} \; #把所有asdf文件夹权限改成755
-----------按照名字查找文件-------------
find ./ -type f -name "*.txt"	            #找出任意字符开头以.txt结尾		
find ./ -maxdepth 1 -type f -name "*.txt"   #查找当前目录的最大深度等级为1级,以.txt结尾
----------按照大小查找文件--------------
find ./ -type f -size +1M                 #查找文件大于1M的   
find ./ -type f -size -10M                #查找文件小于10M的  
find ./ -type f -size +1M -size -10M      #查找文件大于1M 并且小10M        
find ./ -type f -name "*.txt" -size +10M  #查找.txt结尾 并且大于10M的文件 
----------按照时间查找文件--------------
find /tmp -type f -mtime +7  #查找文件的7天前修改过的文件
find /tmp -type f -mtime -5  #查找文件5天内修改过的文件
----------如何把find结果交给其他命令来使用---------
#如何将结果 传递给cat使用?
find /tmp -type f -name "oldboy.txt"|xargs cat   甩到最后
find /tmp -type f -name "oldboy.txt" -exec cat {} \;  替换
#;在这里不是命令分隔符 所以撬棍撬一下
exec!!! 这是个参数,后面跟的是命令,最后是以;分号结尾的  因为{}花括号里的内容意义不同,所以要加\转义

#如何将结果 传递给 mv cp使用?
find /tmp/ -type f -name "1.txt.bak"|xargs -i mv {} /root
find /tmp/ -type f -name "1.txt.bak" -exec mv {} /root \

posted @ 2019-11-18 20:50  干瘪的柠檬  阅读(124)  评论(0)    收藏  举报