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

Mvはプロンプトなしで読み取り専用ファイルを上書きしますか?

mvのGNUCoreutilsマニュアル 言う:

宛先ファイルは存在するが通常は書き込みできない場合、標準の
入力は端末であり、-fまたは–forceオプションが指定されていない場合、mv
はファイルを置き換えるかどうかをユーザーに尋ねます。 (
ファイルを所有しているか、そのディレクトリへの書き込み権限を持っている可能性があります。)応答が
肯定的でない場合、ファイルはスキップされます。

ただし、mvのバージョン 私が使用している(Ubuntu14.04.3LTSのGNUcoreutils8.21)は、予期しない動作を示します:

$ which mv
/bin/mv
$ ls -l
total 0
$ echo foo > 1; chmod -w 1; cp 1 2; ls -l | cut -d' ' -f 1-5,9
-r-x------ 1 me me 4 1
-r-x------ 1 me me 4 2
$ echo bar > 2
-bash: 2: Permission denied
$ mv 1 2
$ ls -l | cut -d' ' -f 1-5,9
-r-x------ 1 me me 4 2

上で引用した手動の抜粋に基づいて、私はmv 1 2を期待していました ファイル2を上書きする前にユーザーにプロンプ​​トを表示するコマンド 。

私のバージョンのmvにバグはありますか? 、または私の理解のバグ?後者の場合、何をするか 手動の意味ですか?

承認された回答:

サーバーは「cifs」タイプのファイルシステム(おそらくCommon Internet File System、別名CIFS)を使用していたことが判明しました。これは、コマンドdf -Tを実行することで発見されました 。

CIFSは、アクセス許可に関して型破りな動作を示しているようです。

ext4ファイルシステムと最新バージョンのCoreutilsを搭載したマシンで同じコマンドを実行すると、次のようになります。

$ mv 1 2
mv: replace ‘2’, overriding mode 0444 (r--r--r--)?

予想通り。


Linux
  1. Rmが読み取り専用ファイルを削除できるのはなぜですか?

  2. Echo To File Descriptorはファイルを上書きしますか?

  3. Linux –ファイルが読み取り専用である理由がわかりませんか?

  1. プロンプトなしでファイルを更新するテキストエディタ?

  2. プロンプトなしでディレクトリ内のすべてのファイルを解凍する

  3. シェルで .sh 拡張子のないファイルを実行する方法

  1. ファイル システムが読み取り専用としてマウントされるのはなぜですか?

  2. cp -L 対 cp -H

  3. rm を使わずにファイルを削除するには?