GNU/Linux >> Linux の 問題 >  >> Linux

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

私が頻繁に使用するコマンドについては、通常、function を設定します。 .bashrc に 画面よりも長い場合は、ページ分割します。

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

function ps { command ps "[email protected]" |& less -F; }

これは ps を置き換えます ps という名前の関数で 、元の ps を呼び出します コマンド ラインで指定された任意の引数を使用してコマンドを実行し、出力をパイプします (stdout and stderr、|& を使用 パイプ) less -F に 、画面いっぱい以上の場合は一時停止しますが、画面いっぱい未満の場合はすぐに終了します。

非常に便利で、これまで取り組んできた作業に干渉することはなく、ただただクールです!

頻繁に使用するオプションをコマンド/関数に追加することもできます:

function nm { command nm --demangle "[email protected]" |& less -F; }

これで nm になります 常に C++ シンボルをデマングルします。 かつ 出力を改ページします。やった!

Debian を実行しています 、だから私は apt-cache を使用します 検索コマンドをよく使う 表示 多くの場合。この関数により、これらの特定のオプションがページ分割され、検索 出力はソートされ、すべてがページ付けされます:

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

コマンドが「検索」の場合、出力を並べ替えてから less -F で改ページします 、ただしコマンドがそれ以外の場合は、ソートせずにページ分割するだけです。

ときどき、関数を持っていることを忘れて、次のようなことをします:

apt-cache search gcc | less

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

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

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

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


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

ls -R / | less

q ちょうどmanページのように終了するためのキーです.

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

ls -R 2>&1 | less

bash を備えたすべてのマシンも同様に少ないはずです。古い Linux マシンでは、プログラムは more でした 、しかしそれは一度に 1 ページだけを行い、少ない 好きなようにスクロールできます。


Linux
  1. あるコマンドの出力を引数として別のコマンドに渡す方法は?

  2. OSに基づいてBashコマンドを実行するために1つのVimコマンドをマップする方法は?

  3. エイリアス コマンドを bash スクリプトまたは .bashrc ファイルで機能させる方法

  1. コマンドの出力をBashを使用して列ごとに分割しますか?

  2. bash で以前のコマンドの出力を使用する

  3. コマンド出力を bash の変数にリダイレクトすると失敗する

  1. Bashの制御演算子と組み合わせたコマンド

  2. UNIXのtimeコマンドの出力をbashの変数にリダイレクトしますか?

  3. Bash find コマンドの詳細出力