This question already has an answer here:

In a terminal window any smaller than fullscreen, if I type in a long command it starts overwriting the current line I'm on. If I type an additional line's worth, it finally moves to the next line. Does anyone know how to fix this?

This is what happens visually:

terminal screenshot

Edit: These are my prompt settings:

PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\033[1m`__git_ps1`\033[0m\$ '


if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\033[1m`__git_ps1`\033[0m\$ '

# If this is an xterm set the title to user@host:dir
case "$TERM" in
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"

marked as duplicate by wjandrea, karel, Charles Green, Fabby, Eric Carvalho Jan 26 at 21:57

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


For some reason the terminal size is mis-reporting. It should change when you resize the terminal.

Try this in your .bashrc command file:

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
  • It looks like this was already in my .bashrc file. Running shopt shows that checkwinsize is on. – thebaer Aug 4 '12 at 19:48
  • Hmm, what are the values of LINES and COLUMNS when the text is messed up? – Julian Knight Aug 7 '12 at 20:56
  • LINES is 24, COLUMNS is 80. Resizing the window does change these values, but the text is still messed up. – thebaer Aug 8 '12 at 15:39
  • Ah. OK, I suspect the setting for the PROMPT now. Can you post the values of PS1 and TERM. In fact, post the line defining PS1 in .bashrc – Julian Knight Aug 8 '12 at 20:41
  • I updated the question with these answers. – thebaer Aug 10 '12 at 15:43

I found the answer here. The answer with the most votes solved it for me.

To sum it up I had to wrap my formats in \[ \]
export PS1='\[\033[1;32m\]$(whoami)@$(hostname): \[\033[0;37m\]$(pwd)$ \[\033[0m\]'


For those using PuTTY terminal (v0.67) and terminal size is not updated correctly:

  1. You can right click on the window's left hand icon, then select Change Settings....
  2. Within PuTTY Reconfiguration, from left hand sidebar, click on Window > Set the size of the window > Columns.
  3. Update the Columns value manually. I changed mine to 255 and that stopped the terminal overwriting on its own line (when I type).

menu screenshot

settings screenshot

  • Note that Windows applications are technically off-topic here, but this is fine for the sake of people SSH-ing into Ubuntu installs. – wjandrea Jan 24 at 3:56

Not the answer you're looking for? Browse other questions tagged or ask your own question.