In BSD, a device file is a special file located in /dev that represents a block or character device such as a terminal, disk drive, or printer. If a program knows the name of a device file, it can use POSIX functions to access and control the associated device. The program can obtain the device name (which is not persistent across reboots or device removal) from the I/O Kit.
An entry in the filesystem name space referring to a hardware device. In most Unix filesystems, the convention is that device files are all in the /dev directory, though Solaris uses /devices and /dev both. By making hardware devices appear as files, many standard utility programs may be used with hardware devices without special modification by I/O redirection or by using the device file names as parameters.
a file with type c ( for "character" devices, devices that do not use the buffer cache) or b (for "block" devices, which go through the buffer cache)