前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux 或 mac 命令行更优雅的使用 curl 命令,以及命令行常用的快捷键说明

linux 或 mac 命令行更优雅的使用 curl 命令,以及命令行常用的快捷键说明

作者头像
FungLeo
发布2020-04-30 17:11:17
5.8K0
发布2020-04-30 17:11:17
举报

linux 或 mac 命令行更优雅的使用 curl 命令,以及命令行常用的快捷键说明

最近看了一下我的博客的访问统计,作为一个前端博主,没有想到我阅读量最高的一篇博文居然是介绍如何在命令行使用 curl 命令的文章《curl 模拟 GET\POST 请求,以及 curl post 上传文件》。

这实在是太让我惊讶了,看来大家对于命令行的使用还是有很多需求的。因此,我这里这篇文章,如果能让各位看官有所收获,不要忘记给我点赞哦!

如何在 curl 命令中更优雅的查看返回的 json 数据?

书接前文,我在上面那篇文章中,介绍了如何用 curl 命令来模拟各种接口请求。但是,通过命令行返回的接口数据还是一坨,没有十分优雅的展示。我相信这也会影响各位看官的使用体验,毕竟没有 postman 来得优雅。没关系,这里我介绍一个工具 jq

安装 jq 工具

MacOS 用户在命令行输入如下命令安装

代码语言:javascript
复制
brew install jq

Ubuntu\Debian\Deepin 命令

代码语言:javascript
复制
sudo apt install jq

CentOS\RedHat 命令

代码语言:javascript
复制
sudo yum install jq

Arch 命令

代码语言:javascript
复制
sudo pacman -S jq

curl 上传多个文件、设置 cookies 命令

代码语言:javascript
复制
curl http://localhost:3000/api/v1/upload -F 'file=@/Users/fungleo/Downloads/空心五角星.png' -F 'file=@/Users/fungleo/Downloads/空心五角星.png' -H 'Cookie:token=68fed7e53110f7c4e095d932274a56ea'

如上,这是一个上传多个文件的命令,和上传单个文件是没有什么太大区别的,就是直接写多个文件即可。设置 cookies 和设置普通的 header 并没有什么太大的区别,如果需要设置多个 cookie 值,可以用 ; 号进行分割。

如上,我们来看下终端的返回结果:

curl 上传多个文件、设置 cookies 命令
curl 上传多个文件、设置 cookies 命令

可以看到,顺利上传多个文件,并且返回了一坨东西。下面,我们就修改上面的命令,看看更优雅的返回结果。

代码语言:javascript
复制
curl http://localhost:3000/api/v1/upload -F 'file=@/Users/fungleo/Downloads/空心五角星.png' -F 'file=@/Users/fungleo/Downloads/空心五角星.png' -H 'Cookie:token=68fed7e53110f7c4e095d932274a56ea' -s | jq

在原来的命令后面,加上 -s | jq 后缀。

curl 上传多个文件、设置 cookies 命令 使用 jq 更优雅的展示
curl 上传多个文件、设置 cookies 命令 使用 jq 更优雅的展示

如上,这个命令行的返回结果,就十分优雅了!我相信各位看官看到这样的终端输出,心情应该是十分愉悦的。

-s 说明,这是表示 curl 命令输出结果采用最简单的模式,否则,会输出网络传输的结果,如下图:

-s curl 说明
-s curl 说明

| 说明,这是管道的意思。其用于将前一个命令的结果,作为后一个命令的参数执行。更多内容请自行搜索 linux 管道

终端下的各种快捷键

通过上面的操作,确实可以更优雅的查看接口的返回结果了。但是,如果我们需要修改命令中的某些参数,用方向键进行来来回回的处理,我相信各位看官还是想要杀人的。。。。没关系,这里我就补充一些快捷键的操作,来帮助大家更加愉悦的使用命令行工具。

ctrl + r 查找历史命令记录

当我们在命令行执行了某条命令之后,实际上这条命令就已经被系统记录下来了。下次想要再调用这个命令,可以方便的通过 ctrl + r 快捷键来进行查找。

在命令行中使用 ctrl + r 激活搜索,然后输入关键词。如下图所示:(录制gif 图片累求死我了,各位看官点赞留言呀!

ctrl + r 查找历史命令记录
ctrl + r 查找历史命令记录

如果搜索出来的结果有多条,当前的这条不是你想要的,继续按 ctrl + r 快捷键,可以切换搜索结果,如下图所示:

ctrl + r 查找历史命令记录
ctrl + r 查找历史命令记录

可以看到,在不断的切换搜索结果了。

确定了某条历史执行命令之后,可以按 回车键 立即执行该命令,也可以按一下 ➡️ 右方向键,然后退出搜索模式,进而修改这条命令,然后继续执行。

通过 ctrl + r 快捷键,可以非常方便的让我们重复调试某些接口。

ctrl + a 与 ctrl + e 快速将光标指向到命令的首尾

一般情况下,光标会在命令的最后面,想到前面去,我相信各位看官的第一反应是方向键。没错啦,不过我们有更快的方式。

ctrl + a 将光标定位到命令最前面。 ctrl + e 将光标定位到命令最后面。

ctrl + a 与 ctrl + e 快速将光标指向到命令的首尾
ctrl + a 与 ctrl + e 快速将光标指向到命令的首尾

alt + b 与 alt + f 快速将光标调整到合适的位置

如果只能到首尾,那也是麻烦得紧,所以,这两个快捷键,可以更好的到达你想要的地方。

alt + b 以单词为单位,向前移动光标。 alt + f 以单词为单位,向后移动光标。

alt + b 与 alt + f 快速将光标调整到合适的位置
alt + b 与 alt + f 快速将光标调整到合适的位置

ctrl + b 与 ctrl + f 以字母为单位移动光标

其实,这两个与左右方向键是一样一样的。但是,使用者俩快捷键,可以避免将手移动到主键盘以外。

这个就不放图了,相信大家体验一下就知道了。

ctrl + w 向前以单词为单位删除内容

用退格键只能一个字母一个字母的删除,那实在是麻烦得紧。但使用这个快捷键,就十分方便了。使用体验如下图所示:

ctrl + w 向前以单词为单位删除内容
ctrl + w 向前以单词为单位删除内容

alt + d 向后以单词为单位删除内容

上面的命令是往前删除,这个命令是往后删除。使用体验如下图所示:

alt + d 向后以单词为单位删除内容
alt + d 向后以单词为单位删除内容

通过上面的各种快捷键,我相信大家可以非常舒服、优雅的使用命令行来进行各种命令操作了。一次学不会没关系,收藏一下这篇博文,多看几次就会了哦!

ctrl + l 清空当前命令行

当命令行终端界面里面进行了多次操作之后,一定是很多的信息都在这里,如果你和我一样是强迫症,不愿意看到这些怎么办?

最土的方法是关掉,然后再开一个,不过这个方法非常 2 *^_^*

使用 ctrl + L 快捷键,可以迅速清空当前终端,还你一篇清爽哦!

ctrl + l 清空当前命令行
ctrl + l 清空当前命令行

ctrl + c 终止操作

ctrl + c 快捷键可以终止已经执行单未执行完成的命令,也可以终止你现在正在输入但还没有执行的命令。

这个不放图了。相信你试验一下就好了。

与 chrome 浏览器 配合,快速调试某接口

我们前端一般在浏览器中调试我们的开发项目,当遇到某个接口返回数据与我们预期不一致时,在浏览器控制台中,我们可以看到具体的返回结果,如下图所示

浏览器控制台
浏览器控制台

当接口修复后,想要观察结果,通常是通过刷新页面。如果是简单的操作还好,如果是需要多个步骤才能到达的页面,我相信你的心情会很不好。

这个时候,这个技巧就十分有帮助了!我们在有问题的接口名上右击,然后点击 Copy,再点击 Copy as cURL 就可以把这个请求转化为 curl 命令,然后到命令行终端中执行即可。

与 chrome 浏览器 配合,快速调试某接口
与 chrome 浏览器 配合,快速调试某接口

终端中粘贴命令

上面说到了在终端中粘贴,估计不熟悉命令行的朋友会尝试执行 ctrl + v 命令,这是不对的。正确的命令如下:

MacOS Command + v, 也就是 ⌘ + v

Linux ctrl + shift + v

当然,在 linux 各种不同的终端工具中,有一些是可以自定义快捷键的,具体要根据不同的发行版以及不同的终端工具来定。我上面给的命令一般是默认的快捷键。

好的,如果你熟练掌握了以上的各种快捷键,以及 jq 的用法,我相信你一定可以十分畅爽、愉悦、优雅的实名命令行调试各种接口了哦!祝各位看官开心!

码字不易,希望各位看官多多点赞,多多收藏,有疑问或建议,欢迎在评论区中与我讨论哦!我这篇博文,我觉得还是很有收藏的必要性的哦!

我对 Windows 系统的 CMD 工具以及新出的 PowerShell 完全陌生,所以如果在这俩终端工具上进行尝试,我不能保证我上文的内容是正确的哦!

本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • linux 或 mac 命令行更优雅的使用 curl 命令,以及命令行常用的快捷键说明
    • 如何在 curl 命令中更优雅的查看返回的 json 数据?
      • 安装 jq 工具
      • curl 上传多个文件、设置 cookies 命令
    • 终端下的各种快捷键
      • ctrl + r 查找历史命令记录
      • ctrl + a 与 ctrl + e 快速将光标指向到命令的首尾
      • alt + b 与 alt + f 快速将光标调整到合适的位置
      • ctrl + b 与 ctrl + f 以字母为单位移动光标
      • ctrl + w 向前以单词为单位删除内容
      • alt + d 向后以单词为单位删除内容
      • ctrl + l 清空当前命令行
      • ctrl + c 终止操作
    • 与 chrome 浏览器 配合,快速调试某接口
      • 终端中粘贴命令
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档