美文网首页9.运维互联网科技@IT·互联网
命令行里打 cd 简直是浪费生命

命令行里打 cd 简直是浪费生命

作者: 极小光 | 来源:发表于2018-04-12 15:11 被阅读1836次

简评:作为工程师,你在命令行下最常打的命令无非就是 cd 与 ls。这些年你浪费了多少时间?
作为一个程序员或者在 shell 中花费大量时间的人,你可能会经常以一种低效率的方式在目录中来回移动,特别是每天经常访问相同目录。

比如像这样:

当然你可能用的稍微熟练点了,用 Tab 能省不少事,像这样:

不错!你大约节省了 20 次的输入,值得称赞。你也会使用 mkdir 创建新目录并直接进入新建目录(cd !$),你也能记住 project 的目录,你就不用老 ls 来寻找文件。不过现实问题,人不是电脑,我们能记住一两个,但不可能记住全部,我们的效率不够高。

有没有想过这种方式?

现在只需要 j d(或者 j dev、j develop)就可以跳转到 ~/Develop 目录,j p 就可以跳转单 ~/Develop/project。效率大幅提高。

看看对比:

这是如何实现的?

用 AutoJump 可以做到。(GitHub 地址:wting/autojump

根据官方介绍,它能以更快的方式浏览系统文件,这并不准确,或者说很谦虚。据我完全估计,用 AutoJump 至少让我省了 100 个小时,最起码省了这么多。

Autojump 是如何工作的?

看看这两个命令:

它们的作用相同。AutoJump 会记住 cd 命令并用 j 来进入所有的目录。更重要的是 AutoJump 可以模糊匹配。意味着只需要提供一个字母,就可以匹配到之前访问过的该首字母的目录。

如果有两个以 p 为开头的目录怎么办?

这就是有趣的地方。

当你第一次输入 cd directory_name,AutoJump 会记录该目录并成为绝对路径,并将其指定权重为 10.0 分。

举个例子:

然后输入 j -s 命令可以看到(s 代表统计信息):

如果你再次 cd/var 后,j -s,看看会发生什么?

对,这个路径的权重增加了。比如看看我电脑上的 j -s,我平时都在干什么你就会一目了然:

我第一个campus 和第四个 SodeSchool 都包含字母 c,那么 AutoJump 应该县跳转到哪个目录呢?

由于 campus 权重低,所以会 j c 会跳到 CodeSchool 目录,如果重复 j c 命令,就会跳转到 campus 目录。

如果你不喜欢 AutoJump 自动设置的路径,你可以自己设置匹配:

你可以设置后面的数字, j c _4 就是 j c 跳转到第四个目录。

高级功能

  • jc(注意没空格 不是上面的 j c)仅在子目录下跳转,非常适合寻找被嵌套的 log
  • jo 会在操作系统下打开匹配的目录。
  • j -i 增加当前目录权重
  • j -d 减少当前目录权重
  • j --purge 消除所有的权重

安装 AutoJump

AutoJump 支持:

  • Python v2.6+(除了 3.2 版本)
  • 支持的 shell:
  • bash v4.0+
  • zsh
  • fish
  • tcsh (experimental)
  • clink (Windows, experimental)

你可以通过许多 Linux 软件包安装器来安装。对于 MacOS 我推荐 Homebrew 的 brew install autojump,真的超简单方便。

把 Autojump 放在.bash_profile 或者 .szhrc 下,输入命令行:

[ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh

它会自动检查脚本是否可用并加载到 shell 中。

你也可以克隆 git 仓库,手动安装。不管怎么说,它都是一个非常简单的、稳定的工具。

我用了它的这些年里,从来没有后悔过。


下载地址:wting/autojump(GitHub)
推荐阅读:用 iPad Pro 作为我的主力工作电脑

相关文章

  • 命令行里打 cd 简直是浪费生命

    简评:作为工程师,你在命令行下最常打的命令无非就是 cd 与 ls。这些年你浪费了多少时间? 作为一个程序员或者在...

  • 命令行里打 cd 简直是浪费生命

    简评:作为工程师,你在命令行下最常打的命令无非就是 cd 与 ls。这些年你浪费了多少时间?作为一个程序员或者在 ...

  • 自省

    感觉自己每天做了一些稀松平常的事情,简直是在浪费生命。

  • Linux 命令行学习

    高效命令行 命令行需要基本单词 基本概念 没有盘符, 整个硬盘就是 "/" cd / cd:.png 文件、目录、...

  • 前端学习笔记_环境与markdown

    什么是命令行? 常见命令 例如:cd ~ 可以回到用户家目录 cd - 切换最近的目录命令行参考 Node环境 N...

  • 命令行笔记

    命令行查看目录 返回 输出 改变目录: cd ==>change directory 返回目录: cd ../....

  • androidstudio uiautomatorviewer

    命令行切换到sdk目录 cd /Users/admin/Library/Android/sdk ls cd too...

  • Node连接数据库

    MongoDB cnpm install mongodbMongodb: 命令行cd 进入 D:\Program ...

  • CocoaPods使用及创建私有pod库

    CocoaPods使用 新建项目test 用命令行cd到项目所在目录下,执行 cd ~/Desktop/JianS...

  • iOS 为项目添加pod依赖

    一)新建项目之后,通过命令行cd 到当前项目路径 cd targetPath 二)通过vim Podfile 创建...

网友评论

  • 仍是少年呀:alias 了解一下
  • 3ldy:vscode 有history啊,还用sublime吗?😁
  • helloKimmy:更好的管理方式是:建立一个bats目录,为常用的目录写一个批处理。还有就是为工作目录写环境变量,再与工作软件关联。当然,对于新手来说,多练练基础命令,虽然工作时更疲劳一些,但是上手会更快一些,而且掌握的也会更扎实一些。:smile::smile::smile:
  • 2625K:还可以,还有一个插件z 感觉也挺好用
  • 365284eb103a:文章中有些笔误,快改哦:smile::smile::smile:
  • lemonTreeTop:建个快捷方式放常用目录,cd直接就到了
  • 56ac6cd6cf58:对服务器经常操作,环境和目录肯定非常了解,如果再配置这个东西会给脑袋加了一个优先线程,浪费CPU呀😊
  • DreamOver:对于新手小白来说,还是cd更方便
  • developerAbble:谢谢,很好用
  • 2e8e62aa9316:1.不是内置的推广有困难,同样需要学习成本,cd可能更傻瓜普遍
    2.裁剪的系统可能还无法内置
  • zephryu:唯一的问题是..需要Python.....不是所有的服务器都有Python需求呀..
  • 八进制:头像可以是gif了?
  • f35532a1ce5b:可以的,但是需要手动装就比较麻烦了。
  • 羽翼小球:这个……我没办法在我所以的服务器都安装一个。要是内置的命令就好了:sweat:
  • 四条眉毛陆小鸡:快是快了,但是借助它确定不会丢失掉更多的手动熟练的机会?
    Vine_Finer:@dapeng_zju 主要是不通用,这都是他自己定义的规则。首先你要读这个插件的规范。
    a253e7f9292b:@你是我的小伙伴可以吗 手动熟练什么?cd吗

本文标题:命令行里打 cd 简直是浪费生命

本文链接:https://www.haomeiwen.com/subject/kblahftx.html