異なるフォルダに同じ名前の2つのファイルを置き、ファイルの1つが変更されるたびに同じ変更を自動的に別のファイルに実装する方法はありますか?
答え1
両方のファイルが同じファイルシステムにある場合(つまり、2つの異なるパーティションにない場合)、ハードリンクでファイルを作成できます。
ln /path/to/one_file /path/somewhere/other_file
これが完了すると、まったく同じファイルの2つの名前があります/path/to/one_file
。/path/somewhere/other_file
いずれかを削除しても、別の名前でコンテンツにアクセスできます。
これは、プログラムがファイルのいずれかのリンクを解放して再生成しない限り機能します。
同様に、ある名前から別の名前へのシンボリックリンクを作成できます。
ln -s /path/to/one_file /path/somewhere/other_file
この場合、/path/to/one_file
実際のデータが含まれていますが、/path/somewhere/other_file
これへの「ポインタ」(シンボルリンク)のみが含まれています。
両方のパスが同じファイルシステムにある必要はありませんが、プログラムがシンボリックリンクのリンクを解除してファイルに再生成すると、ハードリンクのように切断されます。