当前位置: 首页 > 科技观察

本机Linux命令不起作用?试试这14种替代工具,它们非常好用!

时间:2023-03-20 18:54:48 科技观察

1。lsdlsd[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其次,brootbroot[3]也是ls命令的基于Rust语言编写的替代品。与lsd相比,它是一种查看和导航目录树的新方法。也可以理解为broot是终端中的文件管理器。broot的特点:获得一个目录的概览,即使是一个大目录找到一个目录,然后cd搜索,而不会丢失文件层次结构操作文件,管理文件,预览文件对文件应用标准或个人快捷方式替换ls排序查看占用空格并查看Git状态broot的使用:在使用broot时,可以先列出当前目录下的文件信息。#br-sdph-s:显示文件大小-d:显示文件时间-p:显示文件权限-h:显示隐藏文件从上面的结果可以看出,broot默认以树状结构展开子目录,在这个界面,可以完成搜索(关键字输入)、复制(cp<复制的文件名>)、删除rm、更改文件名(mv<新建文件名>)、退出q基本文件操作。3.zoxidezoxide[5]是cd命令的替代品,主要用于切换用户当前工作目录。与cd命令相比,zoxide更加智能,它会记住你最常使用的目录,所以你只需要敲几下“跳转”到指定的目录。zoxide可以运行在Linux、macOS、Windows、BSD、Android等操作系统上,使用方法和cd一样。#zoxide/etc如果经常使用zoxide进入/etc目录,可以只写部分路径,这样经常使用的匹配项会自动找到,只要输入命令:ze,e就会自动匹配为/etc,进入目录。#ze四、fzffzf[6]是一个通用的交互式命令行模糊查找器,方便、无依赖、速度极快。可用于任何列表、文件、历史命令、进程、主机名、书签、gitcommit等。可安装在各种Linux发行版如Debian9+、Ubuntu19.10+、Fedora、ArchLinux、FreeBSD、OpenBSD,openSUSE等#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即可结合find使用fzf替代fd[7]工具,关于fd这里就不详细介绍了!如果使用模糊搜索找到包含debug的文件名,可以执行以下命令,输入debug。#寻找。-类型f|fzf五、ripgrep(rg)ripgrep(rg)[8]是grep命令的替代品,它是一个面向行的搜索工具,在当前目录下递归搜索正则表达式模式,安装于Windows、Linux、macOS被支持。ripgrepGitHub存储库还对同一文件进行了严格的基准测试,一个大文件经过ripgrep、gitgrep、ugrep、TheSilverSearcher、ack、GNUgrep。就时间而言,与搜索时间相比,ripgrep是最快的。除其他外,ripgrep具有默认过滤、更少的错误、Unicode支持、行号和搜索词突出显示。#aptinstallripgrepgrep类似于grep。比如我想搜索所有包含字符串yum的sh文件,可以执行如下命令:#rgyum*.sh9:cd/etc/yum.repos.d/22:yumcleanall23:yummakecache25:echo"本地yum仓库已创建!"除了grep和ripgrep,还有ack,ag[9]关于ack和ag这里就不详细介绍了6.procsprocs[10]是基于Rust语言编写的ps命令的替代品,支持颜色高亮、多列关键字搜索等功能,显示进程相关信息,可安装于Linux、macOS、Windows操作系统。procs安装:ArchLinux#sudopacman-SprocsFedora#sudodnfinstallprocsRPM#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-fancydiff-so-fancy[11]是gitdiff的替代品,它是一个基于node的命令行工具,可以为你的终端呈现漂亮的差异,有助于提高代码质量,有助于发现缺陷快点。diff-so-fancy的安装:#npminstall-gdiff-so-fancydiff-so-fancy的使用:可以直接调用#gitdiff--color|命令行上的diff-so-fancy上面的方式使用diff-so-fancy很简单,但是会输出所有的结果,没有任何区别。我们可以通过设置pager对结果进行分页,将git配置为对所有diff输出使用diff-so-fancy:#gitconfig--globalcore.pager"diff-so-fancy|less--tabs=4-RFX"#gitconfig--globalinteractive.diffFilter"diff-so-fancy--patch"配置diff-so-fancy作为Git的默认差异工具。每次执行gitdiff,都会输出它的执行结果。八、deltadelta[12]是一个用于git、diff和grep输出的语法高亮分页器,它允许对diff的布局和样式进行大量更改。delta的特点:使用颜色主题突出显示语言语法语法突出显示grep从rg、gitgrep、grep等输出带换行的并排视图支持显示行号支持合并冲突显示N键绑定移动代码大差异中的文件之间可以直接从差异中复制delta安装:delta支持在ArchLinux、Fedora、FreeBSD、OpenSUSE、Debian/Ubuntu、Windows等上安装。请参考delta[13]用户手册的安装部分。九、mcflyMcfly[14]是ctrl+r的替代品,主要用于查找Shell操作记录。mcfly的特点:绑定ctrl+r开始全屏反向历史搜索用Rust编写,用于快速和安全的搜索输入%以匹配任意数量的字符维护正常的shell历史文件,以便随时停止McFly支持来自McFly数据库和清除Shell历史文件中任何历史项的操作十.choosechoose[15]是cut[16]命令的替代品,用于显示行的指定部分和删除文件中的指定字段。cut常用于显示文件内容,类似于type命令。选择的特点:简洁的字段,简单的语法,类似Python的列表切片从行尾开始的负索引可选的开始/结束索引零索引反向范围对于足够长的输入比cut快一点,比awk快得多使用Rust的正则表达式语法的正则表达式字段分隔符切例写法:#cat2022.txt|cut-d""-f1or#cut-d""-f12022.txtchoose写大小写:#cat2022.txt|choose1or#choose1-i2022.txt十一、httpiehttpie[17]是curl的替代品,一个命令行HTTP客户端。httpie的目标是使CLI与Web服务的交互尽可能人性化,用于测试、调试以及与API和HTTP服务器的一般交互,允许http和https命令使用简单的语法创建和发送任意HTTP请求,以及提供格式化和彩色输出的能力。CurlPUT请求示例编写:#curl-XPUT-dhello=worldexample.comhttpiePUT请求示例编写:#httpPUTexample.comhello=world自定义HTTP方法、HTTP标头和JSON数据:#httpPUTpie。dev/putX-API-Token:123name=John离线模式下不发送构建打印请求:#http--offlinepie.dev/posthello=offline十二、curliecurlie[18]和httpie是类似的项目,curlie增加httpie的易用性而不影响其功能和性能。所有curl选项的语法和输出格式均来自httpie。如果你喜欢httpie的界面,但不喜欢curl的特性,那么curlie是最好的选择。curlie和httpie的区别:Curlie和curl很像,但是和httpie不同的是,文件头是用stderr写的,而不是用stdout写的;输出没有缓冲,所有格式化都是动态完成的,可以方便地调试流数据;使用curl选项打印curlie的执行curl命令;curlie的语法:#curlie[CURL_OPTIONS...][METHOD]URL[ITEM[ITEM]]curlie的简单获取:#curliehttpbin.org/headers自定义方法、标头和JSON数据:#curlie-vPUThttpbin。org/status/201X-API-Token:123name=John13,xhxh[19]是一个用于发送HTTP请求的友好且快速的工具。与httpie相比,它主要提高了性能,作为单个静态链接二进制文件提供,易于安装,支持HTTP/2,使用curl标志内置到curl命令的转换,可以以备忘单样式输出简短的帮助消息。xh语法:#xh[OPTIONS]<[METHOD]URL>[--][REQUEST_ITEM]...xh示例:#发送GET请求xhhttpbin.org/json#发送POST请求,请求体{"name":"ahmed","age":24}xhhttpbin.org/postname=ahmedage:=24#发送带有查询字符串id=5&sort=true的GET请求xhgethttpbin.org/jsonid==5sort==true#发送一个GET请求,并包含一个名为x-api-key的header,值为:66666xhgethttpbin.org/jsonx-api-key:66666#发送一个PUT请求,并将结果通过管道传递给lessxhputhttpbin.org/putid:=49age:=24|less#下载并保存到test.jsonxh-dhttpbin.org/json-otest.json#requestwithcustomuseragentxhhttpbin.org/getuser-agent:foobar十四、dogdog[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而不是UDPdogexample.netMX@IPAddressx.x.x.x-T关于dog的安装、查询选项、发送选项、协议选项、输出选项,请参考dog文档。