{{위키데이터 속성 추적}}
'''긴 파일 이름'''(Long filename, LFN) 지원은 [[마이크로소프트 도스]]에 쓰이는 [[8.3 파일 이름]] 규칙에 대한 [[마이크로소프트]]의 하위 호환성 확장이다. 긴 파일 이름은 <code>.jpg</code>, <code>.tif</code>, <code>.htm</code>, <code>.xht</code>와 같은 짧은 이름 보다는 <code>.jpeg</code>, <code>.tiff</code>, <code>.html</code>, <code>.xhtml</code>과 같은 다른 운영 체제에서 일반적인, 더 긴 [[파일 확장자|확장자]]를 포함하여 더 자세히 기술할 수 있다. 이 표준은 1994년 [[윈도우 NT 3.5]]에서 첫 구현된 뒤로 지금까지 [[파일 할당 테이블|FAT]] [[파일 시스템]]에서 일반적으로 쓰이고 있다.

다른 운영 체제와의 호환성을 유지하기 위해 마이크로소프트는 긴 파일 이름으로부터 8.3 파일 이름을 생성하여(이를테면 <code>Microsoft.txt</code>를 <code>MICROSO~1.TXT</code>로) 파일과 연결하는 방식을 취하고 있다.

== 호환성 문제 ==
마이크로소프트는 [[파일 할당 테이블|FAT]] 파일 시스템에서 볼륨 레이블 형태의 보이지 않는 디렉터리 엔트리를 사용하여 더 긴 이름을 저장함으로써 LFN 지원을 구현한다. 이른바 [[VFAT]] 규칙이 호환성을 위해 채택되었는데, 이로써 볼륨 레이블은 일반적으로 프로그램과 운영 체제 구성 요소에 의해 무시된다. 오래된 운영 체제를 실행하는 프로그램들은 여전히 파일들의 짧은 이름으로 접근이 가능하지만 새로운 LFN을 인지하는 운영 체제들과 프로그램들은 긴 이름을 사용할 수 있다.

LFN이 [[MS-DOS]] 기반 운영 체제에 [[윈도우 95]] 형식으로 처음 도입되었을 때 오래된 프로그램들에 일부 문제가 발생하였다. 이를테면 윈도가 도스 모드에 있는 동안 섹터 수준의 디렉터리 조작을 수행하는 도스 프로그램은 긴 파일 이름의 정보를 파괴할 수 있어서 기본적으로 하드 디스크에 섹터 수준으로 접근하는 일은 이 모드에서 허용되지 않는다.

순수 도스로 부팅할 때 긴 파일 이름은 VFAT LFN 드라이버가 설치되어 있지 않는 한 보이지 않는다. 마이크로소프트는 [[파일 관리자]], [[윈도 포 워크그룹]] 파일 관리자 (새로운 운영 체제 셸인 [[탐색기]]로 대체됨)를 포함한 오래된 프로그램들 다수에 LFN 지원을 추가하지 않았다. [[윈도우 NT]]의 경우 NT 3.1의 출시를 기점으로 NTFS 파일 시스템에서 LFN을 지원하기 시작하였으며 파일 관리자를 포함한 유틸리티들 전반이 LFN을 지원하도록 업데이트되었다. NT 3.5는 윈도우 95 준비를 통해 FAT LFN 지원을 추가하였다. 그러나 윈도우 95 버전의 파일 관리자는 윈도 포 워크그룹 3.11과 함께 출시되었다.

[[OS/2]]는 마이크로소프트의 구현과 호환되지 않는 <code>.LONGNAME</code> [[확장 파일 특성|확장 특성]]을 사용하여 LFN을 저장하며, OS/2 표준을 지원하는 도구를 사용해서만 사용자에게 나타난다. 경로 이름을 통해 파일로 접근을 제공하는 수많은 API들은 드라이버 지원 없이는 더 길고 새로운 이름을 볼 수 없다.

=== 제한 ===
FAT LFN 구현이 더 오래되고 더 제한된 이름 체계의 상위에 위치해 있기 때문에 처음 여섯 자리와 동일한 수많은 파일들을 너무 많이 만들어내려고 하는 등의 경우 어쩔 수 없는 복잡함이 존재한다.<ref>{{웹 인용 |url=http://www.cocoadev.com/index.pl?MSDOSFileSystem |제목=CocoaDev: MSDOSFileSystem |확인날짜=2007년 1월 21일 |보존url=https://web.archive.org/web/20061018063912/http://www.cocoadev.com/index.pl?MSDOSFileSystem |보존날짜=2006년 10월 18일 |url-status=dead }}</ref> 게다가 루트 디렉터리에 파일이나 디렉터리를 생성하는 문제를 마주칠 수 있는데, 그 까닭은 [[FAT12]]와 [[FAT16]]은 오직 512개의 루트 디렉터리 항목만을 하드 디스크에 할당할 수 있기 때문이다. 긴 파일 이름은 하나 이상의 디렉터리 엔트리를 사용하므로 이 문제는 루트 디렉터리에 512개보다 적은 수의 파일이나 디렉터리가 있을 때 발생할 수도 있다.<ref>[http://support.microsoft.com/kb/120138 Errors Creating Files or Folders in the Root Directory]</ref>  여기에는 최대 길이 (512/20)의 25개의 긴 파일 이름만을 위한 공간이 있다. 이 문제는 [[FAT32]] 볼륨에서는 존재하지 않는다.

긴 파일 이름은 최대 255자리의 [[UCS-2]] 문자를 허용하며<ref>{{웹 인용 |url=http://msdn2.microsoft.com/en-us/library/ms810456.aspx |제목=Making Room for Long Filenames<!-- Bot generated title --> |확인날짜=2015-09-29 |보존url=https://web.archive.org/web/20080423090226/http://msdn2.microsoft.com/en-us/library/ms810456.aspx |보존날짜=2008-04-23 |url-status=dead }}</ref><ref name="Long Filename Specification">{{웹 인용 |url=http://home.teleport.com/~brainy/lfn.htm |제목=Long Filename Specification<!-- Bot generated title --> |확인날짜=2015-09-29 |보존url=https://web.archive.org/web/20151025195158/http://home.teleport.com/~brainy/lfn.htm |보존날짜=2015-10-25 |url-status=dead }}</ref> 여기에는 알파벳이 아닌 문자(<code>\ / : * ? " < > |</code> 등의 운영 체제 커널이나 [[COMMAND.COM|명령 인터프리터]] 내에서 특별한 의미를 갖는 문자 제외)나 공백을 포함한다. 최대 20개의 디렉터리 엔트리의 13개의 2바이트 [[유니코드]] 문자를 각각 연결함으로써 수행된다.<ref name="Long Filename Specification"/> 경로 이름의 최대 길이는 256자이며, 여기에는 모든 부모 디렉터리와 파일 이름을 포함한다.

== VFAT LFN 드라이버 ==
아래는 윈도우 95에서 사용되는 것처럼 VFAT 긴 파일 이름을 사용할 수 있게 지원해 주는 드라이버의 목록이다. DOSLFN이 거의 모든 버전의 도스에서 적재가 가능하지만, MS-DOS 7.10과 같이 <code>DIR</code> 등의 도스 명령어들이 긴 파일 이름도 잘 보여주는 것처럼 LFN 자체를 지원하는 도스 버전에서 가장 잘 동작한다.

{| class="wikitable"
!운영 체제
!드라이버 이름
!제공자
|-
|모든 [[도스]]
|DOSLFN, LFNDOS
|타사
|-
|[[DR-DOS]]
|LONGNAME
|제공
|-
|[[OS/2]]
|VFAT-OS2.IFS
|타사
|}

== 같이 보기 ==
* [[8.3 파일 이름]]
* [[파일 시스템]]

== 각주 ==
<references />

== 외부 링크 ==
* {{언어링크|en}} [http://www.faqs.org/docs/Linux-HOWTO/Filesystems-HOWTO.html The filesystems howto]
* {{언어링크|en}} [http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/util/system/doslfn/ Current version of DOSLFN]
* {{언어링크|en}} [http://www-user.tu-chemnitz.de/~heha/hs_freeware/freew.html Original Author of DOSLFN] {{웨이백|url=http://www-user.tu-chemnitz.de/~heha/hs_freeware/freew.html |date=20130528173924 }}
* {{언어링크|en}} [http://www.dsteiner.com/products/software/os2/vfat.htm VFAT OS2 Provides LFN support under OS2] {{웨이백|url=http://www.dsteiner.com/products/software/os2/vfat.htm |date=20170620004724 }}

{{컴퓨터 파일}}

[[분류:컴퓨터 파일]]
[[분류:파일 이름]]