技术提示:使用历史命令展开来节省时间和打字
发表于 2009年12月1日
大多数 shell 都会维护一个您键入的命令的历史记录,该历史记录可用于节省时间和打字。我们大多数人可能已经使用向上/向下箭头键来浏览我们已经输入的命令列表,但还有其他方法可以访问历史记录列表中的数据。
假设您要安装一个软件包(我们以基于 Debian/Ubuntu 的系统为例),因此您键入
$ apt-get install packagename
但是等等,您需要 'sudo' 才能执行此操作!那你该怎么办? 重新输入整个命令? 不,使用历史命令展开并键入
$ sudo !!
这将运行整个上一条命令,并在其前面加上 'sudo'!
让我们再举一个例子,假设您想在进入目录之前列出目录的内容,因此您使用ls来查看目录
$ ls /usr/share/doc
现在,您无需再次输入整个路径名作为cd命令的参数,只需键入
$ cd !$
这将从最后输入的命令中获取最后一个参数并将其插入到新命令中(使用!*来包含上一个命令中的所有参数)。
大多数 shell 都提供了更多的展开功能,可以节省时间和打字,请查看 shell 的文档以获取更多信息。 对于bash搜索“History Expansion”(历史命令展开)或“Event Designators”(事件指示符)。