Linux QuickTip:一步下载和卸载

大多数时候,当我下载的东西,它是一种文件归档 - 通常是一个tarball或一个zip文件。 这可能是应用程序的一些源代码,不包括在Gentoo的Portage树,一些内部企业应用程序的文档,甚至作为一个新的WordPress安装的东西。

下载和解开终端中的东西的传统方式将是这样:

wget的http://wordpress.org/latest.tar.gz

tar xvzf latest.tar.gz

rm latest.tar.gz

或者更紧凑的形式:

wget的http://wordpress.org/latest.tar.gz &&tarxvzf latest.tar.gz && RM latest.tar.gz

任何一种方式有点笨拙。 这是一个非常简单的操作,像bash这样强大的shell应该允许这样的任务以更“光滑”的方式执行。

好了,感谢一个有用的小命令“curl”,我们可以在一个管道语句中实际完成上面的混乱:

Curlhttp://wordpress.org/latest.tar.gz | tar xvz

没有临时文件要摆脱,没有搞乱与&符。 总之,一个高度紧凑,高效的命令。 事实上,从理论的角度来看,curl方法可以比连接的wget / tar / rm混乱更快,因为stdout管道将尽可能使用RAM作为缓冲区,而wget和tar(使用-f开关)必须读/写直接从磁盘。

顺便说一下,tar与-v选项(我们在上面的所有示例中使用它的方式)打印每个文件名到stdout,因为每个解开。 这可以阻碍curl的漂亮,ncurses输出显示下载状态。 我们可以通过调用它而不用-v来沉默tar:

Curlhttp://wordpress.org/latest.tar.gz | tar

这就是所有的事情!

赞 (0)
分享到:更多 ()