web-dev-qa-db-ja.com

ファイル名の最後のチルダは何を表していますか?

Windowsでは、ファイル名にチルダが付いたファイルは、現在アプリケーションで開いているファイルを表していると思います。たとえば、Microsoft Wordは、現在開いているファイルとほぼ同じ名前のファイルを作成しますが、名前にチルダが含まれています。アイコンも部分的に色あせています。私が知る限り、これは存在する一時ファイルを意味します

  • アプリケーションがクラッシュし、ファイルを保存する機会が得られなかった場合、または
  • 元のファイルがファイルシステムによってロック解除されたままになり、他のアプリケーションからアクセスできるようにします。

Linuxでは、ファイル名の末尾にチルダが付いた* .logファイルに遭遇しました(scan.log~)。これは、ログファイルが現在書き込み中の可能性のある別のアプリケーションで現在開かれているということですか?

31
KOVIKO

ファイルにtilde~が追加されている場合、それはテキストエディタまたは同様のプログラムによって作成されたバックアップであることを意味するだけです。別のプログラムがそのファイルに書き込むことを示唆するものではありません。また、viで開かれたファイルは別のアプリケーションで開くことはできませんが、それは別の議論です。

簡単にこれらのタイプのファイルをすべて検索するには、cdと入力してホームフォルダーの最上位に移動し、次のように入力します。

find -type f -iname '*~'

または、特定のディレクトリでそれらを検索する場合は、次のように入力します。

find /home/mike/Downloads -type f -iname '*~'

これらのファイルは、たまたまファイルを編集し、元のバックアップを保存していない場合に非常に役立ちます!たとえば、Geditは、編集されたファイルのバックアップを作成しますが、この設定は環境設定でオフにできます。ただし、(files~)は、適切なバックアップに代わるものではありませんです。必要なデータが含まれていないか、必要な編集のバージョンではない可能性があるためです。

32
user76204

一部のテキストエディタ(emacsなど)は、編集中のファイルのバックアップを作成し、バックアップファイルに元のファイルの名前とチルダを付けます。説明するファイルは、scan.logをそのようなテキストエディタで開き、変更を加えた結果である可能性があります。

fuser(Ubuntuパッケージpsmiscを参照)を使用して、プロセスが現在そのファイルを開いているかどうかを確認できます:fuser scan.log~

12
Mox