回答:
./
または.
、現在のディレクトリのunixの省略形です。
現在のディレクトリがPATHにない場合に指定する必要があります。PATHは、プログラムの実行時に検索されるフォルダーのリストです。(書き込むことで決定できecho $PATH
ます。)実行可能ファイルがPATHにない場合は、実行するためにその中にあるフォルダーを指定する必要があります。現在のディレクトリ、./
短縮形として使用できます。
同様に、../
または単に..
現在のディレクトリの上のディレクトリの略記です。
.
。これは、現在のディレクトリを自動的に使用するとセキュリティホールになるためです。名前も、他の誰かがプログラムを作る想像しls
て、あなたがcd
彼のディレクトリには、入力ls
コマンドラインのすべてのディレクトリには、.
およびという2つの「特別なディレクトリ」があり..
ます。これらは、それぞれ現在のディレクトリと現在のディレクトリを含むディレクトリの略記です。
したがって、たとえば、cd ./more/directory/names
単に「現在のディレクトリから開始して、パスで続行する」という意味です。同様に、コマンドcd ..
は、「1つのディレクトリを変更します。
現在のディレクトリの名前が必要な場合は、pwd
コマンドを使用できます。また、の-a
フラグを使用するとls
、これら2つの特別なディレクトリを確認できます。つまり、ls -a
始まるリストが出力さ.
と..
。
他のものはすでに何.
と..
意味を説明しています(それぞれ現在のディレクトリと親ディレクトリ)。これはすべてのパス名に適用されます。
ターミナルを開くと、通常はホームディレクトリで開始します:(~
これはに展開されます/home/username
)。現在の作業ディレクトリが/home/username
次の場合、以下のパスはすべて同等です。
/home/username
.
../username
../../home/username
../../../home/username
(の親ディレクトリ/
はまだです/
)./././././.
(...の現在のディレクトリ内の現在のディレクトリ)./
(ディレクトリには末尾のスラッシュを使用できます)/home////username///
(複数のスラッシュも同様です)んではない混乱./program
に. program
。./program
実行ビットを設定して、現在のディレクトリでファイルを実行します。. ./program
はbashのものであり、代わりに、現在のディレクトリのファイルsource ./program
からbashコマンドを読み取りprogram
、現在のシェルで実行するように記述できます。
あなたはあなただけ実行することができますなぜ不思議場合はgedit
代わりの/usr/bin/gedit
とないprogram
のではなく、./program
または/home/username/program
、関連する質問を参照してください。
から開始することを意味しcurrent directory path
ます。
次のpath
ようなものがあると仮定しましょう:
/usr/ /usr/bin/ /usr/local/bin
そして内部/usr/bin/
にはと呼ばれる実行可能ファイルがありますyiic
。
あなたが発行yiic
する場合、それは1つを開始し/usr/bin/
ます。
発行./yiic
することにより、この実行可能ファイルの現在のディレクトリ内を検索するようにシステムに指示します。
/home/mysuser/
があり、を使用してそこに移動するとしcd /home/myuser
ます。中に入ると、yiicを実行するだけで動作するはずだと考えました。そのディレクトリで呼び出しているためです。しかし、彼はコマンドではなくファイルを言います。私が同じことをして、。/を使用すると、正しく実行されます...もう少し明確にしてください。
.
フォルダー内にある特別なファイルです。ディレクトリ内で行うときに見ることができますls -la
;)