Filename extension
From Wikipedia, the free encyclopedia.
A filename extension or filename suffix is an extra set of (usually) alphanumeric characterss that is appended to the end of a filename to allow computer users (as well as various pieces of software on the computer system) to quickly determine the type of data stored in the file. It is one of several popular methods for distinguishing between file formats.
File managers such as Windows Explorer can have applications assigned for almost every file name extension. For example, a text editor for .txt, a word processor for .doc, a web browser for .htm or .html, PDF viewer or editor for .pdf, a graphics program for .png, .gif or .jpg, a spreadsheet program for .xls, etc. Files with extensions .exe, .com, .bat and .cmd are executed themselves under Windows.
Filename extensions have been in use for decades, but they have gained common usage because of operating systems like DOS and Windows, which had severe limitations on filenames for many years. They can be considered as a type of metadata, though one of the most visible pieces of such information on modern computer systems.
Generally, filename extensions are one, two, or three characters in length, but they can be much longer if the computer system permits.
| Table of contents |
|
2 The need for more 3 Security issues 4 See also 5 External links |
Historical limitations
DOS had a limitation that only eleven characters could be used to name files. This 11 character space was divided into two parts separated by a period (.) or dot. The first part, consisting of eight characters, was generally called the filename or the base name. The last three were called the filename extension. Since the word filename is eight letters long and ext is a common abbreviation for extension, this can be simply demonstrated as:
FILENAME.EXT
Volume in drive A: is LINUX BOOT \r\n Volume Serial Number is 2410-07EF\r\nDirectory for A:\\\r\n\r\nLDLINUX SYS 5480 1999-04-19 23:24 \r\nVMLINUZ 530921 1999-04-19 23:24 \r\nBOOT MSG 559 1999-04-19 23:24 \r\nEXPERT MSG 668 1999-04-19 23:24 \r\nGENERAL MSG 986 1999-04-19 23:24 \r\nKICKIT MSG 979 1999-04-19 23:24 \r\nPARAM MSG 875 1999-04-19 23:24 \r\nRESCUE MSG 1020 1999-04-19 23:24 \r\nSYSLINUX CFG 420 1999-04-19 23:24 \r\nINITRD IMG 878502 1999-04-19 23:24 \r\n 10 files 1,420,410 bytes\r\n 35,840 bytes free
The need for more
In addition to being generally confusing, the severe restrictions on the number of available characters would lead to difficulty in understanding filenames, and sometimes to extension naming conflicts between different pieces of software. The filename extension was originally used to easily determine the file's generic type. Examples include using .GFX for graphics files, .TXT for plain text, and .MUS for music. However, because many different software programs have been made that all handle these data types (and others) in a variety of ways, filename extensions started to become closely associated with certain products—even specific product versions. For example, early WordStar files used .WS or .WSn, where n was the program's version number. Also, filename extensions began to conflict between separate files. One example is .rpm, used by both the RPM Package Manager and RealPlayer (for RealPlayer Media files). These issues led to the need for alternative systems that have lower chances of conflicts.
Other operating systems, such as Unix and MacOS, generally had much more liberal standards for filenames. Many allowed full filename lengths of approximately 32 characters, and ranges up to 255 were not uncommon. These systems generally allowed for variable-length filename extensions, and also tended to allow more than one dot - partly because they had additional methods for determining file format information. As the Internet age arrived, it was possible to discern who was using Windows systems to edit their web pages versus who used Macintosh or Unix computers, since the Windows users were generally restricted to ending their web page filenames in .HTM (instead of .html). This also became a problem with programmers experimenting with the Java programming language, since it required source code files to have the four-letter extension .java and compiled object code output files to have the five-letter .class extension.
Eventually, Microsoft introduced long filenames and an extended version of the commonly used FAT file system called VFAT to deal with this issue. Microsoft and IBM had previously collaborated on the High Performance File System (HPFS), used in OS/2 and later in Windows NT as NTFS, which did not have strict limitations either. VFAT's long filenames are largely considered to be an ugly kludge, but they removed the important length restriction and allowed files to have a mix of upper case and lower case letters. However, the habit of using three character extensions has continued, along with the problems it creates.
Security issues
Depending on the settings of the shell/file browser the file extension may not be shown. Malicious users who spread a computer virus or computer worm may use a file name like LOVE-LETTER-FOR-YOU.TXT.vbs which then shows up as LOVE-LETTER-FOR-YOU.TXT. However, it only shows up in this way if the user has file extensions disabled (which is the default behavior of Microsoft's software). Therefore, to a user who has file extensions hidden, this looks like a harmless text file rather than a potentially dangerous computer program written in VBScript.
See also
- List of file formats (also includes a list of filename extensions)
- File_format#By_file_extension
External links