linux按日期复制文件夹,命令行shell复制并以当前时间重命名文件夹

本文介绍了如何通过Shell脚本来实现文件夹的复制,并在复制过程中结合`date`命令动态生成包含当前时间的文件夹名称。`cp`命令的`-r`选项用于递归复制,`-f`选项强制覆盖,通过`date '+%Y%m%d_%H.%M.%S'`获取格式化的日期时间,将`new_`与格式化后的日期结合,创建新的文件夹名称。

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

因为工作需要,前几天弄了一个自定义复制文件夹的功能,通过shell脚本实现。

shell脚本真的是一个很神奇的发明,可以用最少的代码做最多的事情,太赞了!

今天我要讲的是一个复制命令。

复制命令其实很简单“cp”复制,大家都知道。但是如果复制过去之后重命名文件或者文件夹,并且文件名包含当前时间,这要怎么做呢?

cp -rf old copy_test/new_`date '+%Y%m%d_%H.%M.%S'`

cp:复制一个文件或文件夹

-r :递归持续复制,用于目录的复制行为;

-f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制;

old:是复制源的文件夹路径,因为我已经cd到该路径下了,所以不要前缀;

copy_test/new_date '+%Y%m%d_%H.%M.%S':是复制之后的文件夹路径,复制到copy_test文件夹下面的名为new_date '+%Y%m%d_%H.%M.%S';

注意:这里的new_date '+%Y%m%d_%H.%M.%S'并不是文件夹名字,而是日期的格式转换,文件夹名字叫“new_”加上当前日期被格式化之后的样子。最终结果是“new_20170918_10.03.19”,日期格式化的结果是“20170918_10.03.19”。

不难看出年月日时分秒的对应关系:

%Y:年;%m:月;%d:日;%H:时;%M:分;%S:秒;

其中格式就是自己想要什么格式就直接在里面添加就好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值