1 ページに収まらない bash コマンド - 出力をスクロール可能にする

1 ページに収まらない bash コマンド - 出力をスクロール可能にする

おそらくどこかに答えがあると思いますが、検索フレーズを組み立てるのは困難です。

私は bash ターミナル ウィンドウを実行していますが、一部のコマンドは大きすぎてページに収まりません (例ps -A)

コマンド出力をページごとに表示して、出力をスクロールできるようにするコマンド ライン パラメーター/メソッドを漠然と覚えていますが、それが何であるか思い出せません... 何かヒントはありますか?

答え1

よく使うコマンドについては、通常function.bashrc画面よりも長い場合にページ番号を付けるようにします。

あなたの例のように: (ps -A)

function ps { command ps "$@" |& less -F; }

これは、コマンドラインで指定された引数で元のコマンドを呼び出し、出力(stdout)をパイプするps関数に置き換えられます。pspsそしてstderr から へ、|&パイプを使用してless -F、 へ転送します。画面いっぱいより大きい場合は一時停止しますが、画面いっぱいより小さい場合はすぐに終了します。

非常に便利で、これまで作業してきたものを妨げることなく、とにかくクールです!

よく使用されるオプションをコマンド/関数に追加することもできます。

function nm { command nm --demangle "$@" |& less -F; }

これにより、nm常に C++ シンボルがデマングルされます。 そして出力をページ分割します。やったー!

走っていますデビアンなので、私はこのapt-cacheコマンドを頻繁に使います。検索そして見せるほとんどの場合、この機能は特定のオプションをページ分割します。検索出力はソートされ、すべてがページ分けされます。

function apt-cache { case  "$1" in "search") command apt-cache "$@" | sort | less -F;; *) command apt-cache "$@" | less -F;; esac; }

コマンドが 'search' の場合は、出力をソートしてから でページ区切りしますless -Fが、コマンドがそれ以外の場合は、ソートせずにページ区切りだけを行います。

時々、関数があることを忘れて、次のようなことをしてしまいます:

apt-cache search gcc | less

機能は干渉せず、すべてが期待どおりに動作し、いずれにせよ害はありません。

もう 1 つの小さな調整は、すべてのシステムで同じものを使用している.bashrcため、ユーティリティがインストールされていない場合があり、その場合は関数は必要ありません。次のように条件付きにします。

which apt-cache &>/dev/null && function apt-cache { case  "$1" in "search") command apt-cache "$@" |& sort | less -F;; *) command apt-cache "$@" |& less -F;; esac; }

これは、whichコマンドを使用してプログラムが利用可能かどうかを判断するだけで、利用できない場合は、静かに失敗し、機能のインストールをスキップします。Taa Daa!

答え2

通常の方法は、出力を「less」にパイプすることです。

ls -R / | less

qマニュアルページと同様に、終了するためのキーです。

コマンドがエラーや stderr へのその他の出力を生成する可能性がある場合は、それをパイプに送ることもできます。

ls -R 2>&1 | less

bashがインストールされているマシンであれば、lessも同様に必要です。古いLinuxマシンでは、このプログラムはもっとただし、一度に1ページしか表示されません。少ない希望通りにスクロールできるようになります。

答え3

出力を「more」にパイプする

output | more -d


Enter - > Scroll by line
Space - > Scroll by Page
q     - > Quit

rpm ベースの OS でテスト済み。

関連情報