GNU/Linux >> Linux の 問題 >  >> Linux

cp -f は cp --remove-destination とどう違うのですか?

この 2 つには違いがあります (強調は私のものです):

<ブロック引用>

もし 既存の宛先ファイルを開くことができません。削除してからやり直してください
開こうとする前に既存の宛先ファイルをそれぞれ削除します

最初のケースで、ファイルを開くことができれば cp 内容のみを置き換えようとします。 cp 不必要にファイルを削除することはありません。これにより、元のファイルもコピーするように指定しない限り、元のファイルのアクセス許可と所有権が保持されます。

2 番目のケースは、コンテンツが読み取れない場合に役立ちます (ぶら下がっているシンボリック リンクなど)。


宛先ファイルに複数のリンク (ハードリンク) がある場合、 --remove-destination は他のリンクのコンテンツを破棄しません。代わりに、宛先のリンクだけが削除され (より深いシステム関数で「削除」が「リンク解除」と呼ばれる理由がわかりました)、新しい inode を含む新しいファイルが作成されます。


Linux
  1. Utf-8ファイルからBOMを削除する方法は?

  2. Awkからファイルをキャットする方法は?

  3. 別の行からのAWK?

  1. ファイルから変数を読み取る方法は?

  2. ターミナルウィンドウからLinuxでファイルを作成するには?

  3. ファイル内で \n を grep する方法

  1. install -c は cp とどう違うのですか

  2. 端末から特定のファイルを開く方法は?

  3. 異なるキーボードからの入力を区別する方法は?