clear(1) — Linux manual page


@CLEAR@(1)                 General Commands Manual                @CLEAR@(1)

NAME         top

       @CLEAR@ - clear the terminal screen

SYNOPSIS         top

       @CLEAR@ [-Ttype] [-V] [-x]

DESCRIPTION         top

       @CLEAR@ clears your screen if this is possible, including its
       scrollback buffer (if the extended “E3” capability is defined).
       @CLEAR@ looks in the environment for the terminal type given by the
       environment variable TERM, and then in the terminfo database to
       determine how to clear the screen.

       @CLEAR@ writes to the standard output.  You can redirect the standard
       output to a file (which prevents @CLEAR@ from actually clearing the
       screen), and later cat the file to the screen, clearing it at that

OPTIONS         top

       -T type
            indicates the type of terminal.  Normally this option is
            unnecessary, because the default is taken from the environment
            variable TERM.  If -T is specified, then the shell variables
            LINES and COLUMNS will also be ignored.

       -V   reports the version of ncurses which was used in this program,
            and exits.  The options are as follows:

       -x   do not attempt to clear the terminal's scrollback buffer using
            the extended “E3” capability.

HISTORY         top

       A clear command appeared in 2.79BSD dated February 24, 1979.  Later
       that was provided in Unix 8th edition (1985).

       AT&T adapted a different BSD program (tset) to make a new command
       (tput), and used this to replace the clear command with a shell
       script which calls tput clear, e.g.,

           /usr/bin/tput ${1:+-T$1} clear 2> /dev/null

       In 1989, when Keith Bostic revised the BSD tput command to make it
       similar to the AT&T tput, he added a shell script for the clear

           exec tput clear

       The remainder of the script in each case is a copyright notice.

       The ncurses clear command began in 1995 by adapting the original BSD
       clear command (with terminfo, of course).

       The E3 extension came later:

       •   In June 1999, xterm provided an extension to the standard control
           sequence for clearing the screen.  Rather than clearing just the
           visible part of the screen using

               printf '\033[2J'

           one could clear the scrollback using

               printf '\033[3J'

           This is documented in XTerm Control Sequences as a feature
           originating with xterm.

       •   A few other terminal developers adopted the feature, e.g., PuTTY
           in 2006.

       •   In April 2011, a Red Hat developer submitted a patch to the Linux
           kernel, modifying its console driver to do the same thing.  The
           Linux change, part of the 3.0 release, did not mention xterm,
           although it was cited in the Red Hat bug report (#683733) which
           led to the change.

       •   Again, a few other terminal developers adopted the feature.  But
           the next relevant step was a change to the clear program in 2013
           to incorporate this extension.

       •   In 2013, the E3 extension was overlooked in @TPUT@ with the
           “clear” parameter.  That was addressed in 2016 by reorganizing
           @TPUT@ to share its logic with @CLEAR@ and @TSET@.

PORTABILITY         top

       Neither IEEE Std 1003.1/The Open  Group  Base  Specifications  Issue
       7 (POSIX.1-2008) nor X/Open Curses Issue 7 documents @TSET@ or

       The latter documents tput, which could be used to replace this
       utility either via a shell script or by an alias (such as a symbolic
       link) to run @TPUT@ as @CLEAR@.

SEE ALSO         top

       @TPUT@(1), terminfo(5)

       This describes ncurses version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch

COLOPHON         top

       This page is part of the ncurses (new curses) project.  Information
       about the project can be found at 
       ⟨⟩.  If you have a
       bug report for this manual page, send it to  This page was obtained from the
       project's upstream Git mirror of the CVS repository
       ⟨git://⟩ on 2020-11-01.  (At that
       time, the date of the most recent commit that was found in the repos‐
       itory was 2020-11-01.)  If you discover any rendering problems in
       this HTML version of the page, or you believe there is a better or
       more up-to-date source for the page, or you have corrections or im‐
       provements to the information in this COLOPHON (which is not part of
       the original manual page), send a mail to


Pages that refer to this page: setterm(1)user_caps(5)