ディレクトリパスをコマンドとして実行すると、「コマンドが見つかりません」の代わりに「権限の拒否」が返されるのはなぜですか? [コピー]

ディレクトリパスをコマンドとして実行すると、「コマンドが見つかりません」の代わりに「権限の拒否」が返されるのはなぜですか? [コピー]

私はredhatボクサーで、誤って以前にパス dirがなかったパスに入ると、パスが得られることがわかりました。私が無言を入力したように:cd/path/to/dir/: Permission denied./path/to/dir/: Command not found

$ sldkfjsd
sldkfjsd: Command not found.

これの目的は何ですか?スーパーユーザーでコマンドを実行するとdir(アクセス権がありません)、sudoどうなりますか?

ベストアンサー1

この方法でディレクトリを実行する権限がないため、権限が拒否されました。通常、CLIにファイル名のみを入力し、他の名前は入力しない場合はそのファイルを実行することを意味します。ただし、ディレクトリの場合、実行権限は異なる意味を持つため、そのディレクトリに対する実行権限はありません。

実際にディレクトリを実行するには通常、そのファイルインデックスを一覧表示する必要がありますが、バイナリ実行可能ファイルのように実行することはできません。

という実行可能ファイルがあるため、CLIに入力する/bin/lsとその実行可能ファイルが呼び出され、実行されます。/bin/lsこれで(ディレクトリ)に入ろうとすると、/binBashは同じことをして実行可能ファイルのように呼び出そうとしますが、ディレクトリなので実行可能ファイルのように実行する権限がありません。

おすすめ記事