Usually used in reference to a computer application, a text-based application is one whose primary input and output are based on text rather than graphics or sound. This does not mean that text-based applications do not have graphics or sound, just that the graphics or sound are secondary to the text.
Before the 1980s, most computers were text-based. The operator used the keyboard as the main input device to type in necessary commands into the terminal that could only display text on a low-resolution monochrome video monitor. The majority of end-user software was also written in text-based mode during this time. During this era, operating a computer was considered to be a challenging task because of the complexity of the text-based environment.
However, with the development of the graphical user interface and the improvement in hardware, many software engineers started adding graphics for their applications. As a result, the pointing device that controls the coordination of the cursor on the screen became a primary input source (such as a mouse), and the graphics displayed with some text on the screen became a primary output source.
There is a lot of text-based software in modern operating systems, particularly in Unix and Unix-like, which can usually be accessed through the shell running in a system (or virtual) console or a terminal emulator. In these operating systems text-based programs continue to be the primary software for system administration, programming and scripting. On the contrary, Microsoft Windows contains far less text-based software, which is essentially the remnants due to the MS-DOS ancestry, even though there are still several programs for system administration and critical maintenance.