自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

14 款命令行常用工具的替代品!

系統(tǒng) Linux
broot也是一個(gè)基于 Rust 語言編寫的 ls 命令替代品。相比 lsd 來說,它是一種查看和導(dǎo)航目錄樹的新方法,也可以理解為 broot 就是終端里的文件管理器。

在 Linux 操作系統(tǒng)下,ls (list) 可以說是我們?nèi)粘J褂寐瘦^高的命令了,它主要用來顯示目標(biāo)列表,輸出信息可以進(jìn)行彩色加亮顯示,以分區(qū)不同類型的文件。關(guān)于 ls[1] 的語法、選項(xiàng)、實(shí)例、擴(kuò)展知識(shí),這里就不詳細(xì)介紹了。

一、lsd

lsd[2]是一個(gè)基于 Rust 語言編寫的 ls 命令替代品,增加了顏色、圖標(biāo)、樹視圖、更多格式選項(xiàng)等??梢栽?Archlinux、Fedora、macOS、FreeBSD、Windows、Android、Ubuntu、Debian 等多種操作系統(tǒng)上安裝。

# curl -LO https://github.com/Peltoche/lsd/releases/download/0.21.0/lsd_0.21.0_amd64.deb
# dpkg -i lsd_0.21.0_amd64.deb

二、broot

broot[3]也是一個(gè)基于 Rust 語言編寫的 ls 命令替代品。相比 lsd 來說,它是一種查看和導(dǎo)航目錄樹的新方法,也可以理解為 broot 就是終端里的文件管理器。

broot 的特征:

  • 獲得一個(gè)目錄的概覽、甚至是一個(gè)大目錄
  • 找到一個(gè)目錄然后 cd
  • 搜索時(shí)永遠(yuǎn)不會(huì)丟失文件層次的結(jié)構(gòu)
  • 操作文件、管理文件、預(yù)覽文件
  • 將標(biāo)準(zhǔn)或個(gè)人快捷方式應(yīng)用于文件
  • 替代 ls
  • 排序看看占用空間
  • 檢查 Git 狀態(tài)

broot 的使用:

使用 broot 時(shí),可以先列出當(dāng)前目錄下的文件信息。

# br -sdph
  • -s:顯示文件大小
  • -d:顯示文件時(shí)間
  • -p:顯示文件權(quán)限
  • -h:顯示隱藏文件

從上述結(jié)果可以看出,broot 默認(rèn)是以樹狀結(jié)構(gòu)展開子目錄,在該界面中,可以完成搜索(輸入關(guān)鍵詞)、復(fù)制(cp <復(fù)制后的文件名>)、刪除 rm、更改文件名(mv <新文件名>)、退出 q基本文件操作。

三、zoxide

zoxide[5]是 cd 命令的替代品,主要用來切換用戶當(dāng)前工作目錄,相比 cd 命令來說,zoxide 更智能些,它會(huì)記住您最常使用的目錄,因此您只需按幾下鍵即可“跳轉(zhuǎn)”到指定的目錄。

zoxide 可以在 Linux、macOS、Windows、BSD、Android 等操作系統(tǒng)上運(yùn)行,用法與 cd 一樣。

# zoxide /etc

如果您經(jīng)常用 zoxide 進(jìn)入 /etc 目錄,您可以只寫路徑的一部分,從而將自動(dòng)找到您經(jīng)常使用的匹配項(xiàng),只需輸入命令:z e,就會(huì)自動(dòng)將e匹配為 /etc,從而進(jìn)入該目錄中。

# z e

四、fzf

fzf[6]是一個(gè)通用的交互式命令行模糊查找器,便捷、無依賴、速度極快可用于任何列表、文件、歷史命令、進(jìn)程、主機(jī)名、書簽、git 提交等??梢栽? Debian 9+、Ubuntu 19.10+、Fedora、Arch Linux、FreeBSD、OpenBSD、openSUSE 等多種 Linux 發(fā)行版中安裝。

# curl -LO http://cn.archive.ubuntu.com/ubuntu/pool/universe/f/fzf/fzf_0.24.3-1_amd64.deb
# dpkg -i fzf_0.24.3-1_amd64.deb

使用 fzf 可以結(jié)合 find 的替代品 fd[7]工具,關(guān)于 fd 這里不詳細(xì)介紹了。

如果使用模糊查找,找出包含 debug 的文件名,可執(zhí)行如下命令后,輸入debug即可。

# find . -type f | fzf

五、ripgrep (rg)

ripgrep (rg)[8]是 grep 命令的替代品,它是一種面向行的搜索工具,遞歸地在當(dāng)前目錄中搜索正則表達(dá)式模式,支持在 Windows、Linux 和 macOS 上安裝。

ripgrep GitHub 存儲(chǔ)庫(kù)也對(duì)相同文件、單個(gè)大文件通過 ripgrep、git grep、ugrep、The Silver Searcher、ack、GNU grep 的方式做了鮮明的基準(zhǔn)測(cè)試對(duì)比。從時(shí)間上來看 ripgrep 搜索時(shí)間相比是最快的。

除此之外,ripgrep 默認(rèn)過濾、更少的錯(cuò)誤、Unicode 支持、帶有行號(hào)和搜索詞高亮。

# apt install ripgrep

ripgrep 跟 grep 用法類似,比如:我要搜索所有內(nèi)容包含字符串 yum 的 sh 文件,可執(zhí)行如下命令:

# rg yum *.sh
9:cd /etc/yum.repos.d/
22:yum clean all
23:yum makecache
25:echo "本地yum倉(cāng)庫(kù)已經(jīng)創(chuàng)建完成!"

除 grep、ripgrep 之外,還有 ack、ag[9]關(guān)于 ack 和 ag 這里不詳細(xì)介紹了。

六、procs

procs[10]是基于 Rust 語言編寫的一個(gè) ps 命令的替代品,它支持彩色高亮、多欄關(guān)鍵詞搜索等特征的顯示進(jìn)程相關(guān)信息,可在 Linux、macOS、Windows 操作系統(tǒng)上進(jìn)行安裝。

procs 的安裝:

Arch Linux

# sudo pacman -S procs

Fedora

# sudo dnf install procs

RPM

# sudo rpm -i 
https://github.com/dalance/procs/releases/download/v0.12.1/procs-0.12.1-1.x86_64.rpm

使用 procs 可執(zhí)行如下命令,將顯示所有進(jìn)程的信息。

# procs

使用非數(shù)字 / 關(guān)鍵字進(jìn)行搜索,添加任何關(guān)鍵字作為參數(shù)選項(xiàng),默認(rèn)情況下將會(huì)自動(dòng)匹配 USER 到 COMMAND 中,添加與非數(shù)字關(guān)鍵字匹配的列,nonnumeric_search可以在配置文件中使用選項(xiàng)。

使用數(shù)字作為關(guān)鍵字進(jìn)行搜索,默認(rèn)匹配PID,默認(rèn)情況下,數(shù)值被視為完全匹配,非數(shù)值被視為部分匹配,添加與數(shù)字關(guān)鍵字匹配的列,numeric_search可以在配置文件中使用選項(xiàng)。

如有一些關(guān)鍵字,可通過命令行選項(xiàng)指定關(guān)鍵字之間的邏輯運(yùn)算。

  • --and:顯示與所有關(guān)鍵字匹配的進(jìn)程
  • --or:顯示與任何關(guān)鍵字匹配的進(jìn)程
  • --nand:除非這些過程與所有關(guān)鍵字匹配,否則將顯示這些過程
  • --nor:除非與任何關(guān)鍵字匹配,否則將顯示進(jìn)程

七、diff-so-fancy

diff-so-fancy[11]是 git diff 的替代品,它是基于 node 實(shí)現(xiàn)的一款命令行工具,可以為您的終端呈現(xiàn)漂亮的差異,有助于提高代碼質(zhì)量并幫助更快發(fā)現(xiàn)缺陷。

diff-so-fancy 的安裝:

# npm install -g diff-so-fancy

diff-so-fancy 的使用:

直接可以在命令行調(diào)用;

# git diff --color | diff-so-fancy

通過上述方式使用 diff-so-fancy 雖簡(jiǎn)單,但會(huì)把所有結(jié)果全部輸出,并沒顯得差異化。我們可以通過設(shè)置 pager 對(duì)結(jié)果進(jìn)行分頁(yè)配置 git 以 diff-so-fancy 用于所有差異輸出:

# git config --global core.pager " diff-so-fancy | less --tabs=4 -RFX " 
# git config --global interactive.diffFilter " diff-so-fancy --patch "

將 diff-so-fancy 配置為 Git 的默認(rèn) diff 工具就可以了,每次執(zhí)行 git diff,就會(huì)輸出它的執(zhí)行結(jié)果。

八、delta

delta[12]是用于 git、diff 和 grep 輸出的語法高亮分頁(yè)器,它允許對(duì) diff 的布局和樣式進(jìn)行大量的更改。

delta 的特征:

  • 使用顏色主題突出顯示語言的語法
  • 語法高亮從 rg、git grep、grep 等的 grep 輸出
  • 帶換行的并排視圖
  • 支持顯示行號(hào)
  • 支持合并沖突顯示
  • 支持 Git 的 --color-moved 功能
  • n 和 N 鍵綁定在大差異中的文件之間移動(dòng)
  • 代碼可以直接從差異中復(fù)制

delta 的安裝:

delta 支持在 Arch Linux、Fedora、FreeBSD、OpenSUSE、Debian / Ubuntu、Windows 等多種操作系統(tǒng)上安裝,具體可參考 delta[13] 用戶手冊(cè)的安裝部分。

九、mcfly

Mcfly[14] 是ctrl+r的替代品,主要用來搜索 Shell 操作記錄。

mcfly 的特征:

  • 綁定ctrl+r以啟動(dòng)全屏反向歷史搜索
  • 基于 Rust 編寫,快速、安全
  • 搜索時(shí)鍵入%以匹配任意數(shù)量的字符
  • 維護(hù)正常 Shell 歷史文件,以便可隨時(shí)停止使用 McFly
  • 支持從 McFly 數(shù)據(jù)庫(kù)和 Shell 歷史文件中清除任何歷史項(xiàng)目的操作

十、choose

choose[15] 是 cut[16]命令的替代品,用來顯示行中的指定部分,刪除文件中指定字段。cut 經(jīng)常用來顯示文件的內(nèi)容,類似于 type 命令。

choose 的特征:

  • 簡(jiǎn)潔字段、語法簡(jiǎn)單、類似于 Python 的列表切片
  • 負(fù)索引從行尾開始
  • 可選的開始 / 結(jié)束索引
  • 零索引
  • 反向范圍
  • 對(duì)于足夠長(zhǎng)的輸入,略快于cut,遠(yuǎn)快于awk
  • 使用 Rust 的正則表達(dá)式語法的正則表達(dá)式字段分隔符

cut 的案例寫法:

# cat 2022.txt | cut -d " " -f 1
or
# cut -d " " -f 1 2022.txt

choose 的案例寫法:

# cat 2022.txt | choose 1
or
# choose 1 -i 2022.txt

十一、httpie

httpie[17]是 curl 的替代品,一個(gè)命令行 HTTP 客戶端。httpie 的目標(biāo)是使 CLI 與 Web 服務(wù)的交互盡可能的人性化,用于測(cè)試、調(diào)試以及通常與 API 和 HTTP 服務(wù)器交互,允許 http 和 https 命令創(chuàng)建和發(fā)送任意 HTTP 請(qǐng)求,從而使用簡(jiǎn)單的語法,并能夠提供格式化和彩色輸出。

curl PUT 請(qǐng)求案例寫法:

# curl -X PUT -d hello=world example.com

httpie PUT 請(qǐng)求案例寫法:

# http PUT example.com hello=world

自定義 HTTP 方法、HTTP 標(biāo)頭和 JSON 數(shù)據(jù):

# http PUT pie.dev/put X-API-Token:123 name=John

在不使用離線模式發(fā)送的情況下構(gòu)建和打印請(qǐng)求:

# http --offline pie.dev/post hello=offline

十二、curlie

curlie[18]跟 httpie 是同類項(xiàng)目,curlie 增加了 httpie 的易用性,而不影響它的特性和性能,所有 curl 選項(xiàng)的語法和輸出格式都來自 httpie,如果您喜歡 httpie 的界面,但不喜歡 curl 的特性,那 curlie 是最佳的選擇。

curlie 與 httpie 的區(qū)別:

  • curlie 像 curl,但不像 httpie,文件頭是寫在 stderr,而不是寫在 stdout;
  • 輸出沒緩沖,所有格式化均動(dòng)態(tài)完成,可輕松調(diào)試流數(shù)據(jù);
  • 使用 curl 選項(xiàng)打印執(zhí)行的 curl 命令;

curlie 的語法:

# curlie [CURL_OPTIONS...] [METHOD] URL [ITEM [ITEM]]

curlie 的簡(jiǎn)單獲?。?/h4>
# curlie httpbin.org/headers

自定義方法、標(biāo)頭和 JSON 數(shù)據(jù):

# curlie -v PUT httpbin.org/status/201 X-API-Token:123 name=John

十三、xh

xh[19]是一個(gè)用于發(fā)送 HTTP 請(qǐng)求的友好且快速的工具,相比 httpie 來說,主要是提高了性能、可作為單個(gè)靜態(tài)鏈接的二進(jìn)制文件,易于安裝、支持 HTTP / 2、使用 curl 標(biāo)志內(nèi)置對(duì) curl 命令的轉(zhuǎn)換、簡(jiǎn)短的幫助信息可通過備忘單樣式進(jìn)行輸出。

xh 的語法:

# xh [OPTIONS] <[METHOD] URL> [--] [REQUEST_ITEM]...

xh 的例子:

# 發(fā)送 GET 請(qǐng)求
xh httpbin.org/json

# 發(fā)送一個(gè) POST 請(qǐng)求,請(qǐng)求體{"name": "ahmed", "age": 24}
xh httpbin.org/post name=ahmed age:=24

# 發(fā)送一個(gè) querystring id=5 & sort=true 的 GET 請(qǐng)求
xh get httpbin.org/json id==5 sort==true

# 發(fā)送一個(gè) GET 請(qǐng)求,并包含一個(gè)名為 x-api-key 的頭,值為:66666
xh get httpbin.org/json x-api-key:66666

# 發(fā)送一個(gè) PUT 請(qǐng)求,并將結(jié)果管道到 less
xh put httpbin.org/put id:=49 age:=24 | less

# 下載并保存到 test.json
xh -d httpbin.org/json -o test.json

# 請(qǐng)求與自定義用戶代理
xh httpbin.org/get user-agent:foobar

十四、dog

dog[20]是一個(gè)命令行開源 DNS 客戶端,dig 命令的替代品,有豐富多彩的輸出,理解命令行參數(shù)語法,支持 UDP、TCP、DNS-over-TLS 和 DNS-over-HTTPS 協(xié)議的網(wǎng)絡(luò)傳輸,并且可以發(fā)出 DNS 查詢。

dog 可以在 Windows、MacOS 和 Linux 操作系統(tǒng)上運(yùn)行,支持 16 種記錄類型,包括:A、AAAA、CAA、CNAME、HINFO、LOC、MX、NAPTR、NS、OPT、PTR、SOA、SRV、SSHFP、TLSA 和 TXT。

dog 的例子:

# 使用默認(rèn)設(shè)置查詢域
dog example.net

# 查看 MX 記錄
dog example.net MX

# 使用特定的命名服務(wù)器
dog example.net MX @IP地址 x.x.x.x

# 使用 TCP 而不是 UDP
dog example.net MX @IP地址 x.x.x.x -T

更多關(guān)于 dog 的安裝、查詢選項(xiàng)、發(fā)送選項(xiàng)、協(xié)議選項(xiàng)、輸出選項(xiàng)可參考 dog 文檔。

References[1] ls:https://wangchujiang.com/linux-command/c/ls.html

[2] lsd:https://github.com/Peltoche/lsd

[3] broot:https://github.com/Canop/broot

[4] exa:https://github.com/ogham/exa

[5] zoxide:https://github.com/ajeetdsouza/zoxide

[6] fzf:https://github.com/junegunn/fzf

[7] fd:https://github.com/sharkdp/fd/

[8] ripgrep (rg):https://github.com/BurntSushi/ripgrep

[9] ag:https://github.com/ggreer/the_silver_searcher

[10] procs:https://github.com/dalance/procs

[11] diff-so-fancy:https://github.com/so-fancy/diff-so-fancy

[12] delta:https://github.com/dandavison/delta

[13] delta:https://dandavison.github.io/delta/installation.html

[14] mcfly:https://github.com/cantino/mcfly

[15] choose:https://github.com/theryangeary/choose

[16] cut:https://wangchujiang.com/linux-command/c/cut.html

[17] httpie:https://github.com/httpie/httpie

[18] curlie:https://github.com/rs/curlie

[19] xh:https://github.com/ducaale/xh

[20] dog:https://github.com/ogham/dog

責(zé)任編輯:武曉燕 來源: 杰哥的IT之旅
相關(guān)推薦

2020-07-15 15:08:08

Linux 系統(tǒng) 數(shù)據(jù)

2014-04-09 10:51:56

iOS開發(fā)常用工具

2011-02-21 12:44:05

Postfix

2024-01-15 14:19:34

開源ChatGPT

2019-10-10 16:13:55

WindowsLinuxWindows 10

2019-10-11 11:36:27

Windowscmd命令行工具

2011-06-10 16:07:47

SEO

2018-06-12 16:33:23

GitHub替代品項(xiàng)目

2010-06-12 13:59:12

2010-09-04 10:21:03

2011-04-08 17:24:05

c++工具編程

2019-02-13 14:58:43

cssjavascript前端

2019-07-08 15:10:17

JS工具函數(shù)

2018-05-21 21:34:26

Linux命令代碼

2011-09-05 14:07:08

Ubuntu軟件

2013-11-15 09:43:15

JDK工具

2010-11-24 17:12:17

MySQL命令行

2010-04-29 10:22:11

Oracle exp

2011-04-12 09:13:51

OpenIndianaSolaris替代品

2010-06-13 15:35:01

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)