GNU/Linux >> Linux の 問題 >  >> Linux

ファイルの Date Created 属性と Last Modified 属性を別のファイルのものに変更する

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

参照:タッチマン


Linux
  1. Lsを実行し、作成された日付で結果を並べ替える方法は?

  2. プロセス置換とパイプ?

  3. ファイルのアクセス許可と保存?

  1. Linuxでファイルのパーミッションと所有権を別のファイルにコピーする方法

  2. 最初と最後の行なしでファイルコンテンツを印刷しますか?

  3. fork および (失敗した) exec 後に変更される C ファイル ポインター

  1. ファイルはいつ作成されましたか?

  2. 最後のN行をあるファイルから別のファイルにコピーしますか?

  3. date および watch コマンドの出力をファイルに保存する