一部のファイルとフォルダーが非表示になっているのはなぜですか?


12

/home/userユーザーが物事をいじることを防ぐために、ディレクトリ内のファイルとフォルダーを非表示にする理由を理解できます。ただし、管理者のドメインである/etc/bootおよび/varディレクトリ内のファイルに同じ原理をどのように適用できるかわかりません。

私の質問は、なぜ一部のファイルとフォルダーが管理者から隠されているのですか?例:

/boot/.vmlinuz-3.11.1-200.fc20.x86_64.hmac
/etc/.pwd.lock
/etc/selinux/targeted/.policy.sha512
/etc/.java
/etc/.java/.systemPrefs
/etc/skel/.bash_profile
/root/.ssh
/root/.config
/var/cache/yum/x86_64/20/.gpgkeyschecked.yum
/var/spool/at/.SEQ
/var/lib/pear/.filemap


1
2番目の答えを見てください。リストしたファイルの理由は、毎日変更しない設定ファイルであり、常に.sshおよび.bash_profileとして存在するため、それらが存在することを知りたくないためです。これは単なる慣例です。スプールのファイルを、彼らはそれらが隠されているので、手動で編集すべきではありませんので、一時はあなたが記載されている他の多くのと同じファイルです
vfbsilva

3
.sshと.configは、通常のユーザーのホームディレクトリまたはルートユーザーのホームディレクトリにあるかどうかにかかわらず、常にその名前が付けられます。/ etc / skelは、新しいユーザーのホームディレクトリのプロトタイプであると想定されており、ファイルには、新しく作成されたディレクトリと同じ名前が付けられます。
マークプロトニック14

2
しかし、それらのファイルは隠されていません。このlsコマンドは、デフォルトではドットで始まるファイルをリストしません(「参考文献」を参照info ls)。これは、この特定のソフトウェアの設計です。

1
@illuminÉ:では、「デフォルトで非表示」としてではない場合、「非表示」をどのように正確に定義しますか?これは単なるプロパティではないことに注意してくださいls。また、グロブのシェル拡張には、パターンに先頭のドットが明示的に含まれていない限り、それらのファイルは含まれません。
celtschk 14

回答:


15

「隠しファイル」の主な理由を誤って解釈しました。そうではない

ユーザーが物事をいじることを防ぐため。

非常に新しいユーザーにとっては、「ドットファイル」が何であるかを知るまで、この結果になる可能性があります(「隠しファイル」よりもドットファイルドットディレクトリの方が適切で特定の用語です)。それ自体はすべて、物事をいじることを妨げるものではありません-それが許可の目的です。新しいユーザーに、これが何のためであるかを理解するまで、これが混乱してはならないことであることを示すことはおそらく役立つでしょう。

したがって、ドットプレフィックスを一種のファイルサフィックスと考えることができます。通常は、それらのいずれかを持たないことに注意してください。これは、このファイルが一般的なブラウジングに関係ないことを示しているためls、ファイルブラウザでは通常表示されません。ただし、接尾辞ではなく接頭辞であるls -aため、辞書式順序でそれらを表示する場合()を追加すると、すべてが一緒に一覧表示されます。

このようなファイルの通常の目的は、アプリケーション(構成など)による使用です。それらを直接使用したり、意識する必要はありません。

そのため、この「非表示」は、ファイルを文字通りユーザーから非表示にすることではなく、混乱減らし、概念的に組織を提供することを目的としています。


ご回答有難うございます。これらのファイルはそれほど重要ではないため、混乱を避けるために隠されていることを意味しますか?
質問オーバーフロー

1
それはあなたの見方によると思います。ファイルの重要性について(おそらく)何を言っているのでしょうか。これらは、ユーザーごとの構成のホームディレクトリで使用されますが、一般的にディレクトリごとに構成ごとに示すためにも使用されます。2つの例:gitなどのバージョン管理システムがそれらを使用します。git特定のディレクトリをスキャンするときに、.gitignoreファイルが存在する場合はそれを読み取ります。あなたが起動したときとgdb、それが読まれます$PWD/.gdbinit存在する場合、ファイルを(そして~/.gdbinit、他の一般的な方法)。
goldilocks

4

/etc/skel新しいユーザーのホームディレクトリにコピーされるファイルが含まれているため、名前はもちろんユーザーのホームディレクトリと同じです。これは説明します/etc/skel/.bash_profile。ディレクトリ/rootは、ホームディレクトリ、つまりユーザーのホームディレクトリでもありますroot。これについて説明/root/.ssh/root/.configます。

/etc/.pwd.lockロックファイルのようです。通常、ロックファイルには関心がないため、ロックファイルを非表示にすることは理にかなっています。

他のファイルについては、それらが何のためにあるのかわかりませんが、なぜそれらが隠されているのかについての良い説明もあると確信しています。

そしてもちろん、ゴールディロックは、ドットファイルが誰かを混乱させないために隠されているのは正しい(Unixの基本的な考え方は、ユーザーが自分のしていることを知っていると仮定することです)ただし、ホームディレクトリ内の構成ファイルについては、etcサブディレクトリの方がより適切なソリューションと考えられます。


+1「ホームディレクトリ内の設定ファイル」はかなり愚かなアイデアでした。本当に見たくないときはいつでも表示されるように隠されています。
maaartinus

3

これは非常に慎重な答えかもしれませんが、ドットファイルドットディレクトリ非表示または不明瞭にならないようにマークされている主な理由は、それらのファイルとディレクトリ内がプログラムとユーザーであることをユーザーに知らせることだけだと思いますそれらまたはプログラム自体によって変更できる設定。

ドットファイルドットディレクトリは、コマンドラインlsおよびほとんどのファイルマネージャーのビューからデフォルトで省略されているという事実は単なる商品です。ユーザーの要求がない限り、すべての内部/詳細を表示したくないでしょう。ユーザーが設定を変更したいが、GUIで変更できない場合、ドットファイルで探している設定を見つける可能性が非常に高くなります

たとえば、内部$HOME/.vimrcにはの設定がありvimます。

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