파일 확장자

File extension. 파일이름에서 파일 포맷을 나타내는 접미어. 대부분의 경우 .txt 같이 점으로 시작해서 로마자숫자로 구성된다. 아주 드문 경우 디렉토리와 같은 파일 이름과 비슷하면서 다른 것에 붙기도 한다(대표적인 예로 맥오에스텐번들.app).

확장자를 포함한 파일 이름은 사용자가 쉽게 바꿀 수 있기 때문에 파일 포맷을 판단하는 데 확장자를 쓰는 것은 매우 위험하며, 기본적으로는 파일 포맷에 대한 지식이 없는 운영체제 등이 어떤 프로그램이 해당 파일을 처리·실행하는 데 적합한지 판단하는 용도로만 쓸 수 있다. 이는 심지어 보안 문제로 이어지기도 해서, 파일 이름이 LOVE-LETTER-FOR-YOU.TXT.vbs인데 확장자를 숨기는 운영체제에서는 텍스트파일처럼 보이는 경우도 있다. 한편으로는 파일 확장자만을 바꾸는 것으로 같은 기반 파일 포맷을 다른 소프트웨어에서 쓸 수 있다는 장점도 있다.1)

파일 확장자(.txt)의 대안으로는 인터넷미디어타입(text/plain), 맥오에스의 타입 코드(TEXT), 맥오에스텐통합타입식별자(UTI, public.plain-text) 등이 있으며, 이 중 인터넷 미디어 타입의 경우 인터넷에서 널리 쓰이고 있기 때문에 특히 널리 쓰인다. 하지만 확장자에 의존하는 기존 소프트웨어들과의 호환성 때문에 파일 확장자 자체가 사라질 가능성은 크지 않다.

이중 확장자

대다수의 운영체제는 맨 마지막으로 나오는 확장자만을 그 파일의 확장자로 인식하지만, 종종 두 개 이상의 확장자가 붙어서 확장된 의미를 가지는 경우가 있다. 이 경우 맨 마지막에 나타나는 확장자가 주된 의미를 가지게 된다. 또한 전통적인 8.3파일명 제약 때문에 이중 확장자를 대체하는 짧은 확장자가 존재하는 경우도 드물지 않다(이를테면 .tgz 대신 .tar.gz).

  • tar로 먼저 보존한 뒤 gzip으로 압축한 파일의 확장자는 일반적으로 .tar.gz이다. 이 파일 자체는 gzip으로 먼저 압축 해제를 해야 하므로, .tar을 인식하지 못 하는 소프트웨어에서도 .gz만 보고 압축 해제를 할 수 있다. (물론 사용자는 .tar 확장자를 보고 다시 한 번 보존 해제를 해야 한다.)
  • 아파치웹서버에서 HTTP컨텐트협상을 구현하는 mod_negotiation 모듈에서는 확장자가 여러 개 있으면 그에 따라 해당 파일의 종류(HTTP에서 Content-Type), 인코딩(Content-Encoding), 언어(Content-Language) 등을 추출해 낸다. 따라서 index.ko.html.gz는 gzip 인코딩으로 처리된 한국어 HTML 파일이 된다.

가변 확장자

일부 확장자는 확장자가 항상 고정된 것이 아니라 특정한 패턴만 따르는 경우도 있다. 이런 파일들은 운영체제에서 별도로 처리하지 않는 경우 상당한 피로를 초래한다.

  • 멀티볼륨압축파일의 경우 전통적으로 확장자 마지막 두 글자를 숫자로 대체해서(.rar, .r00, .r01 등등) 순번을 표시해 왔다. 이는 8.3 파일명 제약의 잔재로, 최근 나온 대부분의 압축 소프트웨어는 이중 확장자와 유사한 형태(.part00.rar, .part01.rar 등등)를 쓰도록 바뀌었다.

같이 보기

1) 대표적으로 코믹북 파일 포맷에서는 .zip 대신 .cbz를, .rar 대신 .cbr을 쓴다. 이들은 일반 압축소프트웨어로도 읽을 수는 있지만 이미지파일을 담는 것이 명확하기 때문에 좀 더 특화된 소프트웨어로 읽는 것이 바람직하다.

도쿠위키DokuWiki-custom(rev 9085d92e02)을 씁니다.
마지막 수정 2011-11-29 04:44 | 작성자 lifthrasiir