Filename
From Wikipedia, the free encyclopedia
A filename is a special kind of string used to uniquely identify a file stored on the file system of a computer. Depending on the operating system, such a name may also identify a directory. Different operating systems impose different restrictions regarding length and allowed characters on filenames. A filename includes one or more of these components:
- protocol (or scheme) — access method (e.g., http, ftp, file etc.)
- host (or network-ID) — host name, IP address, domain name, or LAN network name (e.g., wikipedia.org, 207.142.131.206, \\MYCOMPUTER, SYS:, etc.)
- device (or node) — port, socket, drive, root mountpoint, disc, volume (e.g., C:, /, SYSLIB, etc.)
- directory (or path) — directory tree (e.g., /usr/bin, \TEMP, [USR.LIB.SRC], etc.)
- file — base name of the file
- type (format or extension) — indicates the content type of the file (e.g., .txt, .exe, .dir, etc.)
- version — revision number of the file
In order to refer to a file on a remote computer (aka: host, server) the remote computer must be known. The remote computer name or address might part of the file name, or it might be specified at the time a file system is "mounted", in which case it won't necessarily be part of the file name.
In some systems, if a filename does not contain a path part, the file is assumed to be in the current working directory.
Many operating systems, including MS-DOS, Microsoft Windows, and Unix-like systems, allow a filename extension that consists of one or more characters following the last period in the filename, thus dividing the filename into two parts: the basename (the primary filename) and the extension (usually indicating the file type associated with a certain file format)
Within a single directory, filenames must be unique. However, two files in different directories may have the same name.
Unix-like systems allow a file to have more than one name; in traditional Unix-style file systems, the names are hard links to the file's inode or equivalent. Hard links are different from Windows shortcuts, Mac OS aliases, or symbolic links.
The address (unique resource identifier - URI)
Contents |
[edit] Reserved characters and words
Many operating systems prohibit control characters from appearing in file names. Unix-like systems are an exception, as the only control character forbidden in file names is the null character, as that's the end-of-string indicator in C.
Some operating systems prohibit some particular characters from appearing in file names:
| Character | Name | Reason |
|---|---|---|
| / | slash | used as a path name component separator in Unix-like systems. Not allowed in MS-DOS and Windows. |
| \ | backslash | used as a path name component separator in MS-DOS and Windows |
| ? | question mark | used as a wildcard in Windows and AmigaOS |
| * | asterisk | used as a wildcard in MS-DOS and Windows |
| : | colon | used to determine the mount point / drive on Windows; used to determine the virtual device or physical device such as a drive on AmigaOS; used as a pathname separator in classic Mac OS |
| | | vertical bar | designates software pipelining in Windows, see Note 1 |
| " | quotation mark | used to mark beginning and end of filenames containing spaces in Windows, see Note 1 |
| < | less than | used to redirect input, allowed in Unix filenames, see Note 1 |
| > | greater than | used to redirect output, allowed in Unix filenames, see Note 1 |
| . | period | allowed but the last occurrence will be interpreted to be the extension separator in MS-DOS and Windows |
Note 1: Some applications on Unix-like systems might allow certain characters but require them to be quoted or escaped; for example, the shell requires spaces, <, >, |, and some other characters such as ; to be quoted.
In Windows the space and the period are not allowed as the final character of a filename. The period is allowed as the first character, but certain Windows applications, such as Windows Explorer, forbid creating or renaming such files (despite this convention being used in Unix-like systems to describe hidden files and directories). Among workarounds are using different explorer applications or saving a file from an application with the desired name.<ref name="win">Naming a file msdn.microsoft.com (MSDN), filename restrictions on Windows</ref>
Some file systems on a given operating system (especially file systems originally implemented on other operating systems), and particular applications on that operating system, may apply further restrictions and interpretations. See comparison of file systems for more details on restrictions imposed by particular file systems.
In Unix-like systems, MS-DOS, and Windows, the file names "." and ".." have special meanings (current and parent directory respectively).
In addition, in Windows and DOS, some words might also be reserved and can not be used as filenames.<ref name="win"/> For example, DOS Device file:
CON, PRN, AUX, CLOCK$, NUL COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9 LPT0, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9.
Operating systems that have these restrictions cause incompatibilities with some other filesystems. For example, Windows will fail to handle, or raise error reports for, these legal UNIX filenames: aux.c, q"uote"s.txt, or NUL.txt.
[edit] See also
[edit] References
<references/>
[edit] External link
- Large list of filename extensions: File-extensions.orgde:Dateiname

