5个你可能会忽略的有用命令行工具

不可否认,好的命令行工具可给开发人员带来好处。这篇文章,正如标题所说的那样,将为大家介绍5款超棒的命令行工具。

1.Z

  • 一次安装
  • 甚至忘记了它
  • 得益于它的生产力:Z。

OK,但这是怎么一回事呢?好吧,Z可以让你快速从文件夹跳转到文件夹,而无需费心编写完整的绝对或相对路径。为了实现这一目标,它记录了所有你访问的文件夹,然后基于上次使用的频率和时间将它们排名。因此,所有你需要做的是键入 z part/of/path然后敲回车。通过这种方式,Z就会自动引导你到排名最高的匹配。

要安装Z,可以下载 z.sh,然后在~/.zshrc或~/.bashrc中获取资源,如果你依然不能必然跳转到ZSH的话。下面着手正常流,cd-所有地方,这样就可以了!

另外,如果你使用oh-my-zsh框架,那么只需在~/.zshrc的插件列表添加它。


  1. $ vim ~/.zshrc 
  2. plugins=(brew git mercurial mvn osx sbt scala vi-mode z) 

默认情况下,Z在~/.z中存储数据,下面是我在删除之后稍微移动的内容。打印数据后,你可以看到我通过指定一小部分的路径转移到2个不同的文件夹,不考虑当前文件夹。请注意该目录名是用一种不区分大小写的方式匹配中间字的——非常方便!

总而言之,我强烈推荐大家花时间去了解这个伟大的工具,无论你的背景,兴趣和使用案例是什么。

2.youtube-dl

我们要介绍的第二个优秀工具是youtube-dl。这是一个跨平台的工具,允许你下载YouTube视频。最简单的安装方法是通过Homebrew或pip,如下图所示。其它下载选项可以在上面的链接中找到。


  1. $ brew install youtube-dl 
  2. $ sudo pip install --upgrade youtube_dl 

有时,出于某种原因,你可能需要下载用于存档目的的演示。或者,想像你在一个偏远的山村度过周末,没有互联网,但你又真的想看到最新的虚拟JUG会话。那么一个简单的youtube-dl https://youtu.be/PQPvZkA-6bg足以满足这一点。

其他需要关注的好东西:

  • 并不限制你只能从Youtube下载,例如还Vimeo。
  • 只需指向YouTube播放列表,youtube-dl就会聪明地自动下载完整列表。
  • 如示例图像显示,youtube-dl很乐意遵循缩写的URL为你服务。
  • 默认情况下,将会下载最高清的视频,但一个简单的youtube-dl -f $FORMAT $LINK语句将覆盖这一点。使用 -F 标记可让你发现可用的格式。
  • 真正托管的其它选项被很好的记录,并可通过 man youtube-dl轻易访问。

3.shellcheck

我详细任何在命令行上花费了显著一段时间得人,都会想要使用shell脚本自动执行任务。Bash本身就因其误区众多而闻名,甚至先高级脚本编写者
也会不时地碰到意想不到的事情。不幸的是,对于我们来说,shell脚本没有撤消按钮,“意外”很可能是就是“灾难”的代名词。

长话短说:我们身边有一个非常宝贵的工具可保护我们避免这一点,shellcheck!从本质上讲,它是一个可以告诉你你的脚本哪里出错的静态分析器。

你可以通过选择程序包管理器安装shellcheck:Homebrew, Pacman, APT——从源代码构建它,或在你的浏览器中运行它。


  1.  $ brew install shellcheck 
  2. # pacman -S shellcheck 
  3. # 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,然而,在这些情况下,你可能会错过下面一些功能。

  • 同时显示多个窗口,在使用ncurses的同一个shell中。
  • 同一窗口中合并多个日志,例如同一应用程序的stdout 和stderr日志。
  • 通过菜单内可编辑的正则表达式执行动态地过滤。
  • 使用预定义的颜色高亮器使日志变得更加清晰,或者再次用正则表达式自己定义。

如何安装:


  1. $ brew install multitail 
  2. # pacman -S multitail 
  3. # 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中,那么可以通过你喜欢的软件包管理获取。


  1. $ brew install tree 
  2. # pacman -S tree 
  3. # apt-get install tree 

在最基本的形式中,你只需输入 $ tree打印当前文件夹的结构。

就个人而言,我更喜欢和别的什么搭配一起用,例如添加一些标记来打印人可读的文件大小,隐藏文件,和一个不错的总文件计数:$ tree -ah --du

这就是所有我要告诉你的关于tree的内容。它grep输出的时候真的非常方便,而且展现给你一个超棒的文件系统,我敢肯定,你会从第一时间就喜欢上它。

上面这些就是我要介绍的命令行工具,这些工具你乍一看不会觉得会改变你的生活,但是一段时间后,你无法想象不使用它们的情形。事实上,你可能会咒骂你那台破电脑,因为没有安装这些伟大的工具。你最喜欢的命令行工具是什么,欢迎分享在下面的评论中。

作者:小峰

来源:51CTO

时间: 2024-10-29 20:34:07

5个你可能会忽略的有用命令行工具的相关文章

使用Python编写类UNIX系统的命令行工具的教程_python

引言 您是否能编写命令行工具?也许您可以,但您能编写出真正好用的命令行工具吗?本文讨论使用 Python 来创建一个强健的命令行工具,并带有内置的帮助菜单.错误处理和选项处理.由于一些奇怪的原因,很多人并不了解 Python? 的标准库具有制作功能极其强大的 *NIX 命令行工具所需的全部工具. 可以这样说,Python 是制作 *NIX 命令行工具的最佳语言,因为它依照"batteries-included"的哲学方式工作,并且强调提供可读性高的代码.但仅作为提醒,当您发现使用 Py

推荐给开发人员的实用命令行工具

作为一名Web开发者,当程序出现问题时日子总不是那么好过.问题可能无处不在,可能是你发送的请求出了错,可能是回复出了错,可能是你使用的某个第三方库出了问题,又或者是一个外部API调用失败了.优秀的工具对于定位问题出在何处有着无可估量的价值,而且能在一开始就帮助我们阻止问题的出现,总的来说能使我们的工作更有效率.命令行工具尤其有用,因为它们非常易于做自动化和脚本处理,能够以各种不同的方式进行组合和重用.本文介绍了6个非常强大且灵活的工具,熟练使用这些工具能使你的生活变得更轻松一些. Curl Cu

4个可以发送完整电子邮件的命令行工具

4个可以发送完整电子邮件的命令行工具 今天的文章里我们会讲到一些使用Linux命令行工具来发送带附件的电子邮件的方法.它有很多用处,比如在应用程序所在服务器上,使用电子邮件发送一个文件过来,或者你可以在脚本中使用这些命令来做一些自动化操作.在本文的例子中,我们会使用foo.tar.gz文件作为附件. 有不同的命令行工具可以发送邮件,这里我分享几个多数用户会使用的工具,如mailx.mutt和swaks. 我们即将呈现的这些工具都是非常有名的,并且存在于多数Linux发行版默认的软件仓库中,你可以

手把手教你利用命令行工具创建LinuxMac系统下的网站备份

创建网站备份应该是一个网站管理员最为重要的日常工作之一.但现实情况是,备份这一步往往被很多人忽略,也就是说仍然有很多网管的网站安全意识较低. 所有的Linux/Mac用户都能够零经济成本地通过命令行工具创建网站备份.如果你用的不是Linux/Mac,请关注我们的后续文章--如何在windows上通过软件方式创建备份. 本文的初衷不是为读者提供完整的备份解决方案,而是给那些有时间并且想要学习一些基础的命令行工具进行网站备份的宝宝们一点参考. 必要条件 你的主机必须具备必要的软件及证书. (1) 服

从零开始打造个人专属命令行工具集——yargs完全指南

[引自ideras.me的博客]前言 使用命令行程序对程序员来说很常见,就算是前端工程师或者开发gui的,也需要使用命令行来编译程序或者打包程序 熟练使用命令行工具能极大的提高开发效率,linux自带的命令行工具都非常的有用,但是这些工具都是按照通用需求开发出来的 ,如果有一些特别的需求,还是需要自己写脚本来完成一些比如文件批量重命名,文件内容批量替换等任务来提供工作效率. 在node.js出来之前,python经常被用来开发一些脚本完成特殊的任务,比如python爬虫,python相关的教程有

从零开始打造个人专属命令行工具集——yargs 完全指南

前言 使用命令行程序对程序员来说很常见,就算是前端工程师或者开发 GUI 的,也需要使用命令行来编译程序或者打包程序. 熟练使用命令行工具能极大的提高开发效率,Linux 自带的命令行工具都非常的有用,但是这些工具都是按照通用需求开发出来的,如果有一些特别的需求,还是需要自己写脚本来完成一些比如文件批量重命名,文件内容批量替换等任务来提供工作效率. 在 Node.js 出来之前,Python 经常被用来开发一些脚本完成特殊的任务,比如 Python 爬虫,Python 相关的教程有很多,有兴趣的

大数据、机器学习与深度学习类命令行工具汇总

抓紧你的键盘!无需鼠标或者GUI,我们完全能够在OS X与Linux上完成大量操作.面向各类*N*X系统的大量出色命令行工具一直在技术行业拥有极高人气,且已经扩展至Python.Go.NodeJS乃至各类混合型工具当中.即使大家并不打算通过命令行运行整条数据处理管道,这些工具仍然能够带来可观助益. <命令行上的数据科学(Data Science at the Command Line)>一书与GitHub皆为我们带来大量高水平的预处理与后处理类工具选项,大家亦可根据需要对其进行针对性调整.在今

Linux命令行工具使用小贴士及技巧(一)

相关内容 如果你刚开始在 Linux 系统中使用命令行工具,那么你应该知道它是 Linux 操作系统中功能最强大和有用的工具之一.学习的难易程度跟你想研究的深度有关.但是,无论你的技术能力水平怎么样,这篇文章中的一些小贴士和技巧都会对你有所帮助. 在本系列的文章中,我们将会讨论一些非常有用的命令行工具使用小技巧,希望你的命令行使用体验更加愉快. 但是在开始下一步之前,我得强调一点,这篇文章中的测试实例都是在 Ubuntu 14.04LTS 系统下测试通过的.我们使用命令行 Shell 版本是 b

详解Node.js如何开发命令行工具_node.js

前言 Node 给前端开发带来了很大的改变,促进了前端开发的自动化,我们可以简化开发工作,然后利用各种工具包生成生产环境.如运行sass src/sass/main.scss dist/css/main.css即可编译 Sass 文件. 在实际的开发过程中,我们可能会有自己的特定需求, 那么我们得学会如何创建一个Node命令行工具. hello world 老规矩第一个程序为hello world.在工程中新建bin目录,在该目录下创建名为helper的文件,具体内容如下: #!/usr/bin