sudo <command>
私はLinuxに初めてアクセスし、これまでは常に同じ実行を考えてきました。私は最近このコマンドで遊んで微妙だが混乱した違いを見つけました。<command>
root
ls
sudo ls -lap
(ルートディレクトリで)実行すると、次の結果が表示されます。
対。 (または一般ユーザーとして)ls -lap
実行するときroot
いいえ sudo
):
明白であるが重要ではない色の違いを除いて、詳細を見ると、実行コマンドを使用しても-p
オプション(戻るディレクトリ表示)が機能しないことがわかります/
。links
sudo
2つの間に実質的な違いはありますか?それともバグですか?
とにかく、これは2つのコマンドが異なる方法で処理されることを意味しますか?
答え1
あなたls
はエイリアスであり、sudo
それを知りません。ユーザーをに切り替えると、root
対話型シェルは起動スクリプトを実行し、関連するエイリアスを設定します。
alias ls
次に実行してみてくださいroot
。渡す sudo
、そのコマンドを確認してください。
シンボリックリンク出力の違いは、出力に色を追加する副作用のようです。
ls -lp --color=tty /
V.
ls -lp --color=never /
同じ違いを見せてくれます。