linux find指定时间的文件并复制(Linux find命令 根据修改时间查询2020 年的文件夹 然后拷贝或者移动到指定位 置)
本文目录
- Linux find命令 根据修改时间查询2020 年的文件夹 然后拷贝或者移动到指定位 置
- 如何在linux中使用shell脚本遍历指定目录的文件,将创建时间大于指定时间的文件,复制到指定目录下
- linux只有拷贝特定文件名字段,特定日期的文件到另一目录下
- linux 如何输入一个日期,然后从一个指定文件夹中获取这个日期以后的文件,复制到另外一个文件夹中
- Linux怎么用find查找目录,并将文件copy到这个目录里
- 如何查找linux目录下以当前日期命名的文件而进行复制
- linux怎么find一个目录下创建时间在某个时间之后的文件
- linux中如何将最近10天被修改过的所有文件复制到/backup
- 求助shell:linux 如何指定时间点,然后从某文件夹中获取这时间之后生成的文件,复制到另个文件夹中
Linux find命令 根据修改时间查询2020 年的文件夹 然后拷贝或者移动到指定位 置
如果你想查的是文件,就写查找*.*,要是查文件夹,就查*.
如果不是题目而是任务,那么可以考虑tc,然后按时间排一下,符合的直接移动。所见即所得,比较可靠,
用命令的话,也不能调试,弄错一点,想恢复都麻烦,
如何在linux中使用shell脚本遍历指定目录的文件,将创建时间大于指定时间的文件,复制到指定目录下
大于指定时间?最简单的就是直接find里面指定吧。例如,查找当前目录及其子目录所有mtime大于1天的文件:
find /path -type f -mtime +1 即可,/path 可以换成其他路径,-mtime +1 表示时间大于1天。-1的话表示小于一天也就是1天之内的。
linux只有拷贝特定文件名字段,特定日期的文件到另一目录下
find /homewbft -name *VIRTUALID* -ctime 2 -exec cp /home/wbft/luo {} \;
-ctime后面的2指的是两天前的文件,时间方面自己指定吧
linux 如何输入一个日期,然后从一个指定文件夹中获取这个日期以后的文件,复制到另外一个文件夹中
你说的这个日期是指修改文件的日期还是创建文件的日期??
find . -ctime -3 是搜索当前目录下三天内创建的所有文件
find . -mtiime -3则是搜索最后一次修改的时间在三天内的所有文件
那就用find . -mtime -3这样子的吧,,
先计算指定日期和当前日期的时间间隔任何使用find命令来找到符合要求的文件并对其进行复制操作。
Linux怎么用find查找目录,并将文件copy到这个目录里
查找包含abc的目录
for i in $(find ./ -name "*abc*");do # 查找当前目录下所有包含abc的文件或者文件夹
if ; then # 如果是文件夹
cp xxx $i/ -r #拷贝文件xxx到$i中
fi
done
如何查找linux目录下以当前日期命名的文件而进行复制
Date=`date +%Y%m%d` (取当前日期转换格式为20130701)
find /backup/ -name "${Date}_base_fott*" -exec cp {} /backup/bak \;
linux怎么find一个目录下创建时间在某个时间之后的文件
find命令是Linux下面文件检索的工具,功能超强。用于根据时间检索,我们首先要能清楚文件的时间戳。
通常每个文件具备三个时间戳:
【a】上次访问的时间 参数是 -atime
【b】上次属性变更的时间 参数是 -ctime
【c】上次内容变更的时间 参数是 -mtime
然后我们就可以使用find命令结合这几个参数来搜索文件了。
比如查找/home/you 目录下面60天以前修改过内容的.txt文件,命令是:
$ find /home/you -iname "*.txt" -mtime -60 -print
那么,如果查找过去60天之内的变更的.txt文件,怎么办呢,我们只要把 -60换成+60就行了。
$ find /home/you -iname "*.txt" -mtime +60 -print
如果60前面既没有+,也没有-, 结果是什么样的呢?
那就会输出到现在为止正好60天被修改过的文件。
当然,-mtime也可以根据具体情况改成-atime或者-ctime来使用。
linux中如何将最近10天被修改过的所有文件复制到/backup
这个是备份当前目录下的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#####################
求助shell:linux 如何指定时间点,然后从某文件夹中获取这时间之后生成的文件,复制到另个文件夹中
cd /var/www/html
ls -l
找到5月15日之后的文件
cp xxx /opt/backup/
就行了
可以用awk来做:
思路是,用shell 读取需要的时间,传递给awk。
大概是这个样子,没环境,可能还需要改下
!#/bin/sh
if ($#=1) then
echo "some promt"
else
ls -l /var/www/html | awk -v date=$1 ’$x》$date’ {system("cp "$NF" /opt/backup")}’
fi
调用的时候
./xxx 需要的时间
更多文章:
web前端开发工程师升职(web前端开发工程师可以升职成什么)
2026年4月3日 10:40
powershell语法(powershell语法之:Set-Variable,谁能帮我解释下,3Q)
2026年4月3日 10:00
服务器装系统教程(服务器系统安装教程详细步骤(服务器系统))
2026年4月3日 09:00
delphixe linux(DelphiforLinux中应用共享对象库)
2026年4月3日 08:20
propertydescriptor取数据值(javascript数据属性和访问器属性)
2026年4月3日 08:00






