私は多くの人にとっては簡単ですが、日常的なWindowsユーザーである私にとってはかなり混乱している可能性があることを理解しようとしています。
私はフォローしていますドッカーの取り付けMac OS Xの場合
ステップの1つは次のとおりです。
$ chmod +x boot2docker
次のステップは、次のようにboot2dockerを使用することです。
$ boot2docker init
しかし、これは私には効果がありません。うまくいくのは次のとおりです。
$ ./boot2docker init
したがって、このチュートリアルでは暗黙的に実行する必要があると仮定します。./
それとも、bashでこれを入力せずに何かを実行する方法はありますか?
答え1
違いは、Windowsには.
常にシングルユーザーシステムであったDOSから継承したパスが暗黙的にあることです。
Mac OS Xは、マルチユーザーシステムであるUnixに基づいて構築されています。セキュリティ上の理由から、.
パスに暗黙的に存在しません。
.
パスにないときに現在のディレクトリでコマンドを実行するには、コマンドの前に./
現在のディレクトリでコマンドを実行することをシェルに明示的に知らせる必要があります。このシンボルは、パスに./
あるかどうかに関係なく適用されます。削除すると、.
パスにある場合にのみ./
機能します。.
したがって、文書には通常この./
セクションが含まれます。
.
パスに含めると、セキュリティにどのような影響がありますか?
ホームディレクトリcd ~joker
に入力したとします。joker
次に入力して、ls
どのファイルが存在するかを確認します。.
パスの先頭にある場合は、ユーザーアカウントで何でもできるjoker
ホームディレクトリに呼び出されるスクリプトがある可能性があります。ls
.
それがルートの最後のエントリであれば、それほど悪くないでしょう。以前のシナリオでは、ls
ホームディレクトリにあるコマンドではなく実際のコマンドを実行しました。joker
しかし、間違ったls
コマンドを入力した可能性があります。指が滑ってタイピングしている可能性がありますks
。これによりks
、古いディレクトリが見つかりませんが、シェルがホーム.
ディレクトリに到達すると、最終的にコマンドをホームディレクトリに見つけることができます。ks
joker