점이 앞에 오는 파일 이름 [중복]

점이 앞에 오는 파일 이름 [중복]

파일이 있고 파일 이름이 점으로 시작한다면 이는 파일을 생성하고 그 안에 내용을 숨겼다는 의미입니까, 아니면 파일 이름을 만들지 않고도 파일이 자체적으로 생성될 수 있습니까?

답변1

예를 들어, 이름 앞에 점이 있는 파일이나 디렉토리에 대한 유일한 "특별한" 점은 기본적으로 의 .myfile출력에 표시되지 않는다는 것입니다. ls또한 점으로 시작하는 파일 이름과 명시적으로 일치하지 않는 파일 이름 와일드카드 패턴도 일치하지 않습니다.

처음에는 비어 있는 디렉토리를 가정합니다.

$ touch .myfile    # this creates an empty hidden file
$ ls               # this will output nothing
$ echo *           # this will echo a *
*

이러한 파일을 종종 "숨겨진" 파일이라고 합니다. 그러나 파일 이름 와일드카드 패턴에서만 숨겨지며 ls, "비밀"이거나 악의적이거나 감지할 수 없거나 다른 사람이 읽을 수 없다는 의미는 아닙니다(파일 및 상위 파일의 권한에 따라 다름).

누구나 숨김 파일을 만들 수 있습니다. 이름 앞에 점만 추가하면 됩니다. 파일이 숨겨져 있다는 사실은 파일이 어떻게 생성되었는지(사용자가 명시적으로 또는 일부 프로그램을 실행하여) 알려주지 않습니다. 예를 들어, 일부 응용 프로그램은 숨겨진 이름(구성 및 캐시 파일 등을 저장하기 위해)으로 디렉터리를 생성하는 반면, 다른 응용 프로그램은 숨겨진 파일을 생성합니다.

예를 들어,

  • 쉘은 bash일반적으로 .bash_history명령 프롬프트에 입력하는 명령을 포함하는 홈 디렉토리에 생성됩니다(따라서 다시 입력할 필요 없이 향후 세션에서 쉽게 불러올 수 있습니다). 시작되면 쉘은 홈 디렉토리의 및 를 사용합니다 .bash_profile. .bashrc이러한 파일이 존재한다면 파일이 생성될 때 계정에 복사되었을 가능성이 높습니다.

  • .sshSSH를 사용하는 경우 홈 디렉터리에 이라는 숨겨진 디렉터리가 있을 수 있습니다. 이 디렉터리에는 공개 및 개인 SSH 키가 포함되어 있으며 일부 구성 파일이 포함될 수 있습니다. 다른 사람은 이 디렉토리에 접근할 수 없어야 합니다. 너무 가능하지 않음이 디렉터리를 수동으로 만듭니다.

  • 많은 데스크탑 유틸리티는 구성 파일을 홈 디렉토리 아래 어딘가에 저장 .config하고 파일을 .cache.

사용자의 홈 디렉토리(및 다른 곳)에 있는 구성 파일은 복잡해지지 않도록 이러한 방식으로 숨겨져 있는 경우가 많습니다 ls.

숨겨진 파일을 포함하여 디렉토리의 모든 파일을 보려면 -a또는 -A옵션을 사용하십시오 ls(사용하면 -AUnix 디렉토리에 존재하는 .이름 은 표시되지 않습니다 ..).

$ ls -a
.       ..      .myfile
$ ls -A
.myfile

bash셸 에서 *다른 셸 와일드카드 패턴은 숨겨진 이름과 일치하지 않습니다. 이를 수행하려면 dotglob쉘 옵션을 활성화하십시오 shopt -s dotglob.

$ echo *
*
$ shopt -s dotglob
$ echo *            # the * now matches a filename, so it is replaced by it
.myfile

관련 정보