云服务器免费试用

原生Linux命令不好使?试试这14款替代工具吧,好用到爆!

服务器知识 0 578

在 Linux 操作系统下,ls (list) 可以说是我们日常使用率较高的命令了,它主要用来显示目标列表,输出信息可以进行彩色加亮显示,以分区不同类型的文件。关于 ls[1] 的语法、选项、实例、扩展知识,这里就不详细介绍了。

原生Linux命令不好使?试试这14款替代工具吧,好用到爆!

image-20231219203809571

一、lsd

lsd[2]是一个基于 Rust 语言编写的 ls 命令替代品,增加了颜色、图标、树视图、更多格式选项等。可以在 Archlinux、Fedora、macOS、FreeBSD、Windows、Android、Ubuntu、Debian 等多种操作系统上安装。

#curl-LOhttps://github.com/Peltoche/lsd/releases/download/0.21.0/lsd_0.21.0_amd64.deb  #dpkg-ilsd_0.21.0_amd64.deb  
image-20231219203819647

二、broot

broot[3]也是一个基于 Rust 语言编写的 ls 命令替代品。相比 lsd 来说,它是一种查看和导航目录树的新方法,也可以理解为 broot 就是终端里的文件管理器。

broot 的特征:

  • 获得一个目录的概览、甚至是一个大目录
  • 找到一个目录然后 cd
  • 搜索时永远不会丢失文件层次的结构
  • 操作文件、管理文件、预览文件
  • 将标准或个人快捷方式应用于文件
  • 替代 ls
  • 排序看看占用空间
  • 检查 Git 状态

broot 的使用:

使用 broot 时,可以先列出当前目录下的文件信息。

#br-sdph  
  • -s:显示文件大小
  • -d:显示文件时间
  • -p:显示文件权限
  • -h:显示隐藏文件
image-20231219203825258

从上述结果可以看出,broot 默认是以树状结构展开子目录,在该界面中,可以完成搜索(输入关键词)、复制(cp )、删除 rm更改文件名(mv )、退出 q基本文件操作。

三、zoxide

zoxide[5]是 cd 命令的替代品,主要用来切换用户当前工作目录,相比 cd 命令来说,zoxide 更智能些,它会记住您最常使用的目录,因此您只需按几下键即可;跳转;到指定的目录。

zoxide 可以在 Linux、macOS、Windows、BSD、Android 等操作系统上运行,用法与 cd 一样。

#zoxide/etc  

如果您经常用 zoxide 进入 /etc 目录,您可以只写路径的一部分,从而将自动找到您经常使用的匹配项,只需输入命令:z e,就会自动将e匹配为 /etc,从而进入该目录中。

#ze  

四、fzf

fzf[6]是一个通用的交互式命令行模糊查找器,便捷、无依赖、速度极快可用于任何列表、文件、历史命令、进程、主机名、书签、git 提交等。可以在 Debian 9+、Ubuntu 19.10+、Fedora、Arch Linux、FreeBSD、OpenBSD、openSUSE 等多种 Linux 发行版中安装。

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

使用 fzf 可以结合 find 的替代品 fd[7]工具,关于 fd 这里不详细介绍了!

如果使用模糊查找,找出包含 debug 的文件名,可执行如下命令后,输入debug即可。

#find.-typef|fzf  
image-20231219203831880

五、ripgrep (rg)

ripgrep (rg)[8]是 grep 命令的替代品,它是一种面向行的搜索工具,递归地在当前目录中搜索正则表达式模式,支持在 Windows、Linux 和 macOS 上安装。

image-20231219203853669image-20231219203858835

ripgrep GitHub 存储库也对相同文件、单个大文件通过 ripgrep、git grep、ugrep、The Silver Searcher、ack、GNU grep 的方式做了鲜明的基准测试对比。从时间上来看 ripgrep 搜索时间相比是最快的。

除此之外,ripgrep 默认过滤、更少的错误、Unicode 支持、带有行号和搜索词高亮。

#aptinstallripgrep  

ripgrep 跟 grep 用法类似,比如:我要搜索所有内容包含字符串 yum 的 sh 文件,可执行如下命令:

#rgyum*.sh  9:cd/etc/yum.repos.d/  22:yumcleanall  23:yummakecache  25:echo"本地yum仓库已经创建完成!"  

除 grep、ripgrep 之外,还有 ack、ag[9]关于 ack 和 ag 这里不详细介绍了

六、procs

procs[10]是基于 Rust 语言编写的一个 ps 命令的替代品,它支持彩色高亮、多栏关键词搜索等特征的显示进程相关信息,可在 Linux、macOS、Windows 操作系统上进行安装。

image-20231219203905909

procs 的安装:

Arch Linux

#sudopacman-Sprocs  

Fedora

#sudodnfinstallprocs  

RPM

#sudorpm-ihttps://github.com/dalance/procs/releases/download/v0.12.1/procs-0.12.1-1.x86_64.rpm  

使用 procs 可执行如下命令,将显示所有进程的信息。

#procs  

使用非数字 / 关键字进行搜索,添加任何关键字作为参数选项,默认情况下将会自动匹配 USER 到 COMMAND 中,添加与非数字关键字匹配的列,nonnumeric_search可以在配置文件中使用选项。

使用数字作为关键字进行搜索,默认匹配PID,默认情况下,数值被视为完全匹配,非数值被视为部分匹配,添加与数字关键字匹配的列,numeric_search可以在配置文件中使用选项。

如有一些关键字,可通过命令行选项指定关键字之间的逻辑运算。

  • --and:显示与所有关键字匹配的进程
  • --or:显示与任何关键字匹配的进程
  • --nand:除非这些过程与所有关键字匹配,否则将显示这些过程
  • --nor:除非与任何关键字匹配,否则将显示进程

七、diff-so-fancy

diff-so-fancy[11]是 git diff 的替代品,它是基于 node 实现的一款命令行工具,可以为您的终端呈现漂亮的差异,有助于提高代码质量并帮助更快发现缺陷。

diff-so-fancy 的安装:

#npminstall-gdiff-so-fancy  

diff-so-fancy 的使用:

直接可以在命令行调用

#gitdiff--color|diff-so-fancy  

通过上述方式使用 diff-so-fancy 虽简单,但会把所有结果全部输出,并没显得差异化。我们可以通过设置 pager 对结果进行分页配置 git 以 diff-so-fancy 用于所有差异输出:

#gitconfig--globalcore.pager"diff-so-fancy|less--tabs=4-RFX"  #gitconfig--    globalinteractive.diffFilter"diff-so-fancy--patch"  

将 diff-so-fancy 配置为 Git 的默认 diff 工具就可以了,每次执行 git diff,就会输出它的执行结果。

八、delta

delta[12]是用于 git、diff 和 grep 输出的语法高亮分页器,它允许对 diff 的布局和样式进行大量的更改。

image-20231219203914630

delta 的特征:

  • 使用颜色主题突出显示语言的语法
  • 语法高亮从 rg、git grep、grep 等的 grep 输出
  • 带换行的并排视图
  • 支持显示行号
  • 支持合并冲突显示
  • 支持 Git 的 –color-moved 功能
  • n 和 N 键绑定在大差异中的文件之间移动
  • 代码可以直接从差异中复制

delta 的安装:

delta 支持在 Arch Linux、Fedora、FreeBSD、OpenSUSE、Debian / Ubuntu、Windows 等多种操作系统上安装,具体可参考 delta[13] 用户手册的安装部分。

九、mcfly

Mcfly[14] 是ctrl+r的替代品,主要用来搜索 Shell 操作记录。

image-20231219203922291

mcfly 的特征:

  • 绑定ctrl+r以启动全屏反向历史搜索
  • 基于 Rust 编写,快速、安全
  • 搜索时键入%以匹配任意数量的字符
  • 维护正常 Shell 历史文件,以便可随时停止使用 McFly
  • 支持从 McFly 数据库和 Shell 历史文件中清除任何历史项目的操作

十、choose

choose[15] 是 cut[16]命令的替代品,用来显示行中的指定部分,删除文件中指定字段。cut 经常用来显示文件的内容,类似于 type 命令。

image-20231219203928656

choose 的特征:

  • 简洁字段、语法简单、类似于 Python 的列表切片
  • 负索引从行尾开始
  • 可选的开始 / 结束索引
  • 零索引
  • 反向范围
  • 对于足够长的输入,略快于cut,远快于awk
  • 使用 Rust 的正则表达式语法的正则表达式字段分隔符

cut 的案例写法:

#cat2023.txt|cut-d""-f1  or  #cut-d""-f12023.txt  

choose 的案例写法:

#cat2023.txt|choose1  or  #choose1-i2023.txt  

十一、httpie

httpie[17]是 curl 的替代品,一个命令行 HTTP 客户端。httpie 的目标是使 CLI 与 Web 服务的交互尽可能的人性化,用于测试、调试以及通常与 API 和 HTTP 主机交互,允许 http 和 https 命令创建和发送任意 HTTP 请求,从而使用简单的语法,并能够提供格式化和彩色输出。

curl PUT 请求案例写法:

#curl-XPUT-dhello=worldexample.com  

httpie PUT 请求案例写法:

#httpPUTexample.comhello=world  

自定义 HTTP 方法、HTTP 标头和 JSON 数据:

#httpPUTpie.dev/putX-API-Token:123name=John  

在不使用离线模式发送的情况下构建和打印请求:

#http--offlinepie.dev/posthello=offline  

十二、curlie

curlie[18]跟 httpie 是同类项目,curlie 增加了 httpie 的易用性,而不影响它的特性和性能,所有 curl 选项的语法和输出格式都来自 httpie,如果您喜欢 httpie 的界面,但不喜欢 curl 的特性,那 curlie 是最佳的选择。

image-20231219203934875

curlie 与 httpie 的区别:

  • curlie 像 curl,但不像 httpie,文件头是写在 stderr,而不是写在 stdout;
  • 输出没缓冲,所有格式化均动态完成,可轻松调试流数据;
  • 使用 curl 选项打印执行的 curl 命令;

curlie 的语法:

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

curlie 的简单获取:

#curliehttpbin.org/headers  

自定义方法、标头和 JSON 数据:

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

十三、xh

xh[19]是一个用于发送 HTTP 请求的友好且快速的工具,相比 httpie 来说,主要是提高了性能、可作为单个静态链接的二进制文件,易于安装、支持 HTTP / 2、使用 curl 标志内置对 curl 命令的转换、简短的帮助信息可通过备忘单样式进行输出。

image-20231219203941205

xh 的语法:

#xh[OPTIONS][--][REQUEST_ITEM]...  

xh 的例子:

#发送GET请求  xhhttpbin.org/json    #发送一个POST请求,请求体{"name":"ahmed","age":24}  xhhttpbin.org/postname=ahmedage:=24    #发送一个querystringid=5&sort=true的GET请求  xhgethttpbin.org/jsonid==5sort==true    #发送一个GET请求,并包含一个名为x-api-key的头,值为:66666  xhgethttpbin.org/jsonx-api-key:66666    #发送一个PUT请求,并将结果管道到less  xhputhttpbin.org/putid:=49age:=24|less    #下载并保存到test.json  xh-dhttpbin.org/json-otest.json    #请求与自定义用户代理  xhhttpbin.org/getuser-agent:foobar  

十四、dog

dog[20]是一个命令行开源 DNS 客户端,dig 命令的替代品,有丰富多彩的输出,理解命令行参数语法,支持 UDP、TCP、DNS-over-TLS 和 DNS-over-HTTPS 协议的网络传输,并且可以发出 DNS 查询。

dog 可以在 Windows、MacOS 和 Linux 操作系统上运行,支持 16 种记录类型,包括:A、AAAA、CAA、CNAME、HINFO、LOC、MX、NAPTR、NS、OPT、PTR、SOA、SRV、SSHFP、TLSA 和 TXT。

dog 的例子:

#使用默认设置查询域  dogexample.net    #查看MX记录  dogexample.netMX    #使用特定的命名主机  dogexample.netMX@IP地址x.x.x.x    #使用TCP而不是UDP  dogexample.netMX@IP地址x.x.x.x-T  

更多关于 dog 的安装、查询选项、发送选项、协议选项、输出选项可参考 dog 文档。

image-20231219203947981

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

本文来源:www.lxlinux.net/10672.html,若引用不当,请联系修改。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 原生Linux命令不好使?试试这14款替代工具吧,好用到爆!
本文地址: https://solustack.com/53956.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。