1

当我创建一个目录说 d1 并在 5 秒后 d1/d2 后,d1 时间戳会更新为 d2 的时间戳。5 秒后,当我创建 d1/d2/d3 时,只有 d2 时间戳更新为 d3,而不是 d1。

基本上,我的要求是不仅父文件夹,而且从根到父文件夹的所有文件夹都必须随父文件夹的时间更新。

有没有办法用 d3 更新 d1 的时间戳?

请说清楚。

4

3 回答 3

3
find . -type d -exec touch -m -r d3 {}\;

查找当前目录中的所有目录并将时间戳更新为当前时间...

于 2010-01-07T15:08:13.050 回答
2
find . -type d -exec touch  -r d1/d2/d3 -m {} \;
触摸选项:
-r:参考文件。此 ref 文件的时间戳将用于触摸。
-m :更改修改时间。

这将找到pwd下的所有目录,并将每个目录的修改时间修改为d1/d2/d3目录的修改时间。假定您位于具有目录 d1 的目录中。

于 2010-01-07T15:20:41.887 回答
1

这将仅设置添加文件路径上的目录的修改时间。

所以在这棵树上

d1
d1/d2
d1/d2/d3  <-- this is the one we are adding
d1/d2a
d1/d2a/d3a

只有d1并且d1/d2会受到影响。

CHILD="d1/d2/d3"
DIR=`dirname "$CHILD"`
while [[ "$DIR" != "." ]]
do
    touch -m -r "$CHILD" "$DIR"
    DIR=`dirname "$DIR"`
done
于 2010-01-07T15:44:45.317 回答