linux查找目录下10秒没更新的文件后移动到指定目录下
时间: 2024-03-05 21:52:14 浏览: 19
你可以使用 `find` 命令来查找指定目录下10秒钟没有更新的文件,然后使用 `mv` 命令将这些文件移动到指定目录下。下面是一个示例命令:
```bash
find /path/to/directory -type f -mtime -0.007 -exec mv {} /path/to/destination \;
```
在这个命令中,`/path/to/directory` 是要查询的目录,`-type f` 表示只匹配文件而不匹配目录,`-mtime -0.007` 表示查找最近10秒钟内没有更新过的文件,`-exec mv {} /path/to/destination \;` 表示将查找到的文件移动到指定目录下。
你需要将 `/path/to/directory` 和 `/path/to/destination` 替换为实际的目录路径。如果你想将这个命令作为定时任务来执行,可以将它添加到 crontab 文件中。注意,由于这个命令会检查最近10秒钟内的更新,因此它可能会在没有找到任何文件的情况下退出。
相关问题
linux查找目录下10秒内没更新的文件后移动到指定目录下
可以使用以下命令实现:
```bash
find /path/to/directory -type f -mmin +1 -exec mv {} /path/to/destination \;
```
解释一下:
- `find /path/to/directory`: 查找指定目录下的文件。
- `-type f`: 查找文件类型为普通文件(排除目录等其他类型)。
- `-mmin +1`: 查找修改时间距离现在大于1分钟的文件(也就是10秒钟前的文件)。
- `-exec mv {} /path/to/destination \;`: 对查找到的文件执行 mv 命令,将文件移动到指定目录下。
需要将命令中的 `/path/to/directory` 和 `/path/to/destination` 替换成实际的路径。另外,该命令是以分钟为单位来计算修改时间,如果需要精确到秒,可以使用 `-cmin` 选项来代替 `-mmin`,但是这样可能会导致误判。
linux shell编程,利用for循环将当前目录下的指定扩展名(由输入决定)文件转移到指定的目录下,并按照文件大小排序,并显示移动后指定目录的内容。
您可以使用以下Shell脚本来实现将当前目录下指定扩展名的文件转移到指定目录,并按文件大小排序,最后显示指定目录的内容:
```shell
#!/bin/bash
echo "请输入要转移的文件扩展名(例如:txt):"
read ext
echo "请输入目标目录:"
read dest_dir
# 创建目标目录
mkdir -p $dest_dir
# 查找当前目录下指定扩展名的文件,并移动到目标目录
for file in *.$ext
do
mv "$file" "$dest_dir"
done
# 进入目标目录
cd $dest_dir
# 按文件大小排序并显示内容
ls -Shl
```
您可以将以上代码保存为一个.sh文件,然后在终端中执行该文件。程序会要求您输入要转移的文件扩展名和目标目录,然后会将当前目录下的指定扩展名的文件移动到目标目录,并按照文件大小排序后显示目标目录的内容。
希望能对您有所帮助!如果您有任何其他问题,请随时提问。