タッチとviを使用していますか?

タッチとviを使用していますか?

編集する前にタッチしてファイルを作成すると、どのような利点がありますか?例:

touch foo
vi foo

それとも編集者に直接渡しますか?良い:

vi foo

touche を使ったチュートリアルをたくさん見てくださいvi

答え1

touch最初にファイルを編集すると、ファイルシステムが読み取り専用であるかどうかを確認するために、エディタで時間を無駄にするのではなく、実際にファイルを作成できることを確認できます。

答え2

提供された回答に加えて、タッチの1つの利点は、タッチ中に同じファイルを編集している他のユーザー/ターミナルが変更を保存しようとすると警告が表示されることです。

WARNING: The file has been changed since reading it!!!
Do you really want to write to it (y/n)?

直接変更せずにファイルだけをタッチしても、通知が表示されます。

答え3

許可された回答に加えて、以下が含まれます。

touchファイルタイムスタンプの更新で有名です。既存のファイルに使用すると、touchファイルタイムスタンプは現在の日時で更新されます。ファイルが存在しない場合は、空のファイルが作成され、現在の日時がタイムスタンプされます。

vi一方、直接書かないと新しいファイルは生成されません。

たとえば、と入力するとvi test.txtいくつかの説明が入力されます:q!test.txt

答え4

touch最初はingを実行しても何の利点もありません。viファイルが存在しない場合、ファイルが生成されます。

許可された答えは、エディタで時間を無駄にする前にそこに書き込むことができることを確認していると言います。はい。しかし、今はtouch毎回入力するのに時間を無駄にしています。どこかに書くことができないというのは、それが動作する頻度と比較してかなり珍しいことです(sudoホームディレクトリの内側または外側にあるファイルを覚えている/tmpか、rootとしてログインしている場合)。

エディタを開き、必要な操作を実行してからファイルを保存します。それでも機能しない場合は、:w!別の場所に保存して保存して:w ~/asdf問題を解決してください。回復後、一時ファイルのファイル内容を元のファイルにコピーできますcat ~/asdf > /mnt/example.txt && rm ~/asdfcatorの代わりにmvorを使用する理由cpは、ターゲットの権限やその他の属性を使用するためです。

さらに、より高度なコマンドラインを使用するために問題を解決しながら、+Background(または、または使用)をvi使用して最後に書き込みコマンドを再実行することもできます。CtrlZ:suspend:susfg

編集:レスポンスで投稿が改善されました。/u/G-マンのコメント。ありがとうございます!

関連情報