shell- 四剑客相关面试题

1.四剑客find相关面试题

  1. 请使用shell脚本,找出/oldboy以.txt结尾的 修改时间大于7天大小大于100k
  2. 请使用shell脚本,找出/oldboy以.log结尾的 修改时间大于7天大小大于100k 把这些文件删除
  3. 请使用shell脚本,找出/oldboy以.log结尾的 修改时间大于7天大小大于100k 复制/移动 到/tmp目录
  4. 请使用shell脚本,找出/oldboy以.log结尾的 修改时间大于7天大小大于100k 打包压缩存放在/backup
  • 环境准备:
mkdir -p /oldboy 
for n in  {1..10}
do 
dd if=/dev/zero of=/oldboy/$n.log  bs=1k count=1000 
dd if=/dev/zero of=/oldboy/$n.txt  bs=1k count=1000
done

1.1. 请使用shell脚本,找出/oldboy以.txt结尾的 修改时间大于7天大小大于100k

[root@m01 /oldboy]# find /oldboy -type f -name '*.txt' -mtime -7 -size +100k
/oldboy/1.txt
/oldboy/2.txt
/oldboy/3.txt
/oldboy/4.txt
/oldboy/5.txt
/oldboy/6.txt
/oldboy/7.txt
/oldboy/8.txt
/oldboy/9.txt
/oldboy/10.txt

1.2. 请使用shell脚本,找出/oldboy以.log结尾的 修改时间大于7天大小大于100k 把这些文件删除

第一种方法:
[root@m01 /oldboy]# rm  `find /oldboy -type f -name '*.log' -size +100k -mtime -7 `
第二种方法:
[root@m01 /oldboy]# rm  $(find /oldboy -type f -name '*.log' -size +100k -mtime -7 )
第三种方法:
[root@m01 /oldboy]# find /oldboy -type f -name '*.log' -size +100k -mtime -7|xargs  -i rm {}
第四种方法:
[root@m01 /oldboy]# find /oldboy -type f -name '*.log' -size +100k -mtime -7 -exec rm {} \;
第五种方法:
[root@m01 /oldboy]# find /oldboy -type f -name '*.log' -size +100k -mtime -7 -delete

1.3. 请使用shell脚本,找出/oldboy以.log结尾的 修改时间大于7天大小大于100k 复制/移动 到/tmp目录

第一种方法:
[root@m01 /oldboy]# find /oldboy -type f -name '*.log' -size +100k -mtime -7 |xargs cp -t /tmp
第二种方法:
[root@m01 /oldboy]# find /oldboy -type f -name '*.log' -size +100k -mtime -7 |xargs -i cp {} /tmp
第三种方法:
[root@m01 /oldboy]# find /oldboy -type f -name '*.log' -size +100k -mtime -7 -exec cp {} /tmp \;
第四种方法:
[root@m01 /oldboy]# cp  `find /oldboy -type f -name '*.log' -size +100k -mtime -7` /tmp
第五种方法:
[root@m01 /oldboy]# cp  $(find /oldboy -type f -name '*.log' -size +100k -mtime -7)  /tmp

1.4. 请使用shell脚本,找出/oldboy以.log结尾的 修改时间大于7天大小大于100k 打包压缩存放在/backup

第一种方法:
[root@m01 /oldboy]# find /oldboy -type f -name '*.log' -size +100k -mtime -7 -exec tar zcf /tmp/oldboy.tar.gz {} +
第二种方法:
[root@m01 /oldboy]# tar zcf  /tmp/oldboy.tar.gz `find /oldboy -type f -name '*.log' -size +100k -mtime -7`
第三种方法:
[root@m01 /oldboy]# tar zcfP  /tmp/oldboy.tar.gz  $(find /oldboy -type f -name '*.log' -size +100k -mtime -7)
第四种方法:
[root@m01 /oldboy]# find /oldboy -type f -name '*.log' -size +100k -mtime -7 |xargs -i tar zcfP /tmp/oldboy.tar.gz {}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容