2013-03-03 6 views

答えて

14

あなたはいくつかのオプションがあります:あなたがファイルをコピーして設定する

  • 使用touch -r時間を維持したいしている場合は、Use cp --preserve=timestamps
  • 時間を変更したい場合は、Use touch -t STAMP -m file

    • を"参照"ファイルへの時間
  • +1

    これは、特定のファイルにスタンプを適用し、ファイルをコピーしてタイムスタンプを保持する方法を教えてくれます。しかし、既存のファイルから別の既存のファイルにタイムスタンプをコピーする方法に関する私の元の質問には答えません... – user2015453

    +1

    @ user2015453私は私の答えを編集しました、私は '-r' – cnicutar

    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" 
    

    NOTEを使用して宛先ファイルにそれを伝播することができます:これはサポートGNU coreutilsで動作しますUnixタイムスタンプあなたの.bashrcファイルに以下の行を入れて、後で便宜上touch

    1

    で接頭辞@を使用して:

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

    "source〜/ .bashrc"を実行すると、すぐに実行できます。スクリプトを好む場合は最初と最後の行を削除してから "#!/ bin/sh"を先頭に付けてください

    関連する問題