Mengapa beberapa file dan folder disembunyikan?

12

Saya dapat memahami alasan menyembunyikan file dan folder di /home/userdirektori untuk mencegah pengguna mengacaukan berbagai hal. Namun, saya tidak melihat bagaimana alasan yang sama dapat diterapkan pada file di /etc, /bootdan /vardirektori yang merupakan domain administrator.

Pertanyaan saya adalah mengapa beberapa file dan folder disembunyikan dari administrator? Contoh:

/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
Pertanyaan Melimpah
sumber
1
lihat jawaban kedua. Alasan untuk file-file yang Anda daftarkan adalah mereka adalah file konfigurasi yang tidak boleh diubah setiap hari dan selalu hadir sebagai .ssh dan .bash_profile sehingga Anda tidak ingin tahu mereka ada di sana. Itu hanya sebuah konvensi. File di spool adalah file temp yang sama dengan banyak file lain yang Anda daftarkan sehingga tidak boleh diedit secara manual karena itu disembunyikan
vfbsilva
3
.ssh dan .config selalu dinamai demikian, apakah mereka berada di direktori home pengguna normal atau direktori home pengguna root. / etc / skel seharusnya menjadi prototipe untuk direktori home pengguna baru, dan file-file tersebut memiliki nama yang sama dengan yang ada di direktori yang baru dibuat.
Mark Plotnick
2
Tetapi file-file itu tidak disembunyikan . The lsperintah hanya tidak file daftar dimulai dengan titik secara default (lihat info ls) - itu desain khusus ini bagian dari perangkat lunak.
1
@ illuminÉ: Jadi, bagaimana tepatnya Anda mendefinisikan "tersembunyi" jika tidak sebagai "tidak ditampilkan secara default"? Perhatikan bahwa ini bukan properti hanya dari ls; juga ekspansi shell dari gumpalan tidak akan menyertakan file-file itu kecuali titik awal secara eksplisit termasuk dalam pola, dan biasanya manajer file tidak akan memperlihatkannya kecuali jika Anda memilih opsi "Tampilkan file tersembunyi" (ya, opsi itu menggunakan istilah itu).
celtschk

Jawaban:

15

Anda salah mengartikan alasan utama untuk "file tersembunyi". Bukan itu

untuk mencegah pengguna bermain-main dengan hal-hal.

Meskipun mungkin memiliki konsekuensi ini untuk pengguna yang sangat baru sampai mereka mengetahui apa itu "file dot" ( file dot dan direktori dot mungkin istilah yang lebih tepat dan spesifik daripada "tersembunyi"). Dengan sendirinya itu tidak mencegah Anda dari main-main dengan hal-hal - itulah gunanya izin. Mungkin membantu untuk menunjukkan kepada pengguna baru bahwa ini adalah sesuatu yang mereka tidak boleh mainkan sampai mereka mengerti untuk apa itu.

Dengan demikian Anda dapat menganggap awalan titik sebagai semacam akhiran file - perhatikan bahwa mereka biasanya tidak memiliki salah satunya, meskipun mereka dapat melakukannya. Ini menunjukkan file ini tidak menarik untuk penjelajahan umum, itulah sebabnya lsdan biasanya browser file tidak akan menampilkannya. Namun, karena ini adalah awalan alih-alih sufiks, ada bonus tambahan, ketika Anda menampilkannya ( ls -a) dalam urutan leksikografis, untuk melihat semuanya terdaftar bersama.

Tujuan normal dari file seperti ini adalah untuk digunakan oleh suatu aplikasi (misalnya konfigurasi). Anda tidak harus menggunakannya secara langsung atau bahkan menyadarinya.

Jadi, "persembunyian" ini tidak dimaksudkan untuk benar-benar menyembunyikan file dari pengguna karena untuk mengurangi kekacauan dan menyediakan beberapa organisasi secara konseptual.

goldilocks
sumber
Terima kasih atas jawaban anda. Apakah ini menyiratkan bahwa file-file ini kurang penting dan karenanya tersembunyi untuk mengurangi kekacauan?
Pertanyaan Overflow
1
Saya kira itu tergantung pada sudut pandang Anda. Itu mengatakan sesuatu tentang apa arti penting dari file (kemungkinan). Mereka digunakan dalam direktori home untuk konfigurasi per pengguna , tetapi mereka juga digunakan dalam direktori umumnya untuk menunjukkan per konfigurasi direktori . Dua contoh: Sistem kontrol versi seperti git akan menggunakannya; ketika gitmemindai direktori yang diberikan, jika ada .gitignorefile yang hadir, itu akan membacanya; dan ketika Anda mulai gdb, itu akan membaca $PWD/.gdbinitfile jika ada ( dan a ~/.gdbinit; metode umum lainnya).
goldilocks
4

/etc/skelberisi file yang akan disalin ke direktori home pengguna baru, oleh karena itu nama-nama itu, tentu saja, sama dengan di direktori home user. Ini menjelaskan /etc/skel/.bash_profile. Direktori /rootjuga merupakan direktori home, yaitu direktori home dari pengguna root. Ini menjelaskan /root/.sshdan /root/.config.

/etc/.pwd.locktampaknya merupakan file kunci. Anda biasanya tidak tertarik pada file kunci, oleh karena itu masuk akal untuk menyembunyikannya.

Untuk file-file lain, saya tidak tahu untuk apa file-file itu, tapi saya yakin ada juga penjelasan yang bagus mengapa mereka disembunyikan.

Dan tentu saja goldilocks benar bahwa dotfiles disembunyikan bukan untuk mencegah orang mengacaukannya (ide dasar Unix adalah berasumsi bahwa pengguna tahu apa yang dia lakukan), tetapi untuk mencegah mereka mengacaukan daftar direktori Anda ( walaupun untuk file konfigurasi di direktori home saya akan menganggap etcsubdirektori sebagai solusi yang lebih baik).

celtschk
sumber
+1 "file konfigurasi di direktori home" adalah ide yang cukup bodoh. Mereka disembunyikan hanya untuk muncul kapan pun Anda benar-benar tidak ingin melihatnya.
maaartinus
3

Ini mungkin jawaban yang sangat di opini, tapi saya pikir alasan utama file dot dan direktori dot ditandai seperti itu bukan untuk menyembunyikan atau mengaburkan mereka - saya pikir itu hanya untuk membiarkan pengguna tahu bahwa dalam file-file dan direktori adalah program dan pengguna pengaturan yang dapat diubah oleh mereka atau oleh program itu sendiri.

Fakta bahwa file dot dan direktori dot dihilangkan secara default oleh baris perintah lsdan dari pandangan di sebagian besar manajer file hanyalah komoditas - Anda tidak ingin menampilkan detail internal untuk semuanya, kecuali diminta oleh pengguna; jika pengguna ingin mengubah pengaturan, dan dia tidak bisa melakukannya melalui GUI, maka sangat mungkin untuk menemukan pengaturan yang dia cari dalam file dot .

mis.> di dalam $HOME/.vimrcAnda akan menemukan pengaturan konfigurasi untuk vim.

jimm-cl
sumber