---
name: "console"
section: "4"
platform: "linux"
package: "console-tools"
version: "1:0.2.3dbs-70"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/console/4"
---

# console(4)

console terminal and virtual consoles

## NAME

console - console terminal and virtual consoles

## DESCRIPTION

A Linux system has up to 63 *virtual consoles* (character devices with major number 4 and minor number 1 to 63), usually called **/dev/tty***n* with 1 ≤ *n* ≤ 63. The current console is also addressed by **/dev/console** or **/dev/tty0**, the character device with major number 4 and minor number 0. The device files /dev/\* are usually created using the script MAKEDEV, or using [mknod(1)](/mknod/1.md), usually with mode 0622 and owner root.tty.

Before kernel version 1.1.54 the number of virtual consoles was compiled into the kernel (in tty.h: #define NR\_CONSOLES 8) and could be changed by editing and recompiling. Since version 1.1.54 virtual consoles are created on the fly, as soon as they are needed.

Common ways to start a process on a console are: (a) tell [init(8)](/init/8.md) (in [inittab(5)](/inittab/5.md)) to start a [getty(8)](/getty/8.md) on the console; (b) ask [open(1)](/open/1.md) to start a process on the console; (c) start X - it will find the first unused console, and display its output there. (There is also the ancient doshell(8).)

Common ways to switch consoles are: (a) use Alt+F*n* or Ctrl+Alt+F*n* to switch to console *n*; AltGr+F*n* might bring you to console *n*+12 \[here Alt and AltGr refer to the left and right Alt keys, respectively\]; (b) use Alt+RightArrow or Alt+LeftArrow to cycle through the presently allocated consoles; (c) use the program [chvt(1)](/chvt/1.md). (The key mapping is user settable, see [loadkeys(1)](/loadkeys/1.md); the above mentioned key combinations are according to the default settings.)

The command [**deallocvt**(1)](/deallocvt/1.md) (formerly **disalloc**) will free the memory taken by the screen buffers for consoles that no longer have any associated process.

## PROPERTIES

Consoles carry a lot of state. I hope to document that some other time. The most important fact is that the consoles simulate vt100 terminals. In particular, a console is reset to the initial state by printing the two characters ESC c. All escape sequences can be found in [**console\_codes**(4)](/console_codes/4.md).

## FILES

*/dev/console*\
 */dev/tty\**

## SEE ALSO

[**charsets**(4)](/charsets/4.md), [**console\_codes**(4)](/console_codes/4.md), [**console\_ioctl**(4)](/console_ioctl/4.md), [**mknod**(1)](/mknod/1.md), [**tty**(4)](/tty/4.md), [**ttys**(4)](/ttys/4.md), [**getty**(8)](/getty/8.md), [**init**(8)](/init/8.md), [**chvt**(1)](/chvt/1.md), [**open**(1)](/open/1.md), [**deallocvt**(1)](/deallocvt/1.md), [**loadkeys**(1)](/loadkeys/1.md), [**resizecons**(8)](/resizecons/8.md), [**consolechars**(8)](/consolechars/8.md), [**mapscrn**(8)](/mapscrn/8.md).
