cat
やls
のようなプログラムのmanページを開くと、manページの内容が出力され(適切なWordではない可能性があります)、q
を押すと表示されます。 、man
コマンドを呼び出す前と同じように画面が表示されます。復元はどのように行われますか?何がすべてを消去してから、シェルの以前の内容を印刷しますか?
例:
[VAR121@Tesla Testing]$ man ls
出力:
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
............
q
を押すと、画面は、以下に示すプロンプトなど、シェルのデフォルトの外観に戻ります。
[VAR121@Tesla Testing]$ man ls
[VAR121@Tesla Testing]$
画面はどのように復元されますか?
画面の「クリア」と「復元」は、実際には使用しているターミナルエミュレータの機能です(xterm
、gnome-terminal
、konsole
、screen
)。
デフォルトでは、man
が使用するポケットベルはless
です。
man 1 man
から
-P pager
Specify which pager to use. This option overrides the
MANPAGER environment variable, which in turn overrides
the PAGER variable. By default, man uses /usr/bin/less -is.
less
が呼び出されると、ターミナルエミュレータによってaltscreenが起動され、マニュアルページの内容が表示されます。 less
が終了すると、altscreenが破棄され、端末はバッファに保存されたものを表示します。
答えがあります ここ これについてさらに説明し、less
のようなプログラムがaltscreenを起動して、終了時に画面をクリアしないようにする方法について説明します。簡単に言うと、less
が呼び出し時にaltscreenを起動しないように環境変数を定義できます。 bashを使用している場合は、これを〜/ .bashrcに配置します。
export MANPAGER="/usr/bin/less -r -X -is"