8.3 파일 이름

위키백과, 우리 모두의 백과사전.

8.3 파일 이름[1](짧은 이름 또는 SFN, short filename)은 윈도우 95, 윈도우 NT 3.51 이전의 마이크로소프트 윈도우 버전, 오래된 도스 버전이 사용하는 파일 이름 규칙이다. 현대의 마이크로소프트 운영 체제에서도 레거시 프로그램들과의 호환성을 목적으로 긴 파일 이름에 대한 대체 파일 이름으로서 사용된다. 이 파일 이름 규칙은 FAT 파일 시스템에 제한을 받는다. 이와 비슷하게 8.3 파일 이름 규칙은 초기 CP/M, 아타리, 일부 데이터 제너럴, 디지털 이큅먼트 코퍼레이션(DEC) 미니컴퓨터 운영 체제에도 존재하였다.

개요[편집]

8.3 파일 이름은 최대 8자리의 이름과, 마침표(.), 그리고 최대 3자리의 파일 확장자로 이루어진다. . 확장자가 없는 파일이 있다면 중요성이 없는 파일로 간주된다. (즉, myfilemyfile.는 동등함) 파일과 디렉터리 이름은 대문자이지만, 8.3 표준을 사용하는 시스템은 일반적으로 대소문자를 구별한다.

확장 디렉터리 포맷을 사용하는 FAT의 변종인 VFAT윈도우 95, 윈도우 NT 3.5에 도입되었다. 클래식 8.3 이름 지원과 함께 대소문자가 혼합된 형태의 유니코드 긴 파일 이름(LFN)을 허용한다.

(도스, 윈도우 3.1 상의) 오래된 응용 프로그램들과의 하위 호환성을 유지하기 위해 FAT와 VFAT 파일 시스템에서 8.3 파일 이름은 자동으로 모든 LFN을 위해 생성되며 이를 통해 파일의 이름을 바꾸거나 지우거나 열 수 있다. NTFS 파일 시스템에서 8.3 파일 이름의 생성은 끌 수 있다.[2] 8.3 파일 이름은 Kernel32.dll 함수 GetShortPathName을 사용하여 취득할 수 있다.[3][4]

LFN으로부터 8.3 이름을 작성하는 강제적인 알고리즘은 없지만, 윈도는 다음의 변환 규칙을 사용한다:[5]

  1. LFN이 8.3 대문자이면 LFN은 디스크에 저장되지 않는다.
    • 예: TEXTFILE.TXT
  2. LFN이 8.3 대소문자이면 LFN은 대소문자의 이름을 저장하되 8.3 이름은 모두 대문자로 된 버전을 사용한다.
    • 예: TextFile.TxtTEXTFILE.TXT로 된다.
  3. 파일 이름에 8.3 이름이 허용하지 않는 문자를 포함하고 있거나 (API를 통하지 않고 변환을 허용하지 않는 공백 포함) 일부분이 너무 길다면, 이 이름에서 공백과 추가적인 마침표를 포함한 유효하지 않은 문자는 잘라내버린다. 이름이 .으로 시작하면 따라오는 마침표는 제거된다. +와 같은 다른 문자들은 밑줄 문자 _로 대체된다. 잘려나간 이름은 6자리의 basename으로 만들어지며 그 뒤에 물결표(~)와 하나의 숫자, 마침표 ., 확장자의 최초 3자리 글자가 따라온다.
    • 예: TextFile.Mine.txtTEXTFI~1.TXT로 된다. (TEXTFI~1.TXT가 이미 존재하면 TEXTFI~2.TXT로 된다). ver +1.2.textVER_12~1.TEX로 된다. .bashrc.swpBASHRC~1.SWP로 된다.
  4. 윈도 2000을 시작으로 적어도 4개의 파일이나 폴더가 있고 서로 동일한 처음 6자리가 짧은 이름으로 존재한다면 잘려나간 LFN은 처음 2자리를 basename으로 사용(basename이 1자리만 있다면 1자리만 사용)하고 문서화되지 않은 해시의 파일 이름으로부터 4자리 16진수가 따라오고 물결표가 그 뒤에 온 뒤 하나의 숫자와 마침표가 오며 확장자의 첫 세 자리가 뒤에 온다.
    • 예: TextFile.Mine.txtTE021F~1.TXT로 된다.


윈도우 NT 계열에 쓰이는 파일 시스템 NTFS는 LFN을 그대로 지원하지만 8.3 이름은 레거시 응용 프로그램들을 위해서 이용이 가능하다. 많은 수의 비슷한 이름의 파일이 같은 폴더에 존재하는 상황에서 성능을 개선하려면 이 기능을 끌 수 있다.[2]

ISO 9660 파일 시스템(주로 콤팩트 디스크에 쓰임)은 가장 기본적인 레벨 1에서 비슷한 제한이 있고, 여기에 디렉터리 이름에 확장자가 올 수 없고 하이픈과 같은 일부 문자들은 파일 이름에 허용되지 않는다. 레벨 2는 파일 이름을 최대 31자리까지 허용하며 맥 OS 파일 이름과 더 호환성이 좋다.

마이크로소프트 반독점 공판 기간 동안 MICROS~1와 MICROS~2라는 이름이 기업 이름을 가리킬 때 풍자적으로 사용되었다.[6]

같이 보기[편집]

각주[편집]

  1. “Naming a File”. 마이크로소프트 개발자 네트워크. 2008년 10월 15일에 원본 문서에서 보존된 문서. 2015년 9월 29일에 확인함. 
  2. “How to Disable the 8.3 Name Creation on NTFS Partitions”. Microsoft. 
  3. “GetShortPathName Function”. MSDN. 2015년 10월 1일에 원본 문서에서 보존된 문서. 2015년 9월 29일에 확인함. 
  4. “How to Get a Short Filename from a Long Filename”. Microsoft. 
  5. “How Windows Generates 8.3 File Names from Long File Names”. Microsoft. 
  6. “보관된 사본”. 2012년 2월 22일에 원본 문서에서 보존된 문서. 2015년 9월 29일에 확인함.