一頁不適合的 bash 指令 - 使輸出可捲動

一頁不適合的 bash 指令 - 使輸出可捲動

可能在某個地方得到了回答,但很難建立搜尋字詞。

我正在運行 bash 終端窗口,有些命令太大,無法在頁面上顯示(例如ps -A

我隱約記得一個命令列參數/方法,它逐頁顯示命令輸出,這樣我就可以滾動輸出,但我不記得它是什麼......有任何指標嗎?

答案1

對於我經常使用的命令,我通常會function在我的.bashrc如果比螢幕長,則使它們分頁。

就像你的例子:(ps -A)

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

這將替換ps為名為 的函數ps,該函數使用命令列上給出的任何參數呼叫原始ps命令,然後透過管道傳輸輸出(stdoutstderr,使用|&管道) into 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; }

如果命令是“搜尋”,則對輸出進行排序,然後使用 分頁less -F,但如果命令是其他內容,則僅分頁,而不排序。

有時我會忘記我有這些功能,我會這樣做:

apt-cache search gcc | less

該功能不會幹擾,一切都按預期進行,沒有任何損害。

另一個小調整,我在所有系統上使用相同的功能.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命令來確定程式是否可用,如果不可用,它會悄悄失敗並跳過安裝該功能。噠噠!

答案2

正常的方法是將輸出通過管道傳輸到“less”。

ls -R / | less

q是退出的關鍵,就像手冊頁一樣。

如果該命令可能會產生錯誤或其他輸出到 stderr,您可能也希望將其定向到管道。

ls -R 2>&1 | less

任何有 bash 的機器也應該少一些。在舊的 Linux 機器上,程式是更多的,但每次只處理一頁,較少的將允許您根據需要滾動。

答案3

將輸出通過管道傳輸到“更多”

output | more -d


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

在基於 rpm 的作業系統上進行了測試。

相關內容