编程
5个你可能会忽略的有用命令行工具
不可否认,好的命令行工具可给开发人员带来好处。这篇文章,正如标题所说的那样,将为大家介绍5款超棒的命令行工具。
释怀 2016/03/16
编程
不可否认,好的命令行工具可给开发人员带来好处。这篇文章,正如标题所说的那样,将为大家介绍5款超棒的命令行工具。
释怀 2016/03/16
1.Z
OK,但这是怎么一回事呢?好吧,Z可以让你快速从文件夹跳转到文件夹,而无需费心编写完整的绝对或相对路径。为了实现这一目标,它记录了所有你访问的文件夹,然后基于上次使用的频率和时间将它们排名。因此,所有你需要做的是键入 z part/of/path然后敲回车。通过这种方式,Z就会自动引导你到排名最高的匹配。
要安装Z,可以下载 z.sh ,然后在~/.zshrc或~/.bashrc中获取资源,如果你依然不能必然跳转到ZSH的话。下面着手正常流,cd-所有地方,这样就可以了!
另外,如果你使用 oh-my-zsh 框架,那么只需在~/.zshrc的插件列表添加它。
$ vim ~/.zshrc plugins=(brew git mercurial mvn osx sbt scala vi-mode z)
默认情况下,Z在~/.z中存储数据,下面是我在删除之后稍微移动的内容。打印数据后,你可以看到我通过指定一小部分的路径转移到2个不同的文件夹,不考虑当前文件夹。请注意该目录名是用一种不区分大小写的方式匹配中间字的——非常方便!
总而言之,我强烈推荐大家花时间去了解这个伟大的工具,无论你的背景,兴趣和使用案例是什么。
2.youtube-dl
我们要介绍的第二个优秀工具是youtube-dl。这是一个跨平台的工具,允许你下载YouTube视频。最简单的安装方法是通过Homebrew或pip,如下图所示。其它下载选项可以在上面的链接中找到。
$ brew install youtube-dl $ sudo pip install --upgrade youtube_dl
有时,出于某种原因,你可能需要下载用于存档目的的演示。或者,想像你在一个偏远的山村度过周末,没有互联网,但你又真的想看到最新的虚拟JUG会话。那么一个简单的youtube-dl https://youtu.be/PQPvZkA-6bg 足以满足这一点。
其他需要关注的好东西:
3.shellcheck
我详细任何在命令行上花费了显著一段时间得人,都会想要使用shell脚本自动执行任务。Bash本身就因其误区众多而闻名,甚至先高级脚本编写者也会不时地碰到意想不到的事情。不幸的是,对于我们来说,shell脚本没有撤消按钮,“意外”很可能是就是“灾难”的代名词。
长话短说:我们身边有一个非常宝贵的工具可保护我们避免这一点,shellcheck!从本质上讲,它是一个可以告诉你你的脚本哪里出错的静态分析器。
你可以通过选择程序包管理器安装shellcheck:Homebrew, Pacman, APT——从源代码构建它,或在你的浏览器中运行它。
$ brew install shellcheck # pacman -S shellcheck # apt-get install shellcheck
要运行它,只需执行shellcheck my-script,它会读取shebang (#!)指令来决定是否作为sh, bash或ksh分析。
正如上面例子中显示的输出那样,有一个语法错误,它用红色标记:是关于空格的问题。然而,shellcheck能做的不仅仅如此。它用黄色来对潜在的灾难性事件作出警告:要是toDelete是空的呢?当然,这个例子是有点假,没有–no-preserve-root,因此应该不会有分解为/的语句损坏,但我的观点仍然有效!最后,在绿色的语句中你会发现未来潜在事故中最不容忽视的常规警告。
最后关于shellcheck还要补充的一句话是:使用整齐的Syntastic Vim插件在Vim内部本身集成工具,配置什么时候应该允许,以及应该如何运行等。上面生成输出的同一个脚本中现在从我们最喜欢的 文本编辑器 中看起来是下面这样的。
4.multitail
对于系统管理员和开发运营人员:停止使用 tail -f,并开始使用multitail。这个最终的日志查看器允许你做一些非常酷的事情,非常值得一提。或者你可以要么使用tmux 或screen 来获取in-shell复用,或只使用一个现代化的终端模拟器让你可以快速做一些事情,例如iTerm2 或Terminator,然而,在这些情况下,你可能会错过下面一些功能。
如何安装:
$ brew install multitail # pacman -S multitail # apt-get install multitail
举一个实际的例子,这里一个窗口截图,我正在通过附加到Tomcat,运行臭名昭著的PetClinic项目来开发JRebel。那时我既需要Tomcat自己的输出,也需要JRebel的输出。注意-CS“为所有的后续文件使用这个颜色方案”,其次是方案名称。
由于两个日志颜色被设置与Apache规则配合良好,接着是日志文件的实际路径。
$ multitail -CS apache "$TOMCAT_HOME/logs/catalina.out" "$HOME/.jrebel/jrebel.log"
5.tree
这篇文章中我们要介绍的最后一个工具是必不可少的tree实用程序。tree能输出一个不错的,结构化的目录树视图,让你直观看到你的数据结构,而不必 ls, cd 或 z所有地方。如果它没有预装在你最喜欢的*NIX中,那么可以通过你喜欢的软件包管理获取。
$ brew install tree # pacman -S tree # apt-get install tree
在最基本的形式中,你只需输入 $ tree打印当前文件夹的结构。
就个人而言,我更喜欢和别的什么搭配一起用,例如添加一些标记来打印人可读的文件大小,隐藏文件,和一个不错的总文件计数:$ tree -ah --du。
这就是所有我要告诉你的关于tree的内容。它grep输出的时候真的非常方便,而且展现给你一个超棒的文件系统,我敢肯定,你会从第一时间就喜欢上它。
上面这些就是我要介绍的命令行工具,这些工具你乍一看不会觉得会改变你的生活,但是一段时间后,你无法想象不使用它们的情形。事实上,你可能会咒骂你那台破电脑,因为没有安装这些伟大的工具。你最喜欢的命令行工具是什么,欢迎分享在下面的评论中。
来自: http://www.codeceo.com/article/5-command-tools-you-may-overlook.html