shell之收集指定时间的文件

本文介绍如何使用Linux命令find和cp拷贝实验环境中/etc目录下最后更新时间在2015年的所有文件到/tmp目录,并保持原有目录结构。重点讲解了cp命令的--parent选项的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

收集指定时间的文件
介绍

将实验楼实验环境中的 /etc 目录下的所有最后更新时间在2015年的文件拷贝到 /tmp 目录,需要保持目录结构。

例如 /etc/fstab 文件更新时间为2015年,则会被拷贝到 /tmp/etc/fstab 路径位置。

注意 /etc 目录下的子文件夹中也有很多文件最后更新时间在2015年,需要拷贝。如果只是文件夹的更新时间为2015年,则不需要拷贝文件夹。

拷贝完成后点击 提交结果。
目标

/etc 目录下所有最后更新时间在2015年的文件(不论 shiyanlou 用户是否对该文件具有访问权限)都被拷贝到 /tmp/etc 目录下。
拷贝完成后 /tmp/etc目录中只包含最后更新时间在2015年的文件。文件的路径需要保持目录结构。
请不要使用软链接等方式,需要将文件完整的拷贝过去。

提示语

查找,拷贝
知识点

Linux 文件及目录操作
Linux 文件查找操作

来源

实验楼研发团队

代码如下:

sudo find /etc/ -type f | xargs ls -al | grep '2015' |awk '{print $9}' | xargs -I{} sudo cp -ar --parent {} /tmp

这次试验对我来说主要的难点是文件的命名问题,由于先前对cp命令的–parent不了解,所以我一直在思考如何用一行命令命名文件,真让人头疼!,下面介绍一下cp命令。
cp命令的常用选项

-r :如果要复制一个目录,必须加-r选项,否则不能复制,这类似于rm命令。
--parent :在目录下使用完整的源文件名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值