Terminal mode
{{Short description|Possible state of a terminal device in Unix-like systems}}
A terminal mode is one of a set of possible states of a terminal or pseudo terminal character device in Unix-like systems and determines how characters written to the terminal are interpreted. In cooked mode data is preprocessed before being given to a program, while raw mode passes the data as-is to the program without interpreting any of the special characters.
The system intercepts special characters in cooked mode and interprets special meaning from them. Backspace, delete, and Control-D are typically used to enable line-editing for the input to the running programs, and other control characters such as Control-C and Control-Z are used for job control or associated with other signals. The precise definition of what constitutes a cooked mode is operating system-specific.[https://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Terminal-Mode.html Terminal Mode - MIT/GNU Scheme 7.7.90]
For example, if "ABC
Technically, the term "cooked mode" should be associated only with streams that have a terminal line discipline, but generally it is applied to any system that does some amount of preprocessing.{{cite web|title=Cooked mode from FOLDOC|url=http://foldoc.org/cooked%20mode}}
cbreak mode
cbreak mode (sometimes called rare mode) is a mode between raw mode and cooked mode. Unlike cooked mode it works with single characters at a time, rather than forcing a wait for a whole line and then feeding the line in all at once. Unlike raw mode, keystrokes like abort (usually Control-C) are still processed by the terminal and will interrupt the process.