일부 파일 및 폴더가 숨겨진 이유는 무엇입니까?


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로 존재하므로 파일이 존재한다는 것을 알고 싶지 않습니다. 스풀의 파일은 사용자가 나열한 다른 파일과 동일한 임시 파일이므로 수동으로 편집해서는
안되므로

3
.ssh 및 .config는 일반 사용자의 홈 디렉토리에 있든 루트 사용자의 홈 디렉토리에 있든 항상 이름이 지정됩니다. / etc / skel은 새 사용자의 홈 디렉토리에 대한 프로토 타입이며 파일은 새로 작성된 디렉토리에있는 것과 동일한 이름을 갖습니다.
Mark Plotnick

2
그러나 그 파일들은 숨겨져 있지 않습니다 . 이 ls명령은 기본적으로 점으로 시작하는 파일을 나열하지 않습니다 (참조 info ls)-이 특정 소프트웨어 조각의 디자인입니다.

1
@ illuminÉ : "기본적으로 표시되지 않음"이 아닌 경우 "숨김"을 정확히 어떻게 정의 하시겠습니까? 이것은 단지 속성이 아닙니다 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는 닷 파일이 누군가를 엉망으로 만들지 않기 위해 숨겨져있는 것이 옳습니다 (유닉스의 기본 아이디어는 사용자가 자신이 무엇을 알고 있다고 가정하는 것입니다). 홈 디렉토리의 구성 파일의 경우 etc하위 디렉토리가 더 나은 솔루션 이라고 생각했을 것입니다 ).


+1 "홈 디렉토리의 구성 파일"은 꽤 어리석은 생각이었습니다. 그들은 당신이 정말로보고 싶지 않을 때마다 나타나기 위해 숨겨져 있습니다.
maaartinus

3

이것은 매우 적절한 답변 일지 모르지만 도트 파일도트 디렉토리숨겨 지거나 모호 하지 않도록 표시 된 주된 이유 는 해당 파일과 디렉토리 내에서 프로그램과 사용자라는 것을 사용자에게 알리는 것입니다. 그들에 의해 또는 프로그램 자체에 의해 변경 될 수있는 설정.

도트 파일도트 디렉토리 는 기본적으로 명령 줄 ls과 대부분의 파일 관리자의보기에서 생략 된다는 사실 은 단지 상품 일뿐입니다. 사용자가 설정을 변경하려고하고 GUI를 통해 설정을 수행 할 수없는 경우 도트 파일 에서 원하는 설정을 찾을 가능성이 큽니다 .

예를 들어 내부에에 $HOME/.vimrc대한 구성 설정이 vim있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.