This question might seem silly but i ran into it when trying to understand how to upgrade a dumb shell over a netcat connection.
To be more specific i'm talking about the reason that causes specific keystrokes to provoke a certain behaviour in the shell such as : arrow up = previous command, arrow left = move 1 to the left, clear = clean the screen etc ...
man readline
should get you started