I've been reading the Advanced Linux Programming book and it mentions about virtual terminals which, if I understood it correctly, it is a Linux-specific feature (not in Unix) to allow multiple login consoles in a non X11 system. You create virtual terminals by pressing ALT-F2. I'm running Linux Mint and in my /dev folder though I see many tty devices and I don't know what they are for. Here is the grepped output:crw-rw-rw-  1 root tty       5,   0 Jan  2 19:45 ttycrw--w----  1 root tty       4,   0 Jan  2 19:10 tty0crw-rw----  1 root tty       4,   1 Jan  2 19:10 tty1crw--w----  1 root tty       4,  10 Jan  2 19:10 tty10crw--w----  1 root tty       4,  11 Jan  2 19:10 tty11crw--w----  1 root tty       4,  12 Jan  2 19:10 tty12crw--w----  1 root tty       4,  13 Jan  2 19:10 tty13crw--w----  1 root tty       4,  14 Jan  2 19:10 tty14crw--w----  1 root tty       4,  15 Jan  2 19:10 tty15crw--w----  1 root tty       4,  16 Jan  2 19:10 tty16crw--w----  1 root tty       4,  17 Jan  2 19:10 tty17crw--w----  1 root tty       4,  18 Jan  2 19:10 tty18crw--w----  1 root tty       4,  19 Jan  2 19:10 tty19crw-rw----  1 root tty       4,   2 Jan  2 19:10 tty2crw--w----  1 root tty       4,  20 Jan  2 19:10 tty20crw--w----  1 root tty       4,  21 Jan  2 19:10 tty21crw--w----  1 root tty       4,  22 Jan  2 19:10 tty22crw--w----  1 root tty       4,  23 Jan  2 19:10 tty23crw--w----  1 root tty       4,  24 Jan  2 19:10 tty24crw--w----  1 root tty       4,  25 Jan  2 19:10 tty25crw--w----  1 root tty       4,  26 Jan  2 19:10 tty26crw--w----  1 root tty       4,  27 Jan  2 19:10 tty27crw--w----  1 root tty       4,  28 Jan  2 19:10 tty28crw--w----  1 root tty       4,  29 Jan  2 19:10 tty29crw-rw----  1 root tty       4,   3 Jan  2 19:10 tty3crw--w----  1 root tty       4,  30 Jan  2 19:10 tty30crw--w----  1 root tty       4,  31 Jan  2 19:10 tty31crw--w----  1 root tty       4,  32 Jan  2 19:10 tty32crw--w----  1 root tty       4,  33 Jan  2 19:10 tty33crw--w----  1 root tty       4,  34 Jan  2 19:10 tty34crw--w----  1 root tty       4,  35 Jan  2 19:10 tty35crw--w----  1 root tty       4,  36 Jan  2 19:10 tty36crw--w----  1 root tty       4,  37 Jan  2 19:10 tty37crw--w----  1 root tty       4,  38 Jan  2 19:10 tty38crw--w----  1 root tty       4,  39 Jan  2 19:10 tty39crw-rw----  1 root tty       4,   4 Jan  2 19:10 tty4crw--w----  1 root tty       4,  40 Jan  2 19:10 tty40crw--w----  1 root tty       4,  41 Jan  2 19:10 tty41crw--w----  1 root tty       4,  42 Jan  2 19:10 tty42crw--w----  1 root tty       4,  43 Jan  2 19:10 tty43crw--w----  1 root tty       4,  44 Jan  2 19:10 tty44crw--w----  1 root tty       4,  45 Jan  2 19:10 tty45crw--w----  1 root tty       4,  46 Jan  2 19:10 tty46crw--w----  1 root tty       4,  47 Jan  2 19:10 tty47crw--w----  1 root tty       4,  48 Jan  2 19:10 tty48crw--w----  1 root tty       4,  49 Jan  2 19:10 tty49crw-rw----  1 root tty       4,   5 Jan  2 19:10 tty5crw--w----  1 root tty       4,  50 Jan  2 19:10 tty50crw--w----  1 root tty       4,  51 Jan  2 19:10 tty51crw--w----  1 root tty       4,  52 Jan  2 19:10 tty52crw--w----  1 root tty       4,  53 Jan  2 19:10 tty53crw--w----  1 root tty       4,  54 Jan  2 19:10 tty54crw--w----  1 root tty       4,  55 Jan  2 19:10 tty55crw--w----  1 root tty       4,  56 Jan  2 19:10 tty56crw--w----  1 root tty       4,  57 Jan  2 19:10 tty57crw--w----  1 root tty       4,  58 Jan  2 19:10 tty58crw--w----  1 root tty       4,  59 Jan  2 19:10 tty59crw-rw----  1 root tty       4,   6 Jan  2 19:10 tty6crw--w----  1 root tty       4,  60 Jan  2 19:10 tty60crw--w----  1 root tty       4,  61 Jan  2 19:10 tty61crw--w----  1 root tty       4,  62 Jan  2 19:10 tty62crw--w----  1 root tty       4,  63 Jan  2 19:10 tty63crw--w----  1 root tty       4,   7 Jan  2 19:10 tty7crw--w----  1 root tty       4,   8 Jan  2 19:10 tty8crw--w----  1 root tty       4,   9 Jan  2 19:10 tty9
Why are there so many virtual terminal devices?
linux;console;devices;tty
These are specifically virtual console devices, in Linux terminolgy. Supporting virtual consoles on the same physical device isn't unique to Linux (for example, BSD calls them hardware terminal ports).Linux doesn't have a mechanism for creating console devices on demand. The 63 consoles are not always active (you need to activate ttyN in order to switch to it with (Ctrl+)Alt+FN), but to activate one requires opening the console device (the openvt command does that, as do getty and the X server). So the device entry must exist all the time, or else it has to be created manually before it can be used.Modern Linux systems (with udev or devtmpfs) create device entries for every device that is present on the system. All the virtual consoles are always present (whether they're active or not), so all entries are created. Most users don't need nearly that many  in fact most users never see anything but the virtual console that X is running on. But there are a few who do, and need to patch their kernel to allow more than 63 consoles, because they run large machines with many hardware consoles).