shell编程题———复制指定文件(面试题)

  1. 目的
    将/root 目录下的所有大于1M(可自定义) 的文件拷贝到 /tmp/BakDir(可自定义) 目录,需要保持目录结构。
    例如 /root/reed.file 文件大小为 12M,则会被拷贝到 /tmp/BakDir/root/ 路径位置。
  2. 难度
    需连同文件所在的路径一起拷贝。
  3. 知识点
    3.1文件和目录的操作(dirname命令)

dirname命令:
作用:去除路径的最后1级文件或目录
如:
dirname /home/bb 为/home
dirname /home/bb/aa.txt 为/home/bb

3.2文件查找操作(find命令)
3.3SHELL编程基础
4. 思路与具体实现
4.1思路
1)先查找指定的文件;
2)根据查找到的文件,输出其所在路径;
3)创建路径,复制文件。
4.2效果
原始目录文件:
[root@reedoracle BakDir]# find /root -size +1M |xargs ls -lh
-rw-r–r-- 1 root root 4.7M Jan 17 2017 /root/ansible-packages/ansible-2.2.1.0-1.el6.noarch.rpm
-rw-r–r-- 1 root root 1.5M Jul 3 2011 /root/ansible-packages/python-babel-0.9.4-5.1.el6.noarch.rpm
-rw-r–r-- 1 root root 7.5M Feb 3 2017 /root/ansible-packages.tar.gz
-rw------- 1 root root 6.3M Mar 14 2017 /root/.cache/pip/http/6/b/5/7/b/6b57b626d79b36c0d0749210d43211130a56666ce3959ca91a518127
-rw-r–r-- 1 root root 13M Feb 6 13:54 /root/dir1/dir2/file2
-rw-r–r-- 1 root root 15M Feb 6 13:55 /root/dir1/dir3/file3
-rw-r–r-- 1 root root 23M Feb 6 13:54 /root/dir1/file1-1
-rwxr-xr-x 1 root root 3.7M Nov 18 03:31 /root/nginx-1.12.2/objs/nginx
-rw-r–r-- 1 root root 2.0M Nov 18 02:53 /root/pcre-8.40.tar.gz
-rw-r–r-- 1 root root 1.2M Mar 8 2017 /root/PI.DAT
复制后的路径文件:
[root@reedoracle BakDir]# find /tmp/BakDir -size +1M |xargs ls -lh
-rw-r–r-- 1 root root 4.7M Feb 12 12:19 /tmp/BakDir/root/ansible-packages/ansible-2.2.1.0-1.el6.noarch.rpm
-rw-r–r-- 1 root root 1.5M Feb 12 12:19 /tmp/BakDir/root/ansible-packages/python-babel-0.9.4-5.1.el6.noarch.rpm
-rw-r–r-- 1 root root 7.5M Feb 12 12:19 /tmp/BakDir/root/ansible-packages.tar.gz
-rw------- 1 root root 6.3M Feb 12 12:19 /tmp/BakDir/root/.cache/pip/http/6/b/5/7/b/6b57b626d79b36c0d0749210d43211130a56666ce3959ca91a518127
-rw-r–r-- 1 root root 13M Feb 12 12:19 /tmp/BakDir/root/dir1/dir2/file2
-rw-r–r-- 1 root root 15M Feb 12 12:19 /tmp/BakDir/root/dir1/dir3/file3
-rw-r–r-- 1 root root 23M Feb 12 12:19 /tmp/BakDir/root/dir1/file1-1
-rwxr-xr-x 1 root root 3.7M Feb 12 12:19 /tmp/BakDir/root/nginx-1.12.2/objs/nginx
-rw-r–r-- 1 root root 2.0M Feb 12 12:19 /tmp/BakDir/root/pcre-8.40.tar.gz
-rw-r–r-- 1 root root 1.2M Feb 12 12:19 /tmp/BakDir/root/PI.DAT

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值