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.[1]
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.[2]
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.