名前がドットで始まるディレクトリの特別なところは何ですか?


25

これら2つの違いは何だろうと思っていました。

~/somedirectory/file.txt

そして

~/.somedirectory/file.txt

Googleでこれを尋ねるのは本当に難しい.です。何と呼べばいいのかさえわからないときを説明する方法がわからなかったからです。しかし、ドットを含めることと除外することの違いを誰かが説明できますか?

回答:


18

UNIXライクなシステムでは、すべてのディレクトリには2つのエントリが含まれ、...はそれぞれディレクトリ自体とその親を表します。これらのエントリはほとんどの場合興味深いものではないため、ls非表示にし、シェルワイルドカード*はそれらを含めないようにします。より一般的にはls、ワイルドカードは、名前が.;で始まるすべてのファイルを隠します。これは、ユーザーがリストから他のファイルを除外...、非表示にできるようにする簡単な方法です。リストから除外される以外、これらのファイルについて特別なことはありません。

Unixは、ユーザーごとの構成ファイルをユーザーのホームディレクトリに保存します。すべての構成ファイルがファイルリストに表示されると、ユーザーが毎日気にしないファイルでホームディレクトリが乱雑になります。そのため、構成ファイルは常に.:で始まります。通常、アプリケーションFooの構成ファイルは、.fooまたはのようなもの.foorcです。このため、ユーザー設定ファイルは多くの場合ドットファイルとして知られています


1
「より一般的にはls、ワイルドカードは、名前がaで始まるすべてのファイルを非表示にします.。これは、ユーザーがリストから他のファイルを除外.および..非表示にできる簡単な方法です。」これは次のように聞こえます。ドットで始まるファイル/ディレクトリを非表示するという概念は、実際には非表示見え. ..ます。しかし、後に、人々はいくつかのファイル/ディレクトリを隠すことができることには価値があることに気づき、隠したいファイルの先頭にドットを付け始めました。それは本当にそうですか、それとも単なる憶測ですか?
Utku

3
@Utkuは実際には、まず、少なくともとして、他の方法でのラウンドだった:オリジナルの開発者は、非表示にすることを目的...が、ミスを犯しました。しかし、一部のユーザーが便利だと判断したため、彼が修正を思いとどまらせた可能性があります。また、ユーザー構成ファイルが始まる理由は、ホームディレクトリの.出力が乱雑にならないようにするためですls。ここでこれについて質問があると思いますが、見つけることができません。
ジル 'SO-悪である停止'

15

ドットで始まるディレクトリ.は非表示と見なされます。つまり:

  • ~/somedirectory~/.somedirectoryは異なるディレクトリです。それが~/somedirectory存在していればmkdir ~/.somedirectoryFile Existsメッセージで失敗することはありません。

  • lsコマンドは、次で始まるディレクトリを表示しません.

  • ls -a両方のディレクトリが表示されます


6
ls -Aは、で始まるファイルとディレクトリを表示します。が含まれていません。および..エントリ。
ジュリアン

7

Unixファイルシステムの詳細については、標準を確認してください。特に、ドットファイルはユーザーディレクトリの構成ファイルに使用され、プログラムに複数のファイルがある場合は、それらをドットディレクトリに配置する必要があります。

これにより、ファイルを見つけたくない限り、ユーザーからファイルが非表示になります。そうすれば、彼らは邪魔にならず、ツールが偶然それらをいじることはありません。


4

先頭の「。」ディレクトリまたはファイル名でlsコマンドを実行すると、そのディレクトリまたはファイルが非表示になります。


1
「。」で始まるすべてのファイルを表示できます。ls -aを使用します。
サルダスリオン

1

すでに述べた@DaveNayのように、その期間はファイルまたはディレクトリを隠します。

2番目の暗黙的な質問については、これがGoogleでの検索方法です。

検索ボックスに入力するだけです:名前の前にlinux period

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