学校の課題に取り組んでいるのですが、この部分が正しく機能しないという問題が発生しています。
課題では、CLI でファイルを作成し、GEDIT でそのファイルを保存せずに開いて編集し、ディレクトリを一覧表示します。指示によると、ディレクトリを一覧表示すると、開いて追加したが保存していないファイルの後ろに「~」が表示されるはずですが、表示されません。
何か見逃しているのでしょうか?
答え1
はい、何かが欠けています。そのファイルは、まず開けてくださいあなただけがそれを見るでしょう保存した後開いたファイル。
geditはどのようにファイルを保存するのか
現在のファイルの名前が変更されます。次に、変更された内容が、開いたファイルの名前が付けられた新しいファイルに書き出されます。
「環境設定」の「エディター」タブで、「保存前にファイルのバックアップ コピーを作成する」オプションが有効になっている場合、バックアップ ファイルは~
ファイル名に を追加して名前が変更されます。有効になっていない場合、ドットで始まるランダムな文字列に名前が変更されます.
。保存が成功すると、そのランダムに名前が付けられたファイルは削除されます。
他の典型的なターミナルベースのエディタの動作との比較
グラフィカル エディター Gedit (および他のグラフィカル エディター) のこの動作は、ハード リンクの動作に影響します。上で説明したように、これらのエディターは実際には変更されたコンテンツを新しいファイル (つまり、新しい inode) に保存します。Linux のハードリンクは inode を指します。ファイル システム上の他の場所にある同じファイルへのハードリンクは、古いデータを指し続け、変更されたファイルにリンクされなくなります。通常、これはユーザーが期待するものではありません。ただし、このアプローチはより安全です。保存に失敗しても、元のコンテンツはディスク上に保持されます。
従来の (特にターミナルベースの) Linux エディタは、更新されたコンテンツを同じ inode に保存します。更新されたコンテンツを同じ inode に書き出し、古いコンテンツを置き換えます。