처음에는 이것이 우연의 일치라고 생각했지만 이제는 태그 도 있습니다. 숨겨진 파일 이름은 모두 점으로 시작합니다. 이것이 컨벤션입니까? 왜 선택 되었습니까? 변경할 수 있습니까? 또는 다른 말로하면 (관련 질문으로 @evilsoup은 다른 많은 사람들에게 답을 암시한다고 제안했습니다.) 이름을 바꾸지 않고 파일을 숨길 수 .있습니까 (이름의 첫 문자로 사용 )?
답변
파일 이름 앞에 a가 붙는 개념. 유닉스 초기의 소프트웨어 버그로 인해 숨겨져 있어야합니다. 특수
.및..디렉토리 항목이 파일 시스템에 추가되면 ls 명령이 해당 항목을 표시하지 않기로 결정했습니다. 그러나,이 프로그램은 실수로 이름이 시작하는 파일 제외 기록 된.문자보다는 정확한 이름.또는...
… 그래서 버그로 시작한 다음 기능으로 받아 들였습니다 (레코드의 .경우 현재 디렉토리 ..에 대한 링크이고 그 위의 디렉토리에 대한 링크입니다. 그러나 이미 알고 있음을 확신합니다 ). 파일을 숨기는이 방법은 실제로 대부분의 시간에 충분하기 때문에 아무도 Windows 스타일의 파일 숨기기를 구현하는 데 신경 쓰지 않았다고 생각합니다.
다른 행동을 구현하면 * nix 세계에 훨씬 더 많은 조각화가 발생한다는 사실이 있습니다.
파일 이름을 바꾸지 않는 파일을 숨기는 또 다른 방법이 있지만 GUI 파일 관리자에서만 작동합니다 (그리고 그 중 보편적 인 것은 아닙니다-주요 Linux는 그것을 사용하지만 OSX의 Finder는 그렇게 생각하지 않습니다. 틈새 Linux 파일 관리자는이 동작을 지원하지 않을 것입니다.) :이라는 .hidden파일을 만들고 숨기려는 파일 이름을 한 줄에 하나씩 넣을 수 있습니다. ls쉘 글로브는 이것을 존중하지 않지만 여전히 유용 할 것입니다.
답변
점으로 시작하는 파일 은 기본적으로 “숨겨진”파일과 거의 동일한 효과를 갖지만 동일하지 않은 “ls”명령에 의해 무시 됩니다 (다른 명령은 동일하거나 수행하지 않도록 선택할 수 있음). “hidden”은 해당 속성 중 하나가 아니므로 점으로 시작하는 파일은 “hidden”이 아닙니다. DOS / Windows와 달리 “hidden”은 Unix의 속성이 아닙니다. 유닉스에는 많은 속성이 있지만 ( “man chattr”은 모든 속성을 알려줍니다) hidden은 그중 하나가 아닙니다.
도트 파일이 “ls”에 의해 무시되는 이유는 실제로 매우 재미 있고 당황 스럽습니다. 그것은 디자인 결정이 아니라 유닉스 초기의 소프트웨어 버그의 결과였다 . 특별한 때. .. 디렉토리 항목이 파일 시스템에 추가되었으므로 ls 명령이 방해가되기 때문에 표시하지 않아야한다고 결정했습니다. 그러나 프로그램은 이름이로 시작하는 파일을 제외하도록 급하게 작성되었습니다. 정확한 이름이 아닌 “.” 또는 “..”. 그리고 그 이후로 유닉스에서 따라온 선례를 만들었습니다. 유쾌하게도, 유닉스 직원들이 계획 9를 만들려고했을 때, 점 파일을 의도적으로 넣지 않았습니다 .
답변
파일을 숨길 수 있는지 여부와 조건은 사용중인 파일 시스템 및 해당 드라이버에 따라 다릅니다. 전통적인 유닉스 파일 시스템에는 파일에 대한 “숨기기”속성이 없습니다.
파일 시스템 드라이버는 디렉토리 목록을 얻는 데 사용되는 시스템 호출에 결과를 제공 할 때 파일 이름을 생략하여 원하는 파일을 숨길 수 있습니다. 그의 대답에서 설명 된 것처럼, 점으로 시작하는 파일은 실제로 숨겨져 있지 않습니다.
루트킷이 파일을 숨길 수있는 방법이기도합니다. 디렉토리 목록을 생성하는 시스템 호출에 연결하고 숨기려는 파일을 필터링합니다.
예를 들어, Oracle ACFS 클러스터 파일 시스템에서 디렉토리 <filesystem mountpoint>/.ACFS/는 실제로 숨겨져 있습니다. 이 디렉토리 는로 표시되지 않고 전혀 표시되지 않습니다 ls -a. 그러나 그것이 있다는 것을 알고 있다면, 잘 액세스 할 수 있습니다.
ACFS 파일 시스템의 스냅 샷 기능을 사용하는 경우 해당 .ACFS디렉토리를 통해 해당 파일 시스템의 기존 파일 시스템 스냅 샷에 액세스 할 수 있습니다 . 숨겨져 있지 않은 경우 백업 프로그램은 파일 시스템의 현재 내용과 기존 스냅 샷의 내용을 모두 백업 할 수 있습니다. 일반적으로 현재 상태 또는 하나의 특정 스냅 샷 상태를 백업하려고합니다.
