Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux shell中“find”命令的“-newer$file”选项是如何工作的?_Linux_Shell_Command - Fatal编程技术网

linux shell中“find”命令的“-newer$file”选项是如何工作的?

linux shell中“find”命令的“-newer$file”选项是如何工作的?,linux,shell,command,Linux,Shell,Command,我有以下linux命令 find ${MOUNT_POINT} -type f -name "VM*" -newer $SENTFILE -print0 | xargs -0 -i cp {} ${TMP_DIR} 我很难理解选项-更新的$SENTFILE。有人能解释一下这个选项吗?来自man find: 从man find: 如果$SENTFILE用空格展开,则可能会有一些不好的东西需要传递几个参数来查找。我建议像这样引用它 find ${MOUNT_POINT} -type f -nam

我有以下linux命令

find ${MOUNT_POINT} -type f -name "VM*" -newer $SENTFILE -print0 | xargs -0 -i cp {} ${TMP_DIR}
我很难理解选项-更新的$SENTFILE。有人能解释一下这个选项吗?

来自man find:

从man find:

如果$SENTFILE用空格展开,则可能会有一些不好的东西需要传递几个参数来查找。我建议像这样引用它

 find ${MOUNT_POINT} -type f -name "VM*" -newer "$SENTFILE" -print0 \ 
否则,-更新的工作方式如下。我猜find使用的是-newer的st_mtime字段

当然,SENTFILE是由调用shell或某些外部脚本设置的。它应该包含某个文件的名称

如果这是某个shell脚本的一部分,请尝试调试该shell脚本,方法可能是

#!/bin/bash -vx
作为其第一行或添加类似的内容

echo SENTFILE is $SENTFILE 2>&1
或者查看,然后查看系统日志文件,可能在/var/log下/

您对基本的shell脚本编写还不够熟悉。因此,请阅读或其他更好的内容。

如果$SENTFILE用空格展开,则可能会有一些不好的地方,需要传递几个参数来查找。我建议像这样引用它

 find ${MOUNT_POINT} -type f -name "VM*" -newer "$SENTFILE" -print0 \ 
否则,-更新的工作方式如下。我猜find使用的是-newer的st_mtime字段

当然,SENTFILE是由调用shell或某些外部脚本设置的。它应该包含某个文件的名称

如果这是某个shell脚本的一部分,请尝试调试该shell脚本,方法可能是

#!/bin/bash -vx
作为其第一行或添加类似的内容

echo SENTFILE is $SENTFILE 2>&1
或者查看,然后查看系统日志文件,可能在/var/log下/


您对基本的shell脚本编写还不够熟悉。所以请阅读或其他更好的内容。

那么,我应该如何准备$SENTFILE?我的意思是我必须用$SENTFILE记录以前的文件名或文件创建日期?你说的“准备”是什么意思?find命令只返回比变量$SENTFILE中的文件更新的文件。我想知道一点,您的意思是在变量$SENTFILE中会有像2017/07/25这样的旧文件日期吗??否则,它是什么?$SENTFILE是另一个文件。如果find命令找到的文件比$SENTFILE中的文件旧,则不会显示该文件。如果它发现一个文件比$SENTFILE中的文件更新,它将显示它。那么,我应该如何准备$SENTFILE?我的意思是我必须用$SENTFILE记录以前的文件名或文件创建日期?你说的“准备”是什么意思?find命令只返回比变量$SENTFILE中的文件更新的文件。我想知道一点,您的意思是在变量$SENTFILE中会有像2017/07/25这样的旧文件日期吗??否则,它是什么?$SENTFILE是另一个文件。如果find命令找到的文件比$SENTFILE中的文件旧,则不会显示该文件。如果它发现一个文件比$SENTFILE中的文件新,它将显示该文件。