これら2つの違いは何なのかと思っていました。
~/somedirectory/file.txt
そして
~/.somedirectory/file.txt
.
を説明する方法がわからなかったため、Googleでこれを尋ねるのは非常に困難です。しかし、誰かがドットを含めることと除外することの違いを説明できますか?
UNIXライクなシステムでは、すべてのディレクトリに2つのエントリ .
および..
が含まれ、それぞれディレクトリ自体とその親を表します。これらのエントリはほとんどの場合面白くないので、ls
はそれらを非表示にし、*
のようなシェルワイルドカードはそれらを含めません。より一般的には、ls
とワイルドカードは、名前が.
で始まるすべてのファイルを非表示にします。これは、.
と..
を除外し、ユーザーが他のファイルをリストに表示しないようにする簡単な方法です。リストから除外されることを除いて、これらのファイルについて特別なことは何もありません。
Unixは、ユーザーごとの構成ファイルをユーザーのホームディレクトリに格納します。すべての構成ファイルがファイルリストに表示されると、ホームディレクトリは、ユーザーが毎日気にしないファイルでいっぱいになります。したがって、構成ファイルは常に.
で始まります。通常、アプリケーションFooの構成ファイルは、.foo
または .foorc
のように呼ばれます。このため、ユーザー構成ファイルはdot filesとしてよく知られています。
ドット.
で始まるディレクトリは非表示と見なされます。つまり:
~/somedirectory
と~/.somedirectory
は異なるディレクトリです。つまり、~/somedirectory
が存在し、mkdir ~/.somedirectory
を実行した場合、File Exists
メッセージで失敗することはありません。
ls
コマンドは、.
で始まるディレクトリを表示しません
ls -a
は両方のディレクトリを表示します
Unixファイルシステムの詳細については 標準を確認してください 。具体的には、ドットファイルはユーザーディレクトリの構成ファイルに使用され、プログラムに複数ある場合は、ドットディレクトリに配置する必要があります。
これは、ユーザーがファイルを検索したくない場合を除いて、ユーザーからファイルを隠します。そうすれば、彼らが邪魔をしたり、ツールが誤ってそれらに干渉したりすることはありません。
先頭の「。」ディレクトリまたはファイル名にls
コマンドを実行すると、そのディレクトリまたはファイルが非表示になります。
@DaveNayがすでに述べたように、その期間はファイルまたはディレクトリを非表示にします。
2番目の暗黙の質問の場合、これはGoogleでそれを検索する方法です。
検索ボックスに次のように入力するだけです:名前の前のLinuxピリオド