linux拷贝特定时间的命令
-
在Linux中,可以使用`find`命令配合`cp`命令来拷贝特定时间的文件。下面是具体操作步骤:
1. 使用`find`命令来查找指定时间范围内的文件。命令格式如下:
“`
find <路径> -type f -newermt <起始时间> ! -newermt <结束时间>
“`
其中,`<路径>`表示要查找文件的路径;`<起始时间>`表示起始时间,格式为”YYYY-MM-DD HH:MM:SS”;`<结束时间>`表示结束时间,格式同样为”YYYY-MM-DD HH:MM:SS”。例如,要查找”/home/user”目录下2022年1月1日0时0分0秒到2022年1月31日23时59分59秒之间的文件,可以使用以下命令:
“`
find /home/user -type f -newermt “2022-01-01 00:00:00” ! -newermt “2022-01-31 23:59:59”
“`2. 使用`-exec`选项将找到的文件传递给`cp`命令进行拷贝操作。命令格式如下:
“`
find <路径> -type f -newermt <起始时间> ! -newermt <结束时间> -exec cp {} <目标路径> \;
“`
其中,`{}`表示找到的文件路径;`<目标路径>`表示拷贝文件的目标路径。例如,要将找到的文件拷贝到”/backup”目录下,可以使用以下命令:
“`
find /home/user -type f -newermt “2022-01-01 00:00:00” ! -newermt “2022-01-31 23:59:59” -exec cp {} /backup \;
“`注意事项:
– 如果要拷贝目录及其子目录下的文件,可以将`-type f`改为`-type d`,表示查找目录。
– 在进行拷贝操作时,请确保目标路径存在,并且对于当前用户有写权限。希望以上内容对你有帮助!
2年前 -
在Linux中,可以使用find命令结合cp命令来拷贝特定时间的文件。以下是一些常用的命令:
1. 拷贝在特定日期创建的文件:
“`
find /path/to/source_directory -type f -newermt “YYYY-MM-DD” ! -newermt “YYYY-MM-DD” -exec cp {} /path/to/destination_directory \;
“`
将`/path/to/source_directory`替换为源目录的路径,`YYYY-MM-DD`替换为要拷贝文件的日期,`/path/to/destination_directory`替换为目标目录的路径。该命令会拷贝在指定日期创建的所有文件。2. 拷贝在特定日期修改的文件:
“`
find /path/to/source_directory -type f -newermt “YYYY-MM-DD” -exec cp {} /path/to/destination_directory \;
“`
将`/path/to/source_directory`替换为源目录的路径,`YYYY-MM-DD`替换为要拷贝文件的日期,`/path/to/destination_directory`替换为目标目录的路径。该命令会拷贝在指定日期修改的所有文件。3. 拷贝在特定时间段内创建的文件:
“`
find /path/to/source_directory -type f -newermt “YYYY-MM-DD HH:MM:SS” ! -newermt “YYYY-MM-DD HH:MM:SS” -exec cp {} /path/to/destination_directory \;
“`
将`/path/to/source_directory`替换为源目录的路径,`YYYY-MM-DD HH:MM:SS`替换为要拷贝文件的起始时间和结束时间,`/path/to/destination_directory`替换为目标目录的路径。该命令会拷贝在指定时间段内创建的所有文件。4. 拷贝在特定时间段内修改的文件:
“`
find /path/to/source_directory -type f -newermt “YYYY-MM-DD HH:MM:SS” -exec cp {} /path/to/destination_directory \;
“`
将`/path/to/source_directory`替换为源目录的路径,`YYYY-MM-DD HH:MM:SS`替换为要拷贝文件的起始时间和结束时间,`/path/to/destination_directory`替换为目标目录的路径。该命令会拷贝在指定时间段内修改的所有文件。5. 拷贝最近N天内修改的文件:
“`
find /path/to/source_directory -type f -mtime -N -exec cp {} /path/to/destination_directory \;
“`
将`/path/to/source_directory`替换为源目录的路径,`N`替换为最近的天数,`/path/to/destination_directory`替换为目标目录的路径。该命令会拷贝在最近N天内修改的所有文件。以上命令在拷贝文件时可以递归地拷贝子目录中的文件。可以根据实际需求调整命令参数以满足特定需求。
2年前 -
在Linux中,可以使用find命令与cp命令结合起来来拷贝特定时间的文件。以下是具体的操作流程:
1. 使用find命令查找符合条件的文件:
在终端中输入以下命令:
“`shell
find /path/to/source -type f -newermt “YYYY-MM-DD HH:MM:SS” ! -newermt “YYYY-MM-DD HH:MM:SS” -print
“`
其中,`/path/to/source`是源目录的路径,`”YYYY-MM-DD HH:MM:SS”`是时间的格式,可以根据需要进行修改。上述命令会找到在指定时间范围内最近修改过的文件。2. 将符合条件的文件拷贝到目标目录:
继续在终端中输入以下命令:
“`shell
cp -r `find /path/to/source -type f -newermt “YYYY-MM-DD HH:MM:SS” ! -newermt “YYYY-MM-DD HH:MM:SS”` /path/to/destination
“`
其中,`/path/to/destination`是目标目录的路径,上述命令将找到的文件递归地拷贝到指定的目标目录中。需要注意的是,上述的命令中对应时间范围是包含边界的,也就是说不仅仅会拷贝修改时间为指定时间的文件,还会拷贝修改时间比指定时间更早或更晚的文件。如果只想拷贝修改时间是指定时间的文件,需要稍作修改,具体如下:
1. 使用find命令查找符合条件的文件:
在终端中输入以下命令:
“`shell
find /path/to/source -type f -newermt “YYYY-MM-DD HH:MM:SS” -newermt “YYYY-MM-DD HH:MM:SS” -print
“`2. 将符合条件的文件拷贝到目标目录:
继续在终端中输入以下命令:
“`shell
cp -r `find /path/to/source -type f -newermt “YYYY-MM-DD HH:MM:SS” -newermt “YYYY-MM-DD HH:MM:SS”` /path/to/destination
“`
上述命令会找到在指定时间范围内刚好是指定时间的文件,并将它们拷贝到目标目录中。2年前