5 款新型 Linux 命令行工具,实用!

$ 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的全称是“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文件中查找容器的名称:

{

“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中添加一些其他选项来限制查询结果,并通过正则表达式操作找到容器的名称。在使用jq获得所需结果时,你只需要使用一个模拟向下导航数据结构的表达式,如下所示:

$ jq ‘.spec.containers[].name’ k8s-pod.json

“busybox”

“nginx”

该命令会返回两个容器的名称。如果你只想查看第二个容器的名称,则可以在表达式中添加数组元素索引:

$ jq ‘.spec.containers[1].name’ k8s-pod.json

“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命令如下所示:

  f i n d   .   − i n a m e   " ∗ . m d "  find . -iname "*.md"  find . iname ".md" find . -iname “*.md”

而如下fd搜索能够返回相同的结果:

$ fd .md

在有些情况下,fd也需要其他选项。例如,如果想让搜索包括隐藏的文件和目录,则必须使用选项-H,而find则不需要。

fd可用于许多Linux发行版。在Fedora中安装fd可使用标准代码库:

$ sudo dnf install fd-find

有关更多信息,请请见fd的GitHub代码库(https://github.com/sharkdp/fd/)。

优秀的替代工具与久经考验的实用程序


尽管我还是习惯使用旧工具,尤其是在远程连接到服务器时,但新的替代工具提供了额外的好处,而且在许多情况下都很有帮助性。特别是帮助我在Linux台式机和笔记本电脑上管理和工作。

你是否使用其他工具来处理工作流程?请在下方留言。另外,关注公众号Java技术栈,在后台回复:面试,可以获取我整理的 Linux 系列面试题和答案,非常齐全。

原文:https://opensource.com/article/20/6/modern-linux-command-line-tools

作者:Ricardo Gerardi

译者:弯月,责编:屠敏

出品:CSDN(ID:CSDNnews)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以点击这里获取!

147994)]
[外链图片转存中…(img-HeCvBKCP-1714121147994)]
[外链图片转存中…(img-WfpjedTz-1714121147994)]
[外链图片转存中…(img-fTNZyS3z-1714121147994)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以点击这里获取!

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值