递归地将目录中的所有文件标记为已修改而不更改文件内容

递归地将目录中的所有文件标记为已修改而不更改文件内容

我所在的系统会删除 30 天内未修改的文件。我需要某种方法来通过将重要文件标记为最近修改来保留它们。我能做到这一点的最好方法是什么?就像是for d in *; do; cat $d > $d ; done

答案1

cd到该目录,然后使用此命令仅标记文件:

find . -type f -exec touch {} \;

或此命令甚至可以标记目录:

find . -exec touch {} \;

执行后,文件(如果选择第二个命令还有文件夹)将被标记为刚刚更改,并且其内容不会更改。

该命令的优点是它会递归,甚至子目录和子目录下的文件都会被标记为已更改。

答案2

使用touch

NAME
       touch - change file timestamps

SYNOPSIS
       touch [OPTION]... FILE...

DESCRIPTION
       Update  the  access  and modification times of each FILE to the current
       time.

相关内容