日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式微處理器
[導(dǎo)讀]作自:Ricardo Gerardi,譯者:平川,策劃:小智 鏈接:https://opensource.com/article/20/6/modern-linux-command-line-tools 在日常使用 Linux/Unix 系統(tǒng)時(shí),我們會(huì)使用許多命令行工具來完成我們的工作,并理解和管理我們的系統(tǒng),像 du 用于監(jiān)視磁盤利用率

作自:Ricardo Gerardi,譯者:平川,策劃:小智

鏈接:https://opensource.com/article/20/6/modern-linux-command-line-tools


在日常使用 Linux/Unix 系統(tǒng)時(shí),我們會(huì)使用許多命令行工具來完成我們的工作,并理解和管理我們的系統(tǒng),像 du 用于監(jiān)視磁盤利用率,top 用于顯示系統(tǒng)資源。其中一些工具已經(jīng)存在很長時(shí)間了。例如,top 于 1984 年首次發(fā)布,而 du 的首次發(fā)布要追溯到 1971 年。

多年來,這些工具已經(jīng)被現(xiàn)代化并移植到不同的系統(tǒng),但是,通常,它們?nèi)匀谎永m(xù)著它們最初的思想和體驗(yàn)。

這些都是很好的工具,對(duì)于許多系統(tǒng)管理員的工作流來說都是必不可少的。然而,最近幾年,開源社區(qū)已經(jīng)開發(fā)出了可以帶來額外好處的替代工具。雖然有些華而不實(shí),但另外一些則極大地提高了可用性,使它們成為現(xiàn)代化系統(tǒng)上的最佳選擇。這包括以下五個(gè)標(biāo)準(zhǔn) Linux 命令行工具的替代品。

1作為 du 替代品的 ncdu

NCurses 磁盤利用率(ncdu)工具提供了與 du 類似的結(jié)果,但是在一個(gè)基于 curses 的交互式界面中,它重點(diǎn)關(guān)注那些占用磁盤空間比較多的目錄。

ncdu 會(huì)花一些時(shí)間分析磁盤,然后根據(jù)你最常用的目錄或文件顯示結(jié)果,如下所示:

ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help--- /home/rgerardi ------------------------------------------------------------ 96.7 GiB [##########] /libvirt 33.9 GiB [### ] /.crc 7.0 GiB [ ] /Projects. 4.7 GiB [ ] /Downloads. 3.9 GiB [ ] /.local 2.5 GiB [ ] /.minishift 2.4 GiB [ ] /.vagrant.d. 1.9 GiB [ ] /.config. 1.8 GiB [ ] /.cache 1.7 GiB [ ] /Videos 1.1 GiB [ ] /go 692.6 MiB [ ] /Documents. 591.5 MiB [ ] /tmp 139.2 MiB [ ] /.var 104.4 MiB [ ] /.oh-my-zsh 82.0 MiB [ ] /scripts 55.8 MiB [ ] /.mozilla 54.6 MiB [ ] /.kube 41.8 MiB [ ] /.vim 31.5 MiB [ ] /.ansible 31.3 MiB [ ] /.gem 26.5 MiB [ ] /.VIM_UNDO_FILES 15.3 MiB [ ] /Personal 2.6 MiB [ ] .ansible_module_generated 1.4 MiB [ ] /backgrounds 944.0 KiB [ ] /Pictures 644.0 KiB [ ] .zsh_history 536.0 KiB [ ] /.ansible_async Total disk usage: 159.4 GiB Apparent size: 280.8 GiB Items: 561540

使用方向鍵導(dǎo)航到每個(gè)條目。如果你在一個(gè)目錄條目上按下 Enter 鍵,ncdu 將顯示該目錄的內(nèi)容:

--- /home/rgerardi/libvirt ---------------------------------------------------- /.. 91.3 GiB [##########] /images 5.3 GiB [ ] /media

你可以使用它下鉆目錄并查找哪些文件占用的磁盤空間最多,使用左箭頭鍵可以返回上一級(jí)目錄。在默認(rèn)情況下,可以按下 d 鍵使用 ncdu 刪除文件,在刪除之前,它會(huì)跟你確認(rèn)刪除請(qǐng)求。如果你想禁用此行為以防止發(fā)生意外,請(qǐng)使用 -r 選項(xiàng)進(jìn)行只讀訪問:ncdu -r。

ncdu 可用于許多平臺(tái)和 Linux 發(fā)行版。例如,你可以使用 dnf 直接從官方存儲(chǔ)庫把它安裝到 Fedora 上:

$ sudo dnf install ncdu

要了解關(guān)于這個(gè)工具的更多信息,請(qǐng)查看 ncdu 頁面。

https://dev.yorhel.nl/ncdu

2作為 top 替代品的 htop

htop 是一個(gè)類似于 top 的交互式流程查看器,但它提供了更好的開箱即用的用戶體驗(yàn)。默認(rèn)情況下,htop 會(huì)用令人愉快的彩色顯示與 top 相同的指標(biāo)。

默認(rèn)情況下,htop 是這樣的:

相比之下,top 默認(rèn)是這樣的:

此外,htop 在頂部提供了系統(tǒng)概覽信息,在底部提供了一個(gè)命令欄,可以使用功能鍵來觸發(fā)命令,而且,你還可以按 F2 進(jìn)入設(shè)置界面對(duì)它進(jìn)行定制。你可以更改其顏色、添加或刪除指標(biāo),或更改概覽欄的顯示選項(xiàng)。

雖然對(duì)于最新版本的 top,你也可以通過配置實(shí)現(xiàn)類似的結(jié)果,但 htop 提供了更合理的默認(rèn)配置,這使得它成為一個(gè)漂亮且易于使用的流程查看器。

要了解關(guān)于這個(gè)項(xiàng)目的更多信息,請(qǐng)查看 htop 首頁。

https://hisham.hm/htop/

3作為 man 替代品的 tldr

tldr 命令行工具顯示簡化的命令用法信息,主要包括示例。它是作為社區(qū)項(xiàng)目 tldr pages 的客戶端。

這個(gè)工具不能代替 man。man 頁面仍然是許多工具規(guī)范而完整的信息源。然而,在某些情況下,man 提供的信息太多了。有時(shí)候,你不需要一個(gè)命令的所有信息;你只是試著記住基本的選項(xiàng)。例如,curl 命令的 man 頁面幾乎有 3000 行。相反,curl 的 tldr 頁面只有 40 行,如下所示:

$ tldr curl# curl Transfers data from or to a server. Supports most protocols, including HTTP, FTP, and POP3. More information: <https://curl.haxx.se>.- Download the contents of an URL to a file: curl http://example.com -o filename- Download a file, saving the output under the filename indicated by the URL: curl -O http://example.com/filename- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer: curl -O -L -C - http://example.com/filename- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`): curl -d 'name=bob' http://example.com/form - Send a request with an extra header, using a custom HTTP method: curl -H 'X-My-Header: 123' -X PUT http://example.com - Send data in JSON format, specifying the appropriate content-type header: curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234... TRUNCATED OUTPUT

TLDR 是網(wǎng)絡(luò)俚語“too long; didn't read”的縮寫,指對(duì)一篇很長的文章進(jìn)行總結(jié)。這個(gè)名稱很適合這個(gè)工具,因?yàn)?man 頁面雖然有用,但有時(shí)太長了。

在 Fedora 中,tldr 客戶端是用 Python 編寫的。你可以使用 dnf 安裝它。要了解其他客戶端選項(xiàng),請(qǐng)參閱 tldr pages 項(xiàng)目頁面。

https://tldr.sh/

一般來說,tldr 工具需要訪問互聯(lián)網(wǎng)以查閱 tldr pages。Fedora 中的 Python 客戶端允許你下載并緩存這些頁面以供脫機(jī)訪問。

要了解有關(guān) tldr 的更多信息,可以使用 tldr tldr。

4作為 sed/grep 替代品的 jq

jq 是一個(gè)命令行 JSON 處理器,類似于 sed 或 grep,但專門設(shè)計(jì)用于處理 JSON 數(shù)據(jù)。如果你是在日常任務(wù)中會(huì)用到 JSON 的開發(fā)人員或系統(tǒng)管理員,那么這是你工具箱中必不可少的工具。

與 grep 和 sed 等通用文本處理工具相比,jq 的主要優(yōu)點(diǎn)是它理解 JSON 的數(shù)據(jù)結(jié)構(gòu),允許使用單個(gè)表達(dá)式創(chuàng)建復(fù)雜的查詢。

舉例來說,假設(shè)你試圖在這個(gè) JSON 文件中查找容器的名稱:

{ "apiVersion": "v1", "kind": "Pod", "metadata": { "labels": { "app": "myapp" }, "name": "myapp", "namespace": "project1" }, "spec": { "containers": [ { "command": [ "sleep", "3000" ], "image": "busybox", "imagePullPolicy": "IfNotPresent", "name": "busybox" }, { "name": "nginx", "image": "nginx", "resources": {}, "imagePullPolicy": "IfNotPresent" } ], "restartPolicy": "Never" }}

如果你直接使用 grep 查找 name,則寫法如下:

$ grep name k8s-pod.json "name": "myapp", "namespace": "project1" "name": "busybox" "name": "nginx",

grep 返回包含單詞 name 的所有行。你可以向 grep 添加更多選項(xiàng)來限制它,借助一些正則表達(dá)式操作來找到容器的名稱。如果是使用 jq 獲得你想要的結(jié)果,則可以使用一個(gè)表達(dá)式來模擬向下導(dǎo)航數(shù)據(jù)結(jié)構(gòu),如下所示:

$ jq '.spec.containers[].name' k8s-pod.json"busybox""nginx"

這個(gè)命令提供這兩個(gè)容器的名稱。如果你只是在查找第二個(gè)容器的名稱,則可以在表達(dá)式中添加數(shù)組元素索引:

$ jq '.spec.containers[1].name' k8s-pod.json"nginx"

因?yàn)?jq 知道數(shù)據(jù)結(jié)構(gòu),所以即使文件格式稍有變化,它也能提供相同的結(jié)果。而只要格式稍有變化,grep 和 sed 就可能提供不同的結(jié)果。

jq 有許多特性,要介紹所有這些特性的話,需要另寫一篇文章。要了解更多信息,請(qǐng)參閱 jq 項(xiàng)目頁、man 頁面或 tldr jq。

https://stedolan.github.io/jq/

5作為 find 替代品的 fd

fd 是 find 命令的一個(gè)簡單而快速的替代品。它的目的不是取代 find 提供的全部功能;相反,它提供了一些合理的默認(rèn)值,在某些情況下非常有用。

例如,在包含 Git 存儲(chǔ)庫的目錄中搜索源代碼文件時(shí),fd 會(huì)自動(dòng)排除隱藏的文件和目錄,包括. .git 目錄,并忽略.gitignore 文件中的模式。一般來說,它的搜索速度更快,而且第一次搜索時(shí)提供了更多相關(guān)的結(jié)果。

默認(rèn)情況下,fd 在當(dāng)前目錄中執(zhí)行不區(qū)分大小寫的模式搜索,輸出是彩色的。使用 find 進(jìn)行相同的搜索需要你提供額外的命令行參數(shù)。例如,在當(dāng)前目錄中搜索所有的 markdown 文件(.md 或.MD ),find 命令如下:

$ find . -iname "*.md"

使用 fd 進(jìn)行同樣的搜索:

$ fd .md

在某些情況下,fd 需要額外的選項(xiàng);例如,如果你想包含隱藏文件和目錄,則必須使用選項(xiàng) -H,而這在 find 中是不需要的。

fd 可用于許多 Linux 發(fā)行版。執(zhí)行以下命令,可以使用標(biāo)準(zhǔn)存儲(chǔ)庫在 Fedora 中安裝:

$ sudo dnf install fd-find

要了解更多信息,請(qǐng)查閱 fd GitHub 存儲(chǔ)庫。

https://github.com/sharkdp/fd/

6其他替代品

雖然我仍然經(jīng)常使用所有舊的基本工具,特別是在遠(yuǎn)程連接到服務(wù)器時(shí),但這些替代品額外提供了一些在許多場景中都非常有用的好處。特別是,它們對(duì)我在 Linux 臺(tái)式機(jī)和筆記本電腦上的工作幫助很大。

你的工作流中是否使用了其他工具?歡迎在下面的評(píng)論區(qū)補(bǔ)充。

7作者介紹

Ricardo Gerardi 是加拿大紅帽公司的高級(jí)顧問,他專門從事基于 Ansible 和 Openshift 的 IT 自動(dòng)化。他有豐富的電信行業(yè)經(jīng)驗(yàn),曾在 TELUS 擔(dān)任高級(jí)架構(gòu)師,并曾在 IBM 巴西和 IBM 加拿大擔(dān)任網(wǎng)絡(luò)管理解決方案的高級(jí)顧問和售前專家長達(dá) 13 年。Ricardo 是一個(gè)超過 20 年的 Linux 愛好者。他目前感興趣的是用 Go 編程來破解東西……


-END-




推薦閱讀



【01】Linux系統(tǒng)編程-通用文件模型
【02】Linux常用命令,超強(qiáng)萬字總結(jié)!
【03】Linux 為何會(huì)流行?它和普通的RTOS有啥區(qū)別?
【04】可算是有文章,把Linux零拷貝技術(shù)講透徹了!
【05】Linux系統(tǒng)編程-信號(hào)入門


免責(zé)聲明:整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系刪除

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉