Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Sudo cdおよびsudo llコマンドエラー問題の解決方法

Sudo cdおよびsudo llコマンドエラー問題の解決方法

  

最近、友人から、sudo cdおよびsudo llログインコマンドに次のプロンプトが表示される理由が尋ねられました。

sudo:ll:コマンドが見つかりませんsudo:cd:command見つかりません


sudo lsなどの他のコマンドを実行して、正常に実行してください。


一言で言えば、sudoはシステムに付属のコマンドしか実行できず、他のプログラムは実行できないということです。 ll、cdなどはシェルによってもたらされます。

sudoはユーザのパーミッションを強化するためのプログラムですlinuxでsoduと入力するとパーミッションを強化することになりますシェルはコマンドパーサですsudo cdはシェルに組み込まれているため間違っています。システム内ではなく、sudoはコマンドでシステムを実行できますが、システム内のソフトウェアでコマンドを使用することはできません。

cdはシェルの内部コマンドです。いわゆるシェルは対話型アプリケーションです。シェルが外部コマンドを実行すると、fork /execを介して子プロセスをフォークしてからプログラムを実行します。 Sudoは、他の誰かの特権を使ってプロセスをフォークしてプログラムを実行することを意味します。また、cdは内部コマンドです。つまり、forkプロセスではなく、シェルによって直接実行されます。もちろん、現在のプロセスのプロセスのパーミッションをアップグレードすることはできません(実際には可能ですが、プログラミング時にコードに書き込まれてからコンパイルされ、私たちのシェルにはこの関数がありません、そうでなければそれほど危険ではありません)。さらに、sudoコマンドを設定したい場合は、visudoを使用してrootユーザで設定することができます。

Copyright © Windowsの知識 All Rights Reserved