ファイルを編集してもシンボリックリンクのタイムスタンプは変更されません。

ファイルを編集してもシンボリックリンクのタイムスタンプは変更されません。

ファイルがあり、a.txt操作を実行すると、ln -s a.txt b.txtファイルを編集してa.txtタイムa.txtスタンプが変更されます。ただし、編集時にb.txtタイムb.txtスタンプは変更されません。ちょうどa.txt変わりました。b.txtタイムスタンプが変更されていない理由もちろんa.txt

例:

$ ls -la
total 8
drwxr-xr-x  2 admin admin 4096 nov  5 16:53 .
drwxr-x--- 37 admin admin 4096 nov  5 16:53 ..
$ nano a.txt
$ ln -s a.txt b.txt
$ ls -la
total 12
drwxr-xr-x  2 admin admin 4096 nov  5 16:54 .
drwxr-x--- 37 admin admin 4096 nov  5 16:53 ..
-rw-r--r--  1 admin admin    4 nov  5 16:54 a.txt
lrwxrwxrwx  1 admin admin    5 nov  5 16:54 b.txt -> a.txt
$ echo wait a minute
wait a minute 
$ nano b.txt
$ ls -la
total 12
drwxr-xr-x  2 admin admin 4096 nov  5 16:56 .
drwxr-x--- 37 admin admin 4096 nov  5 16:53 ..
-rw-r--r--  1 admin admin    9 nov  5 16:56 a.txt
lrwxrwxrwx  1 admin admin    5 nov  5 16:54 b.txt -> a.txt 
$ echo wait a minute again
wait a minute again
$ nano a.txt
$ ls -la
total 12
drwxr-xr-x  2 admin admin 4096 nov  5 16:58 .
drwxr-x--- 37 admin admin 4096 nov  5 16:53 ..
-rw-r--r--  1 admin admin   13 nov  5 16:58 a.txt
lrwxrwxrwx  1 admin admin    5 nov  5 16:54 b.txt -> a.txt

まず、次の行を見てください。

-rw-r--r--  1 admin admin    4 nov  5 16:54 a.txt
lrwxrwxrwx  1 admin admin    5 nov  5 16:54 b.txt -> a.txt

それではこれを見てください。 b.txtを編集すると、a.txtの日付のみが変更されます。

-rw-r--r--  1 admin admin    9 nov  5 16:56 a.txt
lrwxrwxrwx  1 admin admin    5 nov  5 16:54 b.txt -> a.txt 

さて、私はb.txtがa.txtへのシンボリックリンクであることを知っています。したがって、a.txtを編集します。しかし、なぜ私のOSはa.txtの日付だけを変更しないのですか? b.txtを編集するとき。 b.txtの日付を変更すると便利です。

ただし、ディレクトリ内のファイルを編集するとき(ファイルを編集してディレクトリが使用される)、ディレクトリの日付が変更されないと言うこともできます。このディレクトリはその中のファイルを編集するために使用されます。ただし、OSはファイルを編集するときにディレクトリの日付を変更します。

ベストアンサー1

編集を求められたときに編集するため、b.txtリンクa.txtは変更されません。リンクを移動しても変更されません。

リンクにアクセスしようとすると、そのリンクが指すファイル(または最終的にファイル/ディレクトリ/何かを指すリンクを指すリンクを指す最終的に指すファイル)にアクセスします。リンクは特別なリンクアクセスルーチンを介してのみアクセスできます。また、ソフトリンクは編集できません(作成および削除のみ可能)。

おすすめ記事