web-dev-qa-db-ja.com

Linuxコマンド「less」の割り込みキーは何ですか

Lessでshift-fを実行すると、ファイルの更新をリアルタイムで確認でき、「データを待機しています...(中断して中断)」というメッセージが表示されます。

アップデートは正常に機能しますが、割り込みとは何ですか?何も動作しないようです(Ctrl-C、Esc、Ctrl-Iなど)。私はいつもターミナルを殺さなければならないのが面倒です。

29
Daniel

Ctrl + Cでうまくいきます。 lessでFコマンドを使用すると、「(interrupt to abort)」と表示されます。それが参照している「割り込み」は、端末の割り込みにバインドされているキーです。コマンド stty -aは、関連する端末設定を示します。

速度38400ボー;行50;列80;行= 0; intr = ^ C;終了= ^ \;消去= ^ H; kill = ^ U; eof = ^ D; eol =; eol2 =; swtch =;開始= ^ Q;停止= ^ S; susp = ^ Z; rprnt = ^ R; werase = ^ W; lnext = ^ V;フラッシュ= ^ O;最小= 1;時間= 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrncr onlcr onlcr onlcr onlcr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

intr = ^Cは、Ctrl + Cによって割り込みが生成されることを示しています。

もし、するなら stty -aそれは何を示していますか?

33
Randy Orrison

Ctrl + Cが機能しませんでした。ただし、qを使用してプロセスを停止できました。

2
Carsten

@RandyOrrisonが述べたように、^Ccontrol+c)が適切です割り込み文字。ただし、lessがこの信号に応答する方法は、実行時に提供されるオプションによって異なります。

通常、割り込み文字により、lessは実行中の処理をすべて停止し、itsコマンドプロンプトに戻ります(つまりnot端末/ ttyプロンプト)。

代わりに、終了してterminal/ttyプロンプトに戻るようにlessに通知する場合は、-Kまたは--quit-on-intrオプションを使用する必要があります。これにより、割り込み文字(通常は^C)が入力されたときにlessが直ちに(ステータス2で)終了します。

マンページが少ない

-K , --quit-on-intr

割り込み文字(通常は^ C)が入力されると、lessがすぐに終了します(ステータス2)。通常、割り込み文字を使用すると、実行中の処理を停止し、コマンドプロンプトに戻ります。このオプションを使用すると、「F」コマンドからコマンドプロンプトに戻ることができなくなります。

less -K [filename]...
less --quit-on-intr [filename]...
2
Travis Clarke