- A+
所属分类:运维每日一题
1.题目
老男孩教育每日一题-2017年4月10日-基础知识点:
查找出/tmp目录下面修改时间是7天以前,大小在50k到2M之间,并以.log结尾的文件把这些文件复制到/data目录中
本次题目是find命令与cp,mv,rm命令的配合。是linux基础必会的题目。
2.参考答案
方法一:
1 | find /tmp/ -type f -mtime +7 -size +50k -size -2M -name "*.log"|xargs -i cp {} /data 默认xargs不支持,{}这种形式,xargs加上-i就可以支持,-i参数就可以用{}花括号了。 |
方法二:
1 | find /tmp/ -typef -mtime +7 -size +50k -size -2M -name "*.log" -exec cp {} /tmp \; |
-exec就是find命令自己的参数,-exec默认的形式是 -exec 命令 {} \; 注意是以\;结尾的。
{}表示find命令找到的文件。
方法三:
1 | find /tmp/ -type f -mtime +7 -size +50k -size -2M -name "*.log"|xargs cp -t/data |
这里面 我们说一下cp命令的参数.
cp 苹果 苹果 苹果 筐
cp -t 筐苹果 苹果 苹果
cp命令的-t参数就是把苹果和筐调换位置,把筐放在最前面。
mv命令也有这个参数,含义相同。
方法四:
1 | cp $( find /tmp/ -type f -mtime +7 -size +50k -size -2M -name"*.log") /data |
$() 或者(反引号 esc下面的,数字1左边的)表示先执行这个命令,然后把命令结果放在这个位置上面。
举例
1 2 3 4 | [root@show ~]# which mkdir/bin/mkdir [root@show ~]# ls -l /bin/mkdir-rwxr-xr-x. 1 root root 49384 Nov 10 2015 /bin/mkdir ls -l 此处放着which mkdir 命令的结果 [root@show ~]# ls -l $(which mkdir)-rwxr-xr-x. 1 root root 49384 Nov 10 2015 /bin/mkdir |
3.统计信息
今天是每日一题陪伴大家的第25天,期待你的进步。
对于题目和答案的任何疑问,请在博客评论区留言。
往期题目索引

我的微信公众号
我的微信公众号扫一扫