把cache文件夹里缓存的rpm包复制到自己的yum源里
find /var/cache/yum/x86_64/ -type f -name *.rpm -exec cp {} /root/yum-iso-new/ \;
查找某一段时间内生成的文件,然后,保留原有mtime属性,并重定向复制到另一个夹里。
touch -t 201709240000 t_start;touch -t 201809130000 t_end;
find ./ -type f -newer t_start ! -newer t_end -exec cp -p {} /data/b \;
#locate 是find -name 的另一种写法,但是v 更快,原因,不搜索具体查而是搜索数据库,/var/lib/locatedb 不到,含有本地文件的所有信息,linux系统自动创建这个系统,并且每天自动更新一次,所以使用lcoate命令看不到最新变动过的文件,解决:updatedb,再用locate。
#查找一段时间内新生成的文件:
find -type f \( -newermt '2018-06-05 00:00' -a -not -newermt '2018-06-05 09:57' \)
cd /
du -sh *
#模糊查询最好用引号引用
find -name "*.log"
#只在一级目录下查询
find . -name "*.jpg" -maxdepth 1 -print
# -a 连接两个不同的条件(两个条件必须同时满足)
find /tmp -name "*.sh" -a -user root
-o 连接两个不同的条件(两个条件满足其一即可)
find /tmp -name "*.sh" -o -user root
-not 对条件取反的
find /tmp -not -user root
#对搜索结果进行特定的处理
-print //默认情况下的动作
-ls //查找到后用ls 显示出来
-ok [commend] //查找后执行命令的时候询问用户是否要执行
-exec [commend] //查找后执行命令的时候不询问用户,直接执行
#注意-ok和-exec命令将命令行上后续的参数作为他们参数的一部分,直到被\;序列终止。
#魔术字符串{}是-ok和-exec命令的一个特殊类型的参数,它将被当前文件的完整路径取代。
find . -name "*.jpg" –exec rm –rf {} \;
find -amin 4 文件被访问后距离现在已经有4分钟了
find -atime 4 文件被访问后距离现在已经有4*24小时了
find -cmin 4 文件(改名,属性的改变等)距离现在已经有4分钟了
find -ctime 4 文件(改名,属性的改变等)距离现在已经有4*24个小时了
find -mmin 4 文件内容修改距离现在已经有4分钟了
find -mtime 4 文件内容修改距离现在已经有4*24个小时了
-mtime : 指定时间曾被改动过的文件,意思是文件內容被更改过
-ctime : 指定时间曾被更改过的文件,意思是文件权限被更改过
-atime : 指定时间曾被存取过的文件,意思是文件被读取过
#找出 4 天"以前"被改动过的文件
find -mtime +4
#找出 4 天內被改动过的文件
find -mtime -4
#批量替换
find /data/www/tools/ec/ -type f | xargs sed -i "s/aaa/bbb/g"