![`sudo cp src dst`が/ etcの中断禁止規則を無視するのはなぜですか? [コピー]](https://linux33.com/image/122080/%60sudo%20cp%20src%20dst%60%E3%81%8C%2F%20etc%E3%81%AE%E4%B8%AD%E6%96%AD%E7%A6%81%E6%AD%A2%E8%A6%8F%E5%89%87%E3%82%92%E7%84%A1%E8%A6%96%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
使用時にグローバルデフォルト設定はalias cp='cp -iv'
無視されます。sudo
zsh
新しいシステムを設定しており、私のユーザーアカウントに対してzshを試しています。 rootユーザーにはまだbashがあります。私は/etc
以下を持っています:
/etc/bash.bashrc
/etc/zsh/zshenv
どちらも上記のエイリアスを持ちますalias cp='cp -iv'
。
ユーザーディレクトリでは、これらのディレクトリのどれも/etc
グローバル設定のコマンドを含みません。
~/.zshenv
/root/.bashrc
ルートに切り替えてsu -
コピーを使用してファイルを破損しようとすると、正しいメッセージが表示されます。cp: overwrite 'fruits/apple.txt?'
家庭用ユーザーも同様です。ただし、sudo
ホームユーザーのzshでコピーコマンドを実行すると、ファイルが上書きされます。 Bashを使用する前に、このような問題は発生しなかったので、どこを見るべきかわかりません。
答え1
sudo
次のエイリアスを使用する回避策sudo cp
...
alias sudo='sudo '