
在 Ubuntu 中,我想在終端機視窗中執行命令時向上滾動並產生新的輸出(正在運行的命令是rspec
)。我可以向上滾動,但每次 rspec 產生新的控制台輸出行時,它都會讓我回到底部。有沒有辦法一直向上滾動?我在 Linux Mint/Ubuntu 12.04 LTS 上使用終結者。
我找到了一個可能的解決方法。 終結者首頁說與
stty ixon
您可以開啟“終端輸出的 XON/XOFF 流控制。能夠透過鍵入 ^S 暫停輸出並透過鍵入 ^Q [...] 恢復輸出”
但這並不完全是我想要的,而不必暫停輸出(也許想知道何時忘記再次打開它),我認為可能有一個簡單的修飾鍵,例如帶有滑鼠滾輪向上滾動的 shft-alt 。有更好的解決方案嗎?
答案1
雖然我有點晚了,但我還是把這個貼在這裡,以便任何來這裡的人都能得到解決方案。對我來說,同一問題的解決方案是:
終結者首選項 -> 設定檔標籤 -> 捲動 [子] 標籤 -> 取消勾選「捲動輸出」選項。
這個選項的好處是,當您位於輸出的最底部時,它仍然會在輸出上滾動,但是一旦向上滾動,它就會停止並且不會打擾您,即使輸出內容仍在進行中生成的。
我希望這有幫助
答案2
tail -f log.txt | less
將更新以前進到新訊息,然後您可以向上或向下。您也可以使用less
搜尋功能等。使用管道方法,您還可以解析移動輸出。
和同樣的想法,但沒有管道:less +F log.txt
。
(這假設您可以以這種方式處理您的內容。)
舊的 Unix 方式是在終端中按 Ctrl-S 來停止,然後按 Ctrl-Q 來重新啟動輸出滾動——這基本上就是終止符讓您使用stty ixon
.
添加了滾動條後,這對我來說似乎相當不錯——按 Control-S,向上滾動到您喜歡的任何內容,然後按 Control-Q 返迴向下。是的,您偶爾會忘記取消暫停輸出。
因為我非常懶,而且因為我喜歡輸出重定向的靈活性,所以我將 tail -f 與管道一起使用(假設適合這種情況)。然後我可以停止它,向上箭頭並添加類似 grep 的東西,它仍然運行:
tail -f tac_plus.log | less | egrep 'peerip'
丟一些cat
東西tee
進去,你就可以舉辦一場真正的派對了。