Directory

如何在不更改目錄的修改時間戳的情況下刪除臨時文件?

  • November 23, 2021

我處理測試案例,每個都是~/test. 可以很方便地查看我最近使用的測試案例,例如ls -rtl. 現在我想從測試目錄中刪除某些臨時文件;唉,這會改變目錄的時間戳。

是否可以在不更改目錄的修改時間戳的情況下從目錄中刪除文件?

刪除文件後,您必須重置目錄上的時間戳。假設 GNU 工具,這樣的東西應該​​可以工作:

mtime=$(stat -c %y dir)            # get the timestamp, store in $mtime
rm dir/somefile dir/someotherfile  # do whatever you need
touch -d "$mtime" dir              # set the timestamp back

mtime這會將目錄上的修改 ( ) 和訪問 ( ) 時間戳重置為atime原始修改時間戳,但還將更改時間戳 ( ctime) 設置為目前時間。更改ctime是不可避免的,但您可能不關心它或atime.

引用自:https://unix.stackexchange.com/questions/445419