touch
を使用できます コマンドと -r
別のファイルの属性をファイルに適用するように切り替えます。
注: Unix には作成日などというものはなく、あるのはアクセス、変更、および変更だけです。詳細については、この U&L Q&A を参照してください:特定のファイルの年齢を取得してください。
$ touch -r goldenfile newfile
例
例として、ここに goldenfile
を示します 任意のタイムスタンプで作成されたもの。
$ touch -d 20120101 goldenfile
$ ls -l goldenfile
-rw-rw-r--. 1 saml saml 0 Jan 1 2012 goldenfile
ここで、新しいファイルを作成します:
$ touch newfile
$ ls -l newfile
-rw-rw-r--. 1 saml saml 0 Mar 7 09:06 newfile
ここで goldenfile
を適用します の属性を newfile
に .
$ touch -r goldenfile newfile
$ ls -l goldenfile newfile
-rw-rw-r--. 1 saml saml 0 Jan 1 2012 newfile
-rw-rw-r--. 1 saml saml 0 Jan 1 2012 goldenfile
現在 newfile
同じ属性を持っています。
Samba 経由で変更
Thecus N12000 NAS に接続されたバージョン 1.16.3-2 を含む Fedora 19 ラップトップを使用してこれを実行できることを確認しました (変更されたバージョンの CentOS 5.x を使用)。
上記のようにファイルに触れることができ、説明したとおりに機能しました。あなたの問題は、使用されているマウント オプションに問題がある可能性が高く、特定の時間属性の追跡が省略されているか、次のバグのいずれかに関連している可能性があります:
- Bug 461505 - Samba 共有にタイムスタンプを設定できない
- バグ 693491 - CIFS/Samba 共有で属性/タイムスタンプを設定できない
最も簡単な方法 - アクセス変更は同じになります:
touch -a -m -t 201512180130.09 fileName.ext
場所:
-a = accessed
-m = modified
-t = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format
NOW
を使用する場合 t
をドロップするだけです とタイムスタンプ
それらがすべて同じであることを確認するには:stat fileName.ext
参照:タッチマン