太强了!这款命令行工具可以在 Linux 文件目录快速自动跳转

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了太强了!这款命令行工具可以在 Linux 文件目录快速自动跳转相关的知识,希望对你有一定的参考价值。

在 Linux 终端下,跳转目录有时觉得会很麻烦,需要敲很长的命令路径才能进入指定的目录。

autojump 是提供了一种快速进行文件目录自动跳转的命令行工具。它会将命令行最常用的目录记录保存到数据库里,所以在使用它时,必须先访问目录,然后才能跳转到所要进入的目录。

它会根据访问的目录频次添加不同的权重,访问的目录越频繁,权重越高,排名就越靠前,跳转的命令就越简洁。

autojump 支持在 Linux、OS X、Windows、BSD 平台进行安装,其安装方式支持源码、Debian 和衍生工具、ArchLinux / Gentoo / openSUSE / RedHat及其衍生工具、Homebrew / MacPorts 方式安装。

安装 autojump

安装 autojump 的前提,需要准备 Python v2.6+ 或 Python v3.3+ 的环境。

我这是 CentOS 7.5 的环境,默认是安装过 Python2,如果您的操作系统没有 Python 环境,我这为大家准备了一个安装 Python3 的脚本,只需将 2 个 tar 包和脚本放置同一个目录下,执行脚本即可安装。

sh python3_install.sh

从 GitHub 将下载的 autojump 压缩包进行解压

unzip autojump-master.zip

然后可安装或卸载

cd autojump-master
./install.py 或 ./uninstall.py

由于 Linux 下 Shell 启动会自动读取~/.bashrc文件,执行安装过程中,出现如下问题时,需手动添加如下行内容至~/.bashrc文件中。

vim ~/.bashrc

[[ -s /root/.autojump/etc/profile.d/autojump.sh ]] && source /root/.autojump/etc/profile.d/autojump.sh

添加完毕后,执行命令:source ~/.bashrc,生效即可。

安装完成后,执行命令:autojump --versionj -v,查看 autojump 版本。

# autojump --version
autojump v22.5.3

使用 autojump

autojump 的使用方法:

autojump [-h] [-a DIRECTORY] [-i [WEIGHT]] [-d [WEIGHT]] [--complete]
                [--purge] [-s] [-v]
                [DIRECTORY [DIRECTORY ...]]

autojump 的可选参数:

  • -h:显示帮助信息并退出
  • -a DIRECTORY:添加路径
  • -i [WEIGHT]:增加当前目录权重
  • -d [WEIGHT]:降低当前目录权重
  • --complete:用于 Tab 补全
  • --purge:删除数据库中不存在的路径
  • -s:显示数据库条目及其权重
  • -v:显示版本信息

j 是 autojump 命令的缩写,任何可以用 autojump 的地方都可以以j命令替代。

**用法 1:**跳转到包含 autojump 字符串的目录

# j autojump
/root/autojump-master

用法 2:当某一个字符串的目录下包含多个不同名称的子目录时,无需按第一种输入字符串的方式进行跳转目录,可通过jc 子目录名称可跳转至子目录

jc bin
/root/autojump-master/bin

用法 3:打开包含某个字符串目录的文件管理器

jo music

用法 4:打开包含某个字符串目录的子目录文件管理器

jco images

用法 3 和 用法 4,是可以从命令行打开一个文件管理器,而不是跳转到一个目录。这个前提必须是安装有 Linux 桌面环境,例如:GNOME、KDE 等。若是通过第三方终端连接工具连的服务器,使用时会为不可用。

用法 5:若有两个目录包含相同字符串

20.0:	/opt/one/first
22.4:	/opt/two/first

那么j fi会跳转到权重最大的目录

# j fi
/opt/two/first

也可以通过j o fi跳转到权重相对较小的目录

# j o fi
/opt/one/first

当如果忘记目录的全名或手误输错,可按 Tab 键自动识别补全,同时也会自动添加下划线。

# j ptython__1__/opt/python 
/opt/python

在跳转过程中出现不能跳转的情况,需要在安装好 autojump 之后确认是否访问过指定的目录或执行命令:j -s查看数据库中历史访问过的目录。

同时,j -s也是可以用来查看权重。当权重越高,说明目录使用的越频繁。

查看每个文件夹的权重和全部文件夹计算得出的总权重的统计数据,文件夹的权重代表在这个文件夹中所花的总时间,文件夹权重为该列表中目录的数字。

# j -s
10.0:	/mnt/Packages
14.1:	/opt/two
14.1:	/opt/one
22.4:	/opt/python
24.5:	/root/.local/share/autojump
24.5:	/opt
24.5:	/opt/two/first
26.5:	/opt/one/first
28.3:	/mnt
41.2:	/root/autojump-master
43.6:	/root/autojump-master/bin
________________________________________

273:	 total weight
11:	 number of entries
22.36:	 current directory weight

data:	 /root/.local/share/autojump/autojump.txt

autojump 存储运行日志及错误日志存放至~/.local/share/autojump/,切记不要重写这些文件,否则将会失去所有的统计状态结果。

# ls -l ~/.local/share/autojump/
-rw-------. 1 root root 305 3月  16 16:14 autojump.txt
-rw-------. 1 root root  27 3月  16 11:16 autojump.txt.bak

运用了 autojump 上述使用方法之外,目前有发现如下三点:

1、autojump 只能跳转到已经用cd进入过的目录,无法跳转到没有用cd进入过的目录。即使用 cd 进入过一个特定的目录才会被记录到 autojump 的数据库中,才可以使用 autojump 进行跳转。

2、自动跳转不支持-开头的目录。

3、在 BASH Shell 中,autojump 是通过修改$PROMPT_COMMAND环境变量跟踪目录的行为,所以建议不要重写$PROMPT_COMMAND环境变量。若需要添加其他的命令到现$PROMPT_COMMAND环境变量中,需添加到$PROMPT_COMMAND环境变量的最后。

推荐阅读:

7 款可替代 top 命令的工具!

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

11 款可替代 top 命令的工具!

5 款可替代 du 命令的工具!

10 款你不知道的 Linux 环境下的替代工具!

以上就是今天所要分享的全部内容了。

如果你觉得这篇文章对你有点用的话,为本文点个赞留个言或者转发一下,让更多的朋友看到,因为这将是我持续输出更多优质文章的最强动力!

这款国产API工具也太强了吧!让我放弃了postman

为什么弃用postman转用Eolink?

程序员在接口开发完成后都通常需要自测,当返回结果根据符合预期时,则表示代表接口可用。自己以前用的是postman来进行接口测试,但postman只能进行接口测试,有局限性、很多场景不能满足我的需求,比如无法在collections之间简单移动 API、管理Collections时候也无法创建文件夹管理多个、同步数据功能也经常不好用。
刚好前段时间偶然接触到了一款不错的API工具、这款产品我自己也用了一段时间,总体来说是非常适合大家,不管是开发,测试,运维等都觉得不错。给大家看看我的实际使用效果。

可以对比Eolink和Postman主要功能列表,Eolink的优势就体现出来了。

自己也看了下官方对Eolink这款产品的介绍,产品的主要功能体现在 API接口调试、Mock功能、自动化测试、团队协作和交互上、结合了API 设计、文档管理、自动化测试、监控、研发管理和团队协作,还集成 Gitlab、钉钉、企业微信、Jenkins、飞书等平台,简直就是一个六边形战士,没有任何短板!最重要的是,Eolink在商用方面已全面领先!

目前产品免费,可使用web版同时也可下载桌面端,Windows、Linux 、Mac平台均支持使用!

体验地址Eolink-一体化API研发管理平台

话不多说,直接给大家介绍几个自己常用的实际功能点。

实战体验功能1:多平台一键导入数据源

Eolink提供了一键导入功能,我自己将以前用postman测试的接口文档从postman导出为json格式

在Eolink里面项目–导入–选择导入数据类型&文件即可使用,不仅支持postman,同时也可以快速将Swagger、RAP、YAPI等产品内的数据快速迁移到Eolink中。

选择需要导入的JSON文件之后会在右侧弹出一个任务列表队列,可以查看导入的状态和下载。

导入之后在项目根目录就可以看见从postman导入的Json格式的标准接口信息,在Eolink加载渲染出来了,点击接口就可以进行功能测试或者分享链接给前端小伙伴进行接口联调啦。

实战体验功能2:基于IDEA插件上传API文档同步

Eolink支持IDEA插件的方式,可以将JAVA方法解析成API文档,能够分析方法出入参自动生成注释,并且可将API信息上传到Eolink服务上。 目前插件已经进驻IDEA市场,在IDEA插件市场中搜索“apikit”,找到“Eolink ApiKit”插件安装即可。

需要注意的是:目前支持2020年3月份至今所有版本的IDEA

我这边已经安装了,就不再重新安装了,安装完整之后需要重启IDEA,重启完成后需要在Preferences中选择Eolink Setting配置上传参数。

参数获取方式:SpaceKey和ProjectHashKey参数可以通过Eolink web版url路径中获取。

获取后需要在IDEA中进行如下配置

配置好之后就可以在IDEA中进行使用了,这里拿Controller下page接口方法来举例


可以看到方法上面插件生成的注释,其他的信息自己补充就行。

  /**
   * @eo.name page
   * @eo.url /page
   * @eo.method get
   * @eo.request-type formdata
   * @param params
   * @param tousuxinxi
   * @param request
   * @return R
   */
  @RequestMapping("/page")
  public R page(@RequestParam Map<String, Object> params,TousuxinxiEntity tousuxinxi,
HttpServletRequest request)
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("yonghu")) 
   tousuxinxi.setYonghuming((String)request.getSession().getAttribute("username"));

      EntityWrapper<TousuxinxiEntity> ew = new EntityWrapper<TousuxinxiEntity>();
PageUtils page = tousuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tousuxinxi), params), params));

      return R.ok().put("data", page);
  

编写完成之后可以上传到Eolink服务器端


可以看到上传成功了,这里至于为什么没有上传到某一个项目下,我想是因为路径配置的问题,由于时间关系,后面在研究一下,也欢迎大家在评论区交流或告诉我。

体验地址Eolink-一体化API研发管理平台

实战体验功能3:功能全面且简洁API调试页面

在API编辑测试页面,通过手动创建或导入JSON等格式文件自动生成API文档信息,手动创建新建或选择项目目录后填写IP,端口、请求方式、接口基础信息,请求参数等。这里host
IP 端口信息建议配在全局环境里面。

我们可以点击左侧“环境”菜单,在这里设置通用的全局项目环境和参数

设置好之后在API接口编辑调用页面,点击小眼睛右侧输入框来进行切换。点击小眼睛可以查看当前全局变量和环境详细信息,选择全局配置的环境路径就行。

点击发送按钮即可查看接口调试返回的结果集

实战体验功能4:接口测试用例分析

在API编辑测试用例页面,这里可以对API接口一键发起测试,而且还拥有专门的测试编辑器可以直接编写 JSON、XML 数据,还可以支持自动生成测试数据,能够自定义请求参数等。

设置完成之后返回列表点击批量测试可以看见测结果

这里未通过是因为在家不能访问公司网络导致的

这是测试成功的例子,这里可以看见具体返回的状态、耗时以及通过率和执行次数以及其他指标。

小结

使用Eolink一段时间后,自己觉得不错,也把这款好用的API开发测试工具分享给了前端的小伙伴一起使用,现在我们的项目都使用Eolink来做接口测试和管理,整体反馈还是不错的。省去了对传统接口文档的维护编写,减少了一定的工作量和沟通成本,对于提高团队协作也起到了帮助。

最主要的是很多开发测试人员都在用,有专门的Eolink技术交流群,群里有很多热心的老师,遇到一些疑问可以直接在群里问、也有Eolink专业技术支持帮助,这个必须点个赞。

体验地址Eolink-一体化API研发管理平台

以上是关于太强了!这款命令行工具可以在 Linux 文件目录快速自动跳转的主要内容,如果未能解决你的问题,请参考以下文章

再见XShell,这款国人开源的终端命令行工具更nice!

这款国产API工具也太强了吧!让我放弃了postman

这款国产API工具也太强了吧!让我放弃了postman

这款国产API神器工具也太强了吧...让我放弃了postman

这款国产API神器工具也太强了吧...让我放弃了postman

Nmon命令行:Linux系统性能的监测利器