2013-03-03 30 views

回答

14

你有一些選擇:

  • 使用touch -t STAMP -m file,如果你想,如果你複製文件更改時間
  • 使用cp --preserve=timestamps並且想保留的時間
  • 使用touch -r設置到「參考」文件的時間
+1

這告訴我如何將戳記應用於特定文件,並複製文件並保留時間戳。但它不回答我原來的問題,關於如何將時間戳從一個預先存在的文件複製到另一個預先存在的文件... – user2015453 2013-03-03 00:24:49

+1

@ user2015453我編輯了我的答案,我記得有關'-r' – cnicutar 2013-03-03 00:27:49

0

使用touch;它包含幾個可選標誌,允許您設置這些屬性。

0

如果您使用cp,請使用-p選項保存ve mod時間。 CP -p

1

可以在Unix時間戳格式使用stat獲取源文件的時間戳,然後使用touch -d

src_file=/foo/bar 
dst_file=/bar/baz 

touch -d @$(stat -c "%Y" "$src_file") "$dst_file" 

注意它傳播到目標文件:這隻會與GNU coreutils支持工作使用前綴@touch

1

爲了方便以後UNIX時間戳,把下面一行在你的.bashrc文件:

cptimestamp() { 
    if [ -z $2 ] ; then 
    echo "usage: cptimestamp <sourcefile> <destfile>" 
    exit 
    fi 
    touch -d @$(stat -c "%Y" "$1") "$2" 
} 

執行「source〜/ .bashrc」就可以開始了。如果您更喜歡使用腳本,請刪除第一行和最後一行 - 然後添加「#!/ bin/sh」

相關問題