フォルダ内の「。」と「..」はどういう意味ですか?


34

私が使用したときにls -aフォルダ内の隠しファイルを表示するには、この二つのファイルの重要性が何であるかをデフォルトで作成された2隠されたファイルがあった.とは..

ls -a

生産する

.  ..

私はときに私は彼らにたくさん使うls -laことは私に私が入ってるディレクトリと私は思い1以上のディレクトリのパーミッションと所有権が表示されますので、。
マルコケッピ

ここに投票するのに十分な担当者がいませんが、Googleを検索することで3秒で答えることができる質問なので、この質問にフラグを立てました(そして、SOブログでは簡単すぎます)。
zzzzBov

1
^ zzzzBovあなたの寛大さをスペイン語でありがとう。
mr_eclair

回答:


40

. 現在のフォルダーです。

.. 現在のフォルダーの上にあるフォルダー-現在のフォルダーを含むフォルダーです。

誰かが自分のホームディレクトリからスクリプトを実行したいときに、使用中の単一のドットが表示されることがあります。たとえば、。/ install-app.sh。これは、「install-app.sh」ファイルが現在のディレクトリにあることを意味します。/home/username/directory/install-app.shを実行するのも同様に有効です。同じ方法で、ファイルが親ディレクトリにある場合は../install.appも実行できます。こうする理由は、ナビゲーションだけでなく、ホームディレクトリ内のファイルの名前を間違ってシステムアプリケーションを誤って隠すことができないようにするためでもあります。


100%正しい。それらをすべてのディレクトリにあるフックと考えてください。それらはナビゲーションのためにのみ使用されます。これは単なるLinux標準ではなく、Windowsでも同様です。おそらくUNIXとMacでも同じですが、どちらのコマンドプロンプトでも遊んだことはありません。
Ctuchik

1
cd / ; cd ..:P
htorque

1
FreeBSDでも同じです。だから、macではDarwin BSDに基づいているので、macでも同じように思えます。
アゼンデール

htorque:あなたはおそらく宗教的な人ですか?:)
ジョーエルレンドシンスタッド

Mac OS X上にあります(GUIは一部を非表示にしますが、他のUnixと同じように動作します)。Mac OS Classicにはそれらがありませんでした。::前のディレクトリに使用されました。含ま:れていないパスは現在のディレクトリです。それ以外の場合は、コンポーネントがで区切られた完全なパス(ディスク名で始まる)が予想されました:。例:Macintosh HD:System Folder:Finder
derobert

4

これらは、自己(。)および親(..)ディレクトリーへのハードリンクです。ディレクトリを作成すると作成されます。それらを削除することはできません(それらが指すディレクトリを削除することなく)。

ディレクトリを作成する場合:

mkdir /tmp/foo

実際には、/ tmp / fooへのハードリンクが2つあることがわかります。

drwxr-xr-x 2 michal michal 4096 2011-08-07 18:40 /tmp/foo
           ^---- two hardlinks

最初は/ tmp / fooを指す/ tmp /ディレクトリからで、2番目は「。」です。/ tmp / foo /にselfを指定します。


2

また、ls -A(の代わりにls -a)を使用して、隠しファイルを含むすべてのファイルを一覧表示できますが...ディレクトリとディレクトリは除外できます。


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