老男孩教育每日一题-2017年4月10日-find查找到文件并复制系列题目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了老男孩教育每日一题-2017年4月10日-find查找到文件并复制系列题目相关的知识,希望对你有一定的参考价值。

查找出/tmp目录下面修改时间是7天以前,大小在50k2M之间,并以.log结尾的文件把这些文件复制到/data目录中

本次题目是find命令与cp,mv,rm命令的配合。是linux基础必会的题目。



  • 方法一:

find /tmp/ -type f -mtime +7 -size +50k -size -2M-name "*.log"|xargs -i cp {} /data

默认xargs不支持,{}这种形式,xargs加上-i就可以支持,-i参数就可以用{}花括号了。

 

  • 方法二:

find /tmp/ -typef -mtime +7 -size +50k -size -2M -name "*.log" -exec cp {} /tmp \;

-exec就是find命令自己的参数,-exec默认的形式是 -exec 命令 {}  \;  注意是以\;结尾的。

{}表示find命令找到的文件。

  • 方法三:

find /tmp/ -type f -mtime +7 -size +50k -size -2M-name "*.log"|xargs  cp -t/data

这里面 我们说一下cp命令的参数.

#cp  苹果 苹果 苹果

#cp -t 苹果 苹果 苹果

cp命令的-t参数就是把苹果和筐调换位置,把筐放在最前面。

mv命令也有这个参数,含义相同。

  • 方法四:

cp $( find /tmp/ -type f -mtime +7 -size +50k -size -2M -name"*.log")  /data

$() 或者``(反引号 esc下面的,数字1左边的)表示先执行这个命令,然后把命令结果放在这个位置上面。

举例

[[email protected] ~]# which mkdir
/bin/mkdir
[[email protected] ~]# ls -l /bin/mkdir
-rwxr-xr-x. 1 root root 49384 Nov 10  2015 /bin/mkdir
ls -l 此处放着which mkdir 命令的结果
[[email protected] ~]# ls -l $(which mkdir)
-rwxr-xr-x. 1 root root 49384 Nov 10 2015 /bin/mkdir



本文出自 “李导的博客” 博客,请务必保留此出处http://lidao.blog.51cto.com/3388056/1914790

以上是关于老男孩教育每日一题-2017年4月10日-find查找到文件并复制系列题目的主要内容,如果未能解决你的问题,请参考以下文章

老男孩教育每日一题-2017年5月19日-使用find命令的时候 |xargs(管道xargs)与-exe有什么区别?

老男孩教育每日一题-2017年5月18日-说说|(管道)与|xargs(管道xargs)的区别

老男孩教育每日一题-2017年4月27日-如何正确清理MySQL binlog?

老男孩教育每日一题-2017年5月4日-有一个oldboy.txt文件,把里面所有字母都转换成大写

老男孩教育每日一题-2017年4月12日-请问如下登录环境故障的原理及解决办法?

老男孩教育每日一题:2017年3月10日-MySQL授权all导致的血案