In the simplest form, a text terminal is like a file. Writing to the file displays the text and reading from the file produces what the user enters. In Unix-like operating systems, there are several character special files that correspond to available text terminals. For other operations, there are special escape sequences, control characters and codice_1 functions that a program can use, most easily via a library such as "ncurses". For more complex operations, the programs can use terminal specific "ioctl" system calls. For an application, the simplest way to use a terminal is to simply write and read text strings to and from it sequentially. The output text is scrolled, so that only the last several lines (typically 24) are visible. Unix systems typically buffer the input text until the Enter key is pressed, so the application receives a ready string of text. In this mode, the application need not know much about the terminal. For many interactive applications this is not sufficient. One of the common enhancements is ‘'command-line editing" (assisted with such libraries as readline); it also may give access to command history. This is very helpful for various interactive command-line interpreters.