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


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.