1. 請教:linux終端顯示內容不全,長的字元串被截斷
管道
管道簡單理解就是,使用管道意味著第一個命令的輸出會作為第二個命令的輸入,第二個命令的輸出又會作為第三個命令的輸入,依此類推。利用Linux所提供的管道符「|」將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入。
這樣在ls命令的時候如果現實的內容很多,可以利用管道技術將其分頁顯示:
1. ls | less
2. ls | more
我這里是遇到objm -d反匯編命令時,終端顯示不全。參照上面的ls命令,可以在命令後邊加上「 | more 」
如果對less和more掌握不熟練的話,使用man命令查一下他們的詳細用法和區別。
2. linux netstat -an 顯示不完整
可以使用命令進行過濾,如果直接看ip的話,顯示tcp或者udp netstat -tu 或者你可以是用awk 進行命令的過濾。
3. linux下輸入命令顯示數據不完整
像樓上說的,用個管道就行了。env|less或者env|more,當然less的功能更好
或者重定向到文件里也可以。env >> l.txt
,這樣會產生一個l.txt文件,到時用less l.txt或者vi l.txt就可以觀察了。不用的時候,可以rm -f l.txt,刪除這個文件。
文件名無所謂,隨意定,我用l.txt只是舉個例子。
4. linux中文件內容太多,屏幕不能一下全部顯示出來,怎樣查看被掩蓋的上部分的內容
樓上有人說了用 命令 | more 的方法顯示,這種方法其實不好。更好的方法反而是使用
命令 | less 的模式(例如mitmproxy -h | less,這段命令意思就是顯示mitmproxy的幫助文檔,並且用less模式去讀取這個文檔),在less模式下你一次只能讀一部分文本,但是你可以輸入命令來翻頁,你可以按空格鍵向下翻頁;而按b鍵則向上翻頁。另外,在輸入狀態先輸入一個斜杠,再輸入文本,就可以把全文中帶有該文本的地方高亮(例如輸入/port就是把全文中帶有port這個文本的地方標記高亮);最後使用ctrl+z退出less模式。如果你使用more的命令當然也可以這樣翻頁,但是首先它也是只顯示一部分內容(而不是全部),可是這個模式不能輸入命令(所以不能搜索文檔),最討厭的是當你翻到底的時候命令就自動退出more模式了,所以還是less更多人用。
至於有沒有一次顯示所有內容的方法?我到處都找遍了也沒發現(甚至找了國外的StackOverflow,以上方法就是我從那裡找來的)。可是我清晰地記得有時候瀏覽幫助文檔一開始是可以顯示完全的,只不過後來不知道為什麼又不行了。在CSDN有人說可以修改PUTTY、XSHELL等遠程登錄軟體的lines of scrollback選項,我試過好像沒什麼作用就不發上來了。如果有人知道一次完全顯示的方法,請留言,謝謝。
5. linux,terminal中顯示的信息太多,將滾動條拖到最上也沒法看到所有內容,如何看上面更多的信息。
很多方法, 假設你要讀一個很長的文件 輸入$ cat file 之後 文件顯示太多行, 沒法看最上面的內容. 你可以用
$ cat file | more
這樣文件的內容會一段一段顯示
或者用 $ less file 也差不多
如果是運行命令的輸出內容太多而無法看到上面的內容, 比較好的方法是把輸出內容寫到一個文件里, 然後在瀏覽這個文件. 比如
$ ./command > out
注意這里的command可以是任何你運行的命令.
$ cat out | more
當然最最最好的是設置下你的terminal, 讓它多顯示些行數..
6. 在linux里有些命令顯示的內容太多了,要網上翻頁,怎麼辦用shift+pageup,也只能翻幾頁。仍然顯示不全
有些命令顯示的內容太多,一頁屏幕顯示不完,就需要翻頁命令。一回般是用管道符將這樣的答命令的輸出讓more或less處理,就像這樣:
dmesg |more (查看系統硬體信息)
或dmesg |less
more命令的翻頁按鍵:
空格:表示向下翻一頁
回車:表示向下滾動一行
/字元串:表示查詢字元串
q:離開more界面
而less命令和more的不同之處在於,它可以向上翻頁,字元串查詢也可以向上查詢。less命令的按鍵(more命令的按鍵在less中一樣):
PageUp:向上翻頁
PageDown:和空格鍵一樣是向下翻頁
?字元串:表示向下查詢字元串
n:重復查詢字元串