# phpman > man > clear(1)

> **TLDR:** Clears the screen of the terminal.
>
- Clear the screen:
  `clear`
- Clear the screen but keep the terminal's scrollback buffer (equivalent to pressing `<Ctrl l>` in Bash):
  `clear -x`
- Indicate the type of terminal to clean (defaults to the value of the environment variable `$TERM`):
  `clear -T {{type_of_terminal}}`
- Display the version of `ncurses` used by `clear`:
  `clear -V`

*Source: tldr-pages*

---

[clear(1)](https://www.chedong.com/phpMan.php/man/clear/1/markdown)                               General Commands Manual                              [clear(1)](https://www.chedong.com/phpMan.php/man/clear/1/markdown)



## NAME
       **clear** - clear the terminal screen

## SYNOPSIS
       **clear** [**-T**_type_] [**-V**] [**-x**]

## DESCRIPTION
       **clear**  clears  your  screen  if this is possible, including its scrollback buffer (if the ex‐
       tended “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 point.

## OPTIONS
### -T
            indicates the _type_ of terminal.  Normally this option is unnecessary,  because  the  de‐
            fault  is  taken from the environment variable **TERM**.  If **-T** is specified, then the shell
            variables **LINES** and **COLUMNS** will also be ignored.

### -V
            are as follows:

### -x
            bility.

## HISTORY
       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
           exit

       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** command:

           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 ter‐
       minfo, 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[**3**J'

           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
       Neither IEEE Std 1003.1/The Open  Group  Base  Specifications  Issue   7  (POSIX.1-2008)  nor
       X/Open Curses Issue 7 documents tset or reset.

       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
       [**tput**(1)](https://www.chedong.com/phpMan.php/man/tput/1/markdown), [**terminfo**(5)](https://www.chedong.com/phpMan.php/man/terminfo/5/markdown)

       This describes **ncurses** version 6.3 (patch 20211021).



                                                                                            [clear(1)](https://www.chedong.com/phpMan.php/man/clear/1/markdown)
