ディレクトリ内の「。」および「..」とは何ですか?


15

質問に基づいて:プロンプト苦痛が少ないコマンドを使用して作成する方法、何をしている...、ほとんどのエントリは答えを投票?dirコマンドを実行すると表示されますが、ユーザーにはファイルの形式で表示されません。

私が何を意味するのかわからない場合は、ここに例があります:

.
..
Su.exe
Sup.txt
SuperUser.COM

回答:


40

。は現在のディレクトリで、..は親ディレクトリを示します。コマンドラインでの処理も高速化されるため、完全なパスを入力する必要はありません。

例:

2つのディレクトリに移動します。

cd ..\..\

または、UNIXベースのシステムでは、現在のディレクトリで実行可能なバイナリを実行します。

./program

多くのUNIXスクリプトも利用します。たとえば、ファイルをスキャンするために、現在のディレクトリを表す(Perl):

#!/usr/bin/perl

opendir ( DIR, "." ) || die "Error opening current directory\n";
while( ($f = readdir(DIR))){
     print("$f\n");
}
closedir(DIR);

ディレクトリ名はハードコードされていないため、スクリプトを別のディレクトリまたはシステムに移動する場合は、はるかに移植性が高くなります。


3
あまり知られていませんが、Windowsコマンドラインはこれをさらに拡張します。。=このディレクトリ.. =親ディレクトリ... =親の親ディレクトリ3ドットは、それよりもはるかに便利な場合があり、対処するのが非常に困難です。
サーモンムース

4
Vistaを使用して3ドットが機能しない
ケビンパンコ

1
Windows 7 64ビットRTMでも私は。私には神話のように聞こえます。とにかく.. \ ..の何が問題になっていますか?
AdamV

2
@salmonmoose:XPでも動作しません。
サイモンPスティーブンス


10

..ファイルシステムの階層をナビゲートするために使用されます。長いパスを入力したくない場合、または正確にどこにインストールされるかわからないが、../media/すべての画像/ビデオ/アイコンなどを保持する必要があることを知っているスクリプト/プログラムを作成する場合に役立ちます。

シングルドット../a.out、現在のディレクトリで実行可能ファイルを実行するLinuxで便利です。コマンドシェルはデフォルトで現在のディレクトリで実行可能ファイルを検索しないため(セキュリティ上の理由から)入力します。

.現在のディレクトリを引数としてコマンドに渡す場合も、単一のドットが使用されます。


1
PowerShellにも含まれていません。実行可能ファイルを検索するためのパスリスト。
ジョーイ

「。」を渡す方法 コマンドへの引数として?
微積分

@DeFuでは、ドットをドットとして渡します。例:ls .
hasen

ls と同じ機能ls .
微積分

あなたがYESの場合も@DeFuしかしls .、あなたがいる渡します「」'ls'の引数として。それはあなたが尋ねたものではありませんか?デフォルトlsで現在のディレクトリをリストし、現在のディレクトリであるため、同じように機能します.。しかし、あなた確かにそれをコマンドに渡しています。
ハッセン

5

。現在のディレクトリです。これを使用する必要はほとんどありません。ほとんどのコマンドは、現在のディレクトリを想定しています。..は次のレベルです。これはかなり便利なショートカットです。C:\ foo \ barにいて、C:\ foo \ bar2に行きたい場合は、

cd ..\bar2

C:\ foo \ bar2になります。bar2に行きたくないが、C:\ foo \ bar.exeのみを実行したい場合は、次のように言えます。

..\bar.exe

または.. \ barを使用して、親ディレクトリに戻らずに実行します。もちろん、これは、C:\ foo( "C:\ Users \ Daniel \ My Dropbox \"など)より長いパスを表す場合に便利です。


1
見つけた。特に現在の場所にファイルをコピーまたは移動する場合(copy F:\*.foo .)またはそれ以外の場合に参照する場合(start .たとえば、現在のディレクトリでエクスプローラーを開く)に、非常に便利です。
ジョーイ

3

それらは以下を表します:

.

現在のディレクトリ

.. 

親ディレクトリを表します

したがって、実行可能ファイル「su.exe」がある場合:

  • Path環境変数(C:\ MyExecutables \ su.exeの場合)
  • 現在のディレクトリ
  • 親ディレクトリ。

次のようにそれぞれを実行できます。

 su.exe  

パスにあるものを実行します

.\su.exe 

現在のディレクトリにあるものを実行します

..\su.exe

親ディレクトリにあるものを実行します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.