在Linux中,经常需要按照时间规则去操作文件。比如,我们需要移动N天前的文件到特定目录下,或者删除N天前的文件等。本文将介绍如何在Linux中移动N天前的文件。
你所需要的网站建设服务,我们均能行业靠前的水平为你提供.标准是产品质量的保证,主要从事成都网站制作、做网站、外贸营销网站建设、企业网站建设、手机网站开发、网页设计、成都品牌网站建设、网页制作、做网站、建网站。创新互联公司拥有实力坚强的技术研发团队及素养的视觉设计专才。
之一步:找到N天前的文件
在Linux中,你可以使用“find”命令来查找文件。find命令的格式如下:
find [查找路径] [查找条件] [操作]
比如,我们要查找30天前的文件:
find /path/to/search -type f -mtime +30
这条命令会查找指定路径下,所有类型是文件(-type f),最后一次修改时间距离今天30天以上(-mtime +30)的文件。
我们可以在终端中运行这个命令,看看它是否能够找到需要的文件:
find /path/to/search -type f -mtime +30 -ls
这个命令会列出所有符合条件的文件的详细信息。如果你只想看到它们的名称,可以使用下面的命令:
find /path/to/search -type f -mtime +30 -printf “%f\n”
这个命令只会输出文件的名称,每个文件名独立占一行。
第二步:移动N天前的文件
找到符合条件的文件之后,我们需要将它们移动到指定的目录下。
在Linux中,我们可以使用“mv”命令来移动文件。mv命令的格式如下:
mv [源文件路径] [目标路径]
比如,我们要将所有30天前的文件移动到“/path/to/target”目录下:
find /path/to/search -type f -mtime +30 -exec mv {} /path/to/target \;
这个命令会查找所有在“/path/to/search”下,最近修改时间30天以上的文件,并将它们移动到“/path/to/target”目录下。
需要注意的是,在找到符合条件的文件之后,通过“-exec”参数执行“mv”命令。在“-exec”参数后面的“{}”代表符合条件的文件名,而“\;”则表示命令结束。
第三步:自动执行
如果你要每天或每周定期移动N天前的文件,可以通过Linux的定时任务来完成。
我们可以使用crontab来指定定时任务:
crontab –e
这个命令会打开一个文本编辑器,并允许你编辑当前用户的crontab文件。在文件中,你可以指定需要执行的命令、日期、时间等。
比如,我们要每天凌晨2点执行上面的移动文件命令:
0 2 * * * find /path/to/search -type f -mtime +30 -exec mv {} /path/to/target \;
这个命令中,“0 2 * * *”表示每天凌晨2点,而“find /path/to/search -type f -mtime +30 -exec mv {} /path/to/target \;”则表示需要执行的命令。
保存crontab文件并退出编辑器。在指定的时间,系统会自动执行这个命令。
结论
这篇文章介绍了如何在Linux中移动N天前的文件。通过find和mv命令,我们可以轻松地查找符合条件的文件,并将它们移动到指定的目录下。当我们需要定期执行这个任务时,可以通过crontab来指定定时任务。希望这篇文章能够帮助你更好地管理Linux上的文件。
相关问题拓展阅读:
通过
电脑管家
工具箱的最近文档就行
这里面可以快速找到最近30天内含消唤打开过的电脑文档
然后还可以通过
小程序
,让手机和电脑之桥或间文档进行互传。谈凯
这个是备份当前目录下的10天内修改的所有文件的脚本,你可以自己研究一下子。注释写的很详细
# 在一个燃碰扮经过tar和gzip处理过的文件目录中
# 备份10天当前目录下所有修改的文件.
BACKUPFILE=backup-$(date +%m-%d-%Y)
# 在备份文件中嵌入时间.
archive=${1:-$BACKUPFILE}
# 如果在命令行中没有指定备份文件的文件名,
# 那么将默认使用”backup-MM-DD-YYYY.tar.gz”.
tar cvf – `find . -mtime -10 -type f -print` > $archive.tar
# ‘’内是find命令:皮灶.表示当前路径,
#+ -mtime -10表示那些最近10*24小时内被修改的文件,
#+ -type f表示一般的文件,
#+ -print 在标准输出中打印完整的文件名
gzip $archive.tar
echo “Directory $PWD backed up in archive file \”$archive.tar.gz\”.”
# 上边代码,#+ 如果在发现太多的文件的时候,或者是如果文件
#名包括空格的时候,将执行失败.
# Stephane Chazelas建议使用下边的两种代码之一
#
# find . -mtime -1 -type f -print0 | xargs -0 tar rvf “$archive.tar”
# -print0 在标准输出中打印完整的文件名,随后跟一个null字符吵租,
# 对应了xargs命令中的‘-0’选项.
# 使用gnu版本的find.
# find . -mtime -1 -type f -exec tar rvf “$archive.tar” ‘{}’ \;
# 对于其他风格的UNIX便于移植,但是比较慢.
#
exit 0
#####################End Script#####################
find . -mtime 10 -daystart -exec cp -a {} /backup \;
解释:
-mtime 10 -daystart:从现在起前碧最近10天内修改过的文件
-exec:指定一条新命令
cp -a:递归复制
/backup:想要复制到的的目慧野举脊缓的目录
\;:为-exec命令的结尾标记符号
先算数量,判断后再删
filenum=`find . -name “腊李册log.*” -mtime +10 | wc -l`
if ; then
filenum=`find . -name “log.*”扰简 -mtime +10 -exec rm -f {} \轮宏;
fi
linux 移动n天前文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 移动n天前文件,如何在Linux中移动N天前的文件?,linux中如何将最近10天被修改过的所有文件复制到/backup,linux 定时删除n天前的文件crontab的信息别忘了在本站进行查找喔。
成都创新互联科技有限公司,是一家专注于互联网、IDC服务、应用软件开发、网站建设推广的公司,为客户提供互联网基础服务!
创新互联(www.cdcxhl.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。创新互联——四川成都IDC机房服务器托管/机柜租用。为您精选优质idc数据中心机房租用、服务器托管、机柜租赁、大带宽租用,高电服务器托管,算力服务器租用,可选线路电信、移动、联通机房等。
本文题目:如何在Linux中移动N天前的文件?(linux移动n天前文件)
转载注明:http://www.mswzjz.com/qtweb/news18/197768.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联