linux df命令,linux less 阻塞輸出,linux – `less`命令顯示輸出所用的時間

 2023-11-19 阅读 25 评论 0

摘要:您的腳本通過管道與較少的通信. Pipe是一個連接兩個端點的內存字節流:你的腳本和less程序,前者寫入輸出,后者從中讀取.linux df命令?由于管道在內存中,如果它們隨意變大,就不會令人愉快.因此,默認情況下,在任何給定時刻,管道內部(寫入但尚未讀取)的數據都有限制.默認情

您的腳本通過管道與較少的通信. Pipe是一個連接兩個端點的內存字節流:你的腳本和less程序,前者寫入輸出,后者從中讀取.

linux df命令?由于管道在內存中,如果它們隨意變大,就不會令人愉快.因此,默認情況下,在任何給定時刻,管道內部(寫入但尚未讀取)的數據都有限制.默認情況下,它在Linux上為64k.如果管道已滿,并且您的腳本嘗試向其寫入,則寫入塊.所以你的腳本實際上并沒有工作,它在執行write()調用時會在某個時刻停止.

怎么克服這個?調整默認值是一個糟糕的選擇;使用的是在讀取器中分配一個緩沖區,以便它讀入緩沖區,釋放管道,從而讓編寫程序工作,但只顯示(或處理)輸出的一部分. less有這樣的緩沖區,并且默認情況下會自動擴展它,但是它不會在后臺填充它,它只會在你讀取輸入時填充它.

vim自動換行,那么解決問題的方法是直到最后讀取文件(就像你通常按G一樣),然后回到開頭(就像你通常按g一樣).問題是您可以通過命令行指定這些命令,如下所示:

./script | less +Gg

linux grep。但是,您應該注意,您必須等到整個腳本的輸出加載到內存中,因此您將無法立即查看它.為此,不夠復雜.但如果這是你真正需要的(在./script仍在計算結束時瀏覽輸出的開頭),你可能想要使用一個臨時文件:

./script >x & less x ; rm x

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/182367.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息