成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五款新型 Linux 命令行工具,實用!

系統 Linux
近年來,開源社區開發了不少更具優勢的替代工具。雖然有些工具華而不實,但有些則大大提高了實用性,成為了現代系統的絕佳選擇。在本文中,我將介紹五種標準Linux命令行工具的替代品。

[[419356]]

使用新的替代工具來改進舊的命令行工具。

在Linux/Unix系統的日常使用中,我們需要使用很多命令行工具來完成工作,以及理解和管理我們的系統,例如使用du來監視磁盤利用率、top來顯示系統資源。有些工具已經有很長的歷史了。例如,top于1984年首次發布,而du的首次問世可追溯至1971年。

多年來,這些工具已經過現代化的改造,并移植到了不同的系統中,但總的來說,它們仍然保留了最初的想法、外觀和感覺。

這些工具都非常優秀,對于許多系統管理員的工作流程來說都是必不可少的。但近年來,開源社區開發了不少更具優勢的替代工具。雖然有些工具華而不實,但有些則大大提高了實用性,成為了現代系統的絕佳選擇。在本文中,我將介紹五種標準Linux命令行工具的替代品。

du的替代:ncdu

NCurses磁盤使用率(NCurses DiskUsage,即ncdu)工具提供了與du類似的結果,但其基于curses的交互式界面可以顯示消耗了大部分磁盤空間的目錄。

首先Ncdu需要花一些時間分析磁盤,然后按照最常用的順序顯示目錄或文件,如下所示: 

  1. ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help  
  2. --- /home/rgerardi ------------------------------------------------------------  
  3.    96.7 GiB [##########] /libvirt  
  4.    33.9 GiB [###       ] /.crc  
  5.     7.0 GiB [          ] /Projects  
  6. .   4.7 GiB [          ] /Downloads  
  7. .   3.9 GiB [          ] /.local  
  8.     2.5 GiB [          ] /.minishift  
  9.     2.4 GiB [          ] /.vagrant.d  
  10. .   1.9 GiB [          ] /.config  
  11. .   1.8 GiB [          ] /.cache  
  12.     1.7 GiB [          ] /Videos  
  13.     1.1 GiB [          ] /go  
  14.   692.6 MiB [          ] /Documents  
  15. . 591.5 MiB [          ] /tmp  
  16.   139.2 MiB [          ] /.var  
  17.   104.4 MiB [          ] /.oh-my-zsh  
  18.    82.0 MiB [          ] /scripts  
  19.    55.8 MiB [          ] /.mozilla  
  20.    54.6 MiB [          ] /.kube  
  21.    41.8 MiB [          ] /.vim  
  22.    31.5 MiB [          ] /.ansible  
  23.    31.3 MiB [          ] /.gem  
  24.    26.5 MiB [          ] /.VIM_UNDO_FILES  
  25.    15.3 MiB [          ] /Personal  
  26.     2.6 MiB [          ]  .ansible_module_generated  
  27.     1.4 MiB [          ] /backgrounds  
  28.   944.0 KiB [          ] /Pictures  
  29.   644.0 KiB [          ]  .zsh_history  
  30.   536.0 KiB [          ] /.ansible_async  
  31.  Total disk usage: 159.4 GiB  Apparent size: 280.8 GiB  Items: 561540 

你可以通過方向鍵導航到每個結果。如果在選中的結果上按下Enter,則ncdu將顯示該目錄的內容: 

  1. --- /home/rgerardi/libvirt ----------------------------------------------------  
  2.                          /..  
  3.    91.3 GiB [##########] /images  
  4.     5.3 GiB [          ] /media 

你可以深入各個目錄,找出哪些文件占用的磁盤空間最多。使用左方向鍵可以返回到上一個目錄。在默認情況下,你可以按d鍵刪除文件,但在刪除文件之前ncdu會要求確認。如果你想禁止刪除操作以防止發生意外,則可以通過-r選項設置只讀訪問:ncdu -r。

ncdu可用于許多平臺和Linux發行版。例如,你可以使用dnf從官方代碼庫直接將其安裝在Fedora上: 

  1. $ sudo dnf install ncdu 

更多有關該工具的信息,請參見:https://dev.yorhel.nl/ncdu。另外,Linux 系列面試題和答案全部整理好了,微信搜索Java技術棧,在后臺發送:面試,可以在線閱讀。

top的替代:htop

htop是一個類似于top的交互式進程瀏覽器,提供了更好的用戶體驗。在默認情況下,htop顯示的各項指標與top相同,而且是漂亮的彩色。

默認的htop如下所示:

與默認的top相比:

此外,htop的頂部還提供了系統的概述信息,底部的命令欄則顯示了功能鍵命令,你還可以按下F2進入設置頁面來自定義界面。在設置頁面中,你可以更改其顏色,添加或刪除指標、更改概述欄的顯示選項。

雖然top的最新版本也可以通過配置獲得相似的結果,但htop提供的默認配置更為合理,作為一個進程瀏覽器更加易于使用。

如果想了解有關該項目的更多信息,請查看htop主頁(https://hisham.hm/htop/)。

man的替代:tldr

tldr命令行工具顯示可以簡化的命令文檔,而且大部分文檔都提供示例。它是tldr pages項目(https://tldr.sh/)的客戶端。

這個工具不是man的替代品。man pages仍然是許多工具的規范以及完整的信息源。但是,在某些情況下,man的內容太多了。有時,你不需要有關命令的所有信息。你只需要記住基本選項。例如,curl命令的man page幾乎有3,000行。相比之下,curl的tldr只有40行,如下所示: 

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

TLDR的全稱是“too long; didn'tread”(太長;未讀),這是一句網絡流行語,表示文章太長。這個名字非常適合這個匯總工具,因為manpages雖然非常實用,但內容太長。

在Fedora中,tldr客戶端是用Python編寫的。你可以使用dnf安裝。有關其他客戶端選項,請參見tldr pages項目(https://tldr.sh/)。

通常,tldr工具需要訪問互聯網才能查詢tldr頁面。Fedora中的Python客戶端允許你下載和緩存這些頁面以供離線訪問。

有關tldr的更多信息,請運行tldr tldr。推薦一個 Spring Boot 基礎教程及實戰示例:https://github.com/javastacks/spring-boot-best-practice

用sed/grep查找JSON數據的替代:jq

jq是JSON的命令行處理器。就像sed或grep一樣,但主要是為了處理JSON數據。如果你是日常任務需要使用JSON的開發人員或系統管理員,那么這是你的工具箱中必不可少的工具。

與通用文本處理工具(例如grep和sed)相比,jq的主要優點在于它了解JSON數據結構,你可以通過一個表達式創建復雜的查詢。

舉例說明,假設你正在嘗試在下列JSON文件中查找容器的名稱: 

  1.  
  2.   "apiVersion": "v1",  
  3.   "kind": "Pod",  
  4.   "metadata": {  
  5.     "labels": {  
  6.       "app": "myapp"  
  7.     },  
  8.     "name": "myapp",  
  9.     "namespace": "project1"  
  10.   },  
  11.   "spec": {  
  12.     "containers": [  
  13.       {  
  14.         "command": [  
  15.           "sleep",  
  16.           "3000"  
  17.         ],  
  18.         "image": "busybox",  
  19.         "imagePullPolicy": "IfNotPresent",  
  20.         "name": "busybox"  
  21.       },  
  22.       {  
  23.         "name": "nginx",  
  24.         "image": "nginx",  
  25.         "resources": {},  
  26.         "imagePullPolicy": "IfNotPresent"  
  27.       }  
  28.     ],  
  29.     "restartPolicy": "Never"  
  30.   }  

如果你利用grep直接查詢name,則結果為: 

  1. $ grep name k8s-pod.json  
  2.         "name": "myapp",  
  3.         "namespace": "project1"  
  4.                 "name": "busybox"  
  5.                 "name": "nginx", 

grep會返回所有包含單詞name的行。你可以在grep中添加一些其他選項來限制查詢結果,并通過正則表達式操作找到容器的名稱。在使用jq獲得所需結果時,你只需要使用一個模擬向下導航數據結構的表達式,如下所示: 

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

該命令會返回兩個容器的名稱。如果你只想查看第二個容器的名稱,則可以在表達式中添加數組元素索引: 

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

因為jq能夠理解數據結構,所以即使文件格式稍有變化,它也可以提供相同的結果。但對于grep和se來說,格式稍有變化提供的結果就會完全不同。

jq還有很多功能,我需要用另寫一篇文章才能介紹其所有的功能。有關更多信息,請參見jq項目頁面(https://stedolan.github.io/jq/)、manpages或tldr jq。

find的替代:fd

fd是find命令的一種簡單快速的替代。它的目的不是替換find的功能,而是提供一些合理的默認值,在某些情況下非常有用。

例如,在包含Git代碼庫的目錄中搜索源代碼文件時,fd會自動排除隱藏的文件和目錄(包括.git目錄),并忽略.gitignore文件中的模式。通常,它可以更快地查詢,并提供相關度更高的結果。

在默認情況下,fd會針對當前目錄執行不區分大小寫的模式搜索,并輸出彩色的結果。使用find進行的相同搜索時,你需要提供其他命令行參數。例如,搜索當前目錄中所有的markdown文件(即.md或.MD文件),find命令如下所示: 

  1. $ find . -iname "*.md"$ find . -iname "*.md" 

而如下fd搜索能夠返回相同的結果: 

  1. $ fd .md 

在有些情況下,fd也需要其他選項。例如,如果想讓搜索包括隱藏的文件和目錄,則必須使用選項-H,而find則不需要。

fd可用于許多Linux發行版。在Fedora中安裝fd可使用標準代碼庫: 

  1. $ sudo dnf install fd-find 

有關更多信息,請請見fd的GitHub代碼庫(https://github.com/sharkdp/fd/)。

優秀的替代工具與久經考驗的實用程序

盡管我還是習慣使用舊工具,尤其是在遠程連接到服務器時,但新的替代工具提供了額外的好處,而且在許多情況下都很有幫助性。特別是幫助我在Linux臺式機和筆記本電腦上管理和工作。

你是否使用其他工具來處理工作流程?請在下方留言。另外,關注公眾號Java技術棧,在后臺回復:面試,可以獲取我整理的 Linux 系列面試題和答案,非常齊全。 

 

責任編輯:龐桂玉 來源: Java技術棧
相關推薦

2014-07-31 10:09:12

Linux命令歸檔工具

2014-02-12 13:30:16

Linux命令行終端工具

2010-08-24 09:10:14

Linux命令行工具

2016-10-25 15:36:49

Linux命令工具

2017-09-05 08:57:02

Linux命令行技巧

2013-04-11 09:21:21

Linux性能監測命令行工具

2018-03-14 14:27:00

2010-04-26 15:26:13

Linux網絡配置

2022-04-05 00:18:33

工具終端命令行

2022-07-13 08:21:38

開源命令行工具Linux

2019-08-27 10:32:01

Linux操作系統Windows

2022-01-14 07:28:20

Linux 命令行組合

2011-01-24 15:52:07

2019-09-04 09:00:00

LinuxPngquantr工具

2016-10-20 09:57:58

Linux轉換工具

2021-11-16 14:55:50

命令行Linux開源

2017-02-28 08:32:12

Linux數據分析工具

2017-01-03 08:30:01

Linux命令行工具

2020-12-10 16:16:08

工具代碼開發

2020-12-11 06:44:16

命令行工具開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品一区二区在线播放 | 欧美日韩在线播放 | 国产91在线视频 | 伊人青青久久 | 国产aⅴ精品 | 欧美国产精品 | 久久久久成人精品 | 国产精品免费在线 | 91成人免费看 | 久草免费在线视频 | 久久999| 国产综合精品一区二区三区 | 91高清在线观看 | 最新日韩欧美 | 美女张开腿露出尿口 | 国产欧美日韩久久久 | 综合色久| 亚洲欧美日韩一区二区 | 精品久久久久久亚洲综合网站 | 99精品国产成人一区二区 | 欧美成人自拍 | 一级欧美 | 中文字幕一级毛片视频 | 国产日韩精品一区 | 2022国产精品 | 亚洲高清一区二区三区 | 亚洲激情第一页 | 性高湖久久久久久久久 | 成人在线免费视频 | 91在线免费观看网站 | 午夜资源 | 国产成人在线观看免费 | 91香蕉视频在线观看 | 99久久精品免费看国产四区 | 中文字幕av在线一二三区 | 国产精品精品 | 国产成人精品一区二区三 | 亚洲人成人一区二区在线观看 | 久久久久久av | 欧美 中文字幕 | 超碰免费在 |