*.* 기호는 무엇이라고 합니까?

*.* 기호는 무엇이라고 합니까?

이름이 뭐에요

*.*

상징과 그 의미는 무엇입니까?

답변1

*.*오래된 Windows/DOS 시스템에서의 해석

여기서 의미는 Unix/Linux보다는 Windows/DOS와 더 관련이 있습니다. 이전 Windows/DOS 시스템에서는 "와일드카드" 모드입니다. 와일드카드 패턴은 Unix glob과 유사한 방식으로 파일 이름을 일치시키는 데 사용됩니다. 와일드카드는 *.*파일을 일치시키는 데 자주 사용됩니다.

Unix glob과 마찬가지로 *파일 이름의 모든 문자 시퀀스와 일치하므로 *자체적으로 모든 파일과 일치합니다. 그러나 *.*이러한 와일드카드 문자 작동 방식의 차이로 인해 모든 파일 이름이 일치됩니다. ~에 따르면이 기사:

별표를 제외하고 별표 뒤의 모든 문자는 효과가 없습니다. 별표는 커서를 위치 12로 이동하기 때문입니다. 이 시점에서는 마지막 세 위치를 지우고 커서를 이동하는 점을 제외하고는 구문 분석 상태가 아무것도 변경되지 않습니다.

이 동작(Unix 관점에서 보면 약간 이상함)은 a 뒤의 점이 *실제로 점과 일치하지 않는다는 것을 의미하지만 패턴에 더 많은 문자를 추가할 수 있는 해킹일 뿐입니다. 이는 다른 항목을 추가하면 *마지막 세 위치의 모든 항목과 일치함을 의미합니다.

이 구문이 Windows 95 이전 DOS와 이전 Windows 시스템에서 사용되었다는 점을 고려하면 이는 더 의미가 있습니다.8.3 파일 이름. 이러한 파일 이름에는 점 1개만 사용할 수 있으며 점 뒤 문자는 최대 3자까지 가능합니다. 시스템의 모든 파일은 아니더라도 대부분의 파일 확장자는 3자입니다(기술적으로 더 짧은 확장자가 허용되거나 확장자가 허용되지 않더라도). 그래서 어떻게든 *.*모든 파일을 일치시키는 것이 의미가 있다고 생각했습니다(적어도 뒤틀린 Windowsey 논리 관점에서는). .

*.*Unix 쉘에서의 설명

Unix 쉘에서는 다른 사람들이 지적했듯이 이는 "경로 이름 확장" 또는 "glob"을 나타냅니다. *이상한 점프-엔드 동작이 없으므로 뒤따르는 문자가 무시되지 않습니다. *.*패턴은 점이 포함된 모든 파일 이름과 일치합니다(시작 부분 제외). Unix/Linux 시스템에는 많은 파일이 있으므로 이는 어떤 파일과도 일치하지 않습니다.아니요확장자가 있어야 합니다(또는 점이 허용되므로 점을 포함해야 합니다).

유닉스에서 파일 이름 시작 부분의 점이 일치하지 않는 이유 *.*는 파일 이름 시작 부분에 점을 추가하면 파일이 "숨겨지는" 방식이고 숨겨진 파일은 기본적으로 전역에서 제외되기 때문입니다. POSIX 셸에서 이를 일치시키려면 패턴 시작 부분에 명시적으로 점을 배치해야 합니다. 옵션은 셸에서 설정하거나 변수를 적절하게 설정할 bash수 있지만 이는 또 다른 질문입니다!dotglobGLOBIGNORE

답변2

그것은glob존재하다 bash. 아래에서는 bash 매뉴얼을 인용합니다.

bash - GNU Bourne-Again 쉘

*

빈 문자열을 포함하여 모든 문자열과 일치합니다. globstar쉘 옵션이 활성화되어 *경로 이름 확장의 맥락에서 사용 되면 *s단일 패턴으로 사용되는 두 개의 인접한 옵션은 모든 파일과 0개 이상의 디렉터리 및 하위 디렉터리와 일치합니다. 따라가면 /인접한 두 개의 항목은 *s디렉터리 및 하위 디렉터리와만 일치합니다.

이 경우 *.*이름에 점이 포함된 모든 파일이 일치됩니다..

자세한 내용을 보실 수 있습니다여기.

답변3

별표(Asterisk)는 일종의 쉘 언어 *입니다 . glob에서 인용쉘 명령 언어:

별표( '*')는 빈 문자열을 포함하여 모든 문자열과 일치해야 하는 패턴입니다.

그러나 쉘 옵션이 설정되어 있지 않으면 .a로 시작하는 파일 이름은 일치하지 않습니다 .dotglob

이를 사용하면 *.*다음 중 하나와 일치합니다.

  • 다음으로 시작하지 않습니다..
  • 적어도 하나를 포함.

참고하셔도 좋을 것 같아요파일 이름 확장자설명서에.

답변4

*실행을 위해 쉘에서 사용되는 와일드카드입니다.파일 이름 확장자, "와일드카드"라고도 합니다. *아무것도 포함하지 않고 모든 것으로 확장됩니다(예: *.*일치함 file.등). 또 다른 일반적인 와일드카드 ?는 단일 문자와 일치한다는 것입니다.

이러한 와일드카드 문자의 기능을 정규식(예: grep에서 사용되는 문자)의 동일한 문자 사용과 혼동해서는 안 됩니다.

관련 정보