Linuxでは、コマンドラインから単純なreset
を使用してターミナル出力をクリアできます。 Cygwinでは、reset
が機能しないようです。
私も試しましたreset 0
およびreset 1
喜びなし。そして、私はネイティブのWindowsのcls
コマンドを喜んで試しました。
Cygwinにはanyの有用なドキュメントがないようです:
$ man -k reset
reset: nothing appropriate.
$ man -k terminal
terminal: nothing appropriate.
$ man reset 1
No manual entry for reset
No manual entry for 1
(Alternatively, what manual page do you want from section 1?)
Cygwinを使用しているときにコマンドラインから端末をリセットするにはどうすればよいですか?上記のコマンドには何が欠けていますか?
この問題についてCygwinにバグレポートが提出されました: Bug 19195:Cygwin端末は「reset」または「cls」のいずれにも応答しません 。
Cygwin以外のバージョンのreset
を実行しています。
これは、コマンドプロンプトでwhere reset
を実行することで確認できます。
ノート:
c:\windows\system32\reset.exe
はリモートデスクトップサービスリセットユーティリティ
質問に表示される出力は、このバージョンのリセットからのもののように見えます(Cygwinバージョンではありません)。
ncurses
パッケージ(以下を参照)をインストールした場合は、Cygwin PATH
にCygwin要素が含まれていることを確認する必要がありますWindows要素(これはCygwinがインストールされたときに自動的に発生するはずです)。
Cygwinパスの例:
DavidPostill@Hal /f/test
$ echo $PATH
.:/home/DavidPostill/bin:/usr/local/bin:/usr/bin:/c/ProgramData/Oracle/Java/javapath:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/apps/Calibre
Cygwin reset
はncurses
パッケージの一部であり、tset
にリンクされています。
tset
へのパラメーターはオプションです。
以下を使用して、これがシステム上にあることを確認できます。
which reset
私のシステムでは:
DavidPostill@Hal ~
$ which reset
/usr/bin/reset
DavidPostill@Hal ~
$ ll /usr/bin/reset
lrwxrwxrwx 1 DavidPostill None 8 Jul 1 08:14 /usr/bin/reset -> tset.exe
Cygwin clear
もncurses
の一部です。私はcls
を次のようにエイリアスしています。
alias cls='clear'
ノート:
パッケージの検索 を使用すると、特定のcygwinコマンドが含まれているパッケージをいつでも確認できます。
clear
とreset
の動作は少し異なります:
clear
は、mintty
表示の表示部分をクリアします。スクロールバックバッファはそのままです。
reset
は端末初期化文字列を送信します。 mintty
の場合、これにより表示の表示部分がクリアされ、スクロールバックバッファが削除されます。
パッケージがインストールされているかどうかを確認するには、cygcheck -l ncurses
を使用します。
-l package
-パッケージの内容を一覧表示します(指定されていない場合はすべてのパッケージ)DavidPostill@Hal /f/test
$ cygcheck -l ncurses
/usr/bin/captoinfo
/usr/bin/clear.exe
/usr/bin/infocmp.exe
/usr/bin/infotocap
/usr/bin/reset
/usr/bin/tabs.exe
/usr/bin/tic.exe
/usr/bin/toe.exe
/usr/bin/tput.exe
/usr/bin/tset.exe
/usr/share/doc/ncurses/ANNOUNCE
/usr/share/doc/ncurses/AUTHORS
/usr/share/doc/ncurses/COPYING
/usr/share/doc/ncurses/NEWS
/usr/share/doc/ncurses/README
/usr/share/man/man1/captoinfo.1m.gz
/usr/share/man/man1/clear.1.gz
/usr/share/man/man1/infocmp.1m.gz
/usr/share/man/man1/infotocap.1m.gz
/usr/share/man/man1/reset.1.gz
/usr/share/man/man1/tabs.1.gz
/usr/share/man/man1/tic.1m.gz
/usr/share/man/man1/toe.1m.gz
/usr/share/man/man1/tput.1.gz
/usr/share/man/man1/tset.1.gz
2015-05-18 21:00 0 usr/bin/
2015-05-18 20:58 0 usr/bin/captoinfo -> tic.exe
2015-05-18 21:00 9747 usr/bin/clear.exe
2015-05-18 21:00 52755 usr/bin/infocmp.exe
2015-05-18 20:58 0 usr/bin/infotocap -> tic.exe
2015-05-18 20:58 0 usr/bin/reset -> tset.exe
2015-05-18 21:00 14355 usr/bin/tabs.exe
2015-05-18 21:00 67091 usr/bin/tic.exe
2015-05-18 21:00 15379 usr/bin/toe.exe
2015-05-18 21:00 15379 usr/bin/tput.exe
2015-05-18 21:00 19475 usr/bin/tset.exe
2015-05-18 20:58 0 usr/share/doc/
2015-05-18 20:58 0 usr/share/doc/ncurses/
2015-05-18 20:58 13750 usr/share/doc/ncurses/ANNOUNCE
2015-05-18 20:58 2529 usr/share/doc/ncurses/AUTHORS
2015-05-18 20:58 1408 usr/share/doc/ncurses/COPYING
2015-05-18 20:58 549943 usr/share/doc/ncurses/NEWS
2015-05-18 20:58 10212 usr/share/doc/ncurses/README
2015-05-18 20:59 0 usr/share/man/man1/
2015-05-18 20:57 2919 usr/share/man/man1/captoinfo.1m.gz
2015-05-18 20:57 1201 usr/share/man/man1/clear.1.gz
2015-05-18 20:57 6976 usr/share/man/man1/infocmp.1m.gz
2015-05-18 20:57 1594 usr/share/man/man1/infotocap.1m.gz
2015-05-18 20:59 39 usr/share/man/man1/reset.1.gz
2015-05-18 20:57 2288 usr/share/man/man1/tabs.1.gz
2015-05-18 20:57 5995 usr/share/man/man1/tic.1m.gz
2015-05-18 20:57 1883 usr/share/man/man1/toe.1m.gz
2015-05-18 20:57 4540 usr/share/man/man1/tput.1.gz
2015-05-18 20:57 4971 usr/share/man/man1/tset.1.gz
これにより、minttyとコンソールの両方で画面とスクロールバックバッファがクリーンアップされます。
echo -e "\033c"
clear
を試してください-それはあなたが望むことをするはずです。
編集:これはncurses
パッケージの一部であり、デフォルトではインストールされません。
Ncursesがまだインストールされていないため、「クリア」されている場合の回避策。
(メモを追加-そしてdavid postilが指摘しているように、以下はcygwin.batを介して昔ながらの方法でcygwinを実行している場合にのみ機能します。つまりcd \cygwin<ENTER>
cygwin<ENTER>
)cygwin.batファイルはminttyを起動しないため、昔ながらの方法で起動し、cmd /c cls
を実行できます。
Cygwinは、2015年12月頃にコマンドのレパートリーにreset
を追加しました。それは Cygwin端末が「reset」または「cls」のいずれにも応答しない が提出された頃でした。または多分、それは期待通りに働き始めました。
リセットしていない場合は、パッケージセットアッププログラムを再実行して、すべてを更新します。