Чому деякі файли та папки приховані?


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
подивіться другу відповідь. Причиною цих перелічених вами файлів є те, що вони є конфігураційними файлами, які не слід міняти щодня і завжди представлені у форматі .ssh та .bash_profile, тому ви не хочете знати, що вони є. Це просто умова. Файли на шпулі - це тимчасові файли, такі ж, як і багато інших, які ви перерахували, тому їх не слід редагувати вручну, отже, вони приховані
vfbsilva

3
.ssh та .config завжди називаються так, незалежно від того, чи є вони в домашньому каталозі звичайного користувача або в домашньому каталозі кореневого користувача. / etc / skel повинен бути прототипом для домашніх каталогів нових користувачів, а файли мають ті самі назви, що і в новостворених каталогах.
Марк Плотнік

2
Але ці файли не приховані . lsКоманда просто не список файлів , починаючи з точкою за замовчуванням (див info ls) - це дизайн цієї конкретної частини програмного забезпечення.

1
@ iluminÉ: Отже, як саме ви б визначили "прихований", якщо не як "не показано за замовчуванням"? Зауважте, що це не властивість лише ls; також розширення оболонок глобусів не включатиме ці файли, якщо провідна точка явно не включена до шаблону, і зазвичай файлові менеджери не показуватимуть їх, якщо ви не вибрали опцію "Показати приховані файли" (так, цей параметр не використовує цей термін).
celtschk

Відповіді:


15

Ви неправильно трактували основне обґрунтування "прихованих файлів". Це не

щоб користувачі не возилися з речами.

Хоча це може мати такий наслідок для дуже нових користувачів, поки вони не дізнаються, що таке "файл точок" ( точковий файл і каталог точок , можливо, є більш підходящими та конкретними термінами, ніж "приховані"). Це само по собі це не заважає вам возитися з речами - ось для чого потрібні дозволи. Можливо, це допомагає вказувати новим користувачам, що це те, з чим вони не повинні возитися, поки не зрозуміють, що це таке.

Таким чином, ви можете думати про префікс точки як про своєрідний суфікс файлу - зауважте, що вони зазвичай не мають одного з таких, хоча вони можуть. Це вказує, що цей файл не представляє інтересу для загального перегляду, тому lsбраузери файлів зазвичай не відображають його. Однак, оскільки це префікс замість суфікса, є додатковий бонус, коли ви відображаєте їх ( ls -a) у лексикографічному порядку, щоб побачити їх усі перелічені разом.

Нормальне призначення такого файлу - використання додатком (наприклад, конфігурація). Вам не потрібно використовувати їх безпосередньо або навіть усвідомлювати їх.

Отже, ця "приховування" не стільки призначена для того, щоб буквально приховати файл від користувача, скільки для зменшення безладу та надання певної організації концептуально.


Дякую за вашу відповідь. Чи означає це, що ці файли мають меншу значимість і тому приховані для зменшення безладу?
Переповнення запитань

1
Я думаю, це залежить від вашої точки зору. Це щось говорить про те, яке значення має файл (ймовірно). Вони використовуються в домашніх каталогах для конфігурацій користувача , але вони також використовуються в каталогах, як правило, для вказівки на конфігурацію каталогів . Два приклади: системи управління версіями, такі як git, використовуватимуть їх; при gitскануванні заданої директорії, якщо присутній .gitignoreфайл, він прочитає його; і при запуску gdb, він буде читати $PWD/.gdbinitфайл , якщо присутня ( і~/.gdbinit , інший поширений метод).
goldilocks

4

/etc/skelмістить файли, які потрібно скопіювати в домашні каталоги нового користувача, тому імена, звичайно, такі ж, як у домашньому каталозі користувача. Це пояснює /etc/skel/.bash_profile. Каталог /rootтакож є домашнім каталогом, а саме домашнім каталогом користувача root. Це пояснює /root/.sshі /root/.config.

/etc/.pwd.lockначебто файл блокування. Зазвичай ви не зацікавлені у файлах блокування, тому має сенс його приховувати.

Для інших файлів я не знаю, для чого вони призначені, але я впевнений, що також є хороше пояснення, чому вони приховані.

І звичайно, goldilocks правильно, що точкові файли приховані не для того, щоб хто-небудь не возився з ними (основна ідея Unix - припускати, що користувач знає, що він робить), а для того, щоб вони не захаращували списки ваших каталогів ( хоча для файлів конфігурації в домашньому каталозі я вважав би etcпідкаталог кращим рішенням).


+1 "файли конфігурації в домашньому каталозі" були досить дурною ідеєю. Вони приховані лише для того, щоб з’являтися, коли ви дійсно не хочете їх бачити.
maaartinus

3

Це може бути дуже суперечливою відповіддю, але я думаю, що основна причина точкових файлів і точкових каталогів позначена так, що це не приховувати або затемнювати їх - я думаю, це просто дати користувачеві знати, що всередині цих файлів і каталогів є програма та користувач налаштування, які можуть бути змінені ними або самими програмами.

Те, що файли крапок і каталогів точок за замовчуванням опускаються командним рядком lsта з переглядів у більшості файлових менеджерів - просто товар - ви не хочете показувати внутрішні / деталі для всього, якщо цього не вимагає користувач; якщо користувач хоче змінити налаштування, і він / вона не може це зробити через графічний інтерфейс, то велика ймовірність знайти налаштування, які він / вона шукає, у крапкових файлах .

наприклад> всередині $HOME/.vimrcви знайдете налаштування конфігурації для vim.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.