如何在macOS的终端中查看命令历史记录列表

2024-11-18 10:44 手机

借助 macOS 中的终端,您可以使用终端外壳中内置的命令历史记录功能来节省大量时间并减少键入次数。shell 会记录您运行的命令,您可以通过几个简单的按键访问此历史记录以再次运行命令或编辑它们,这样您就不必重新键入它们。

您可以随时通过运行命令来查看历史记录中有哪些命令 history 。当您键入 history 并按下 Return 键时,终端会显示历史列表中的命令列表。例如:

1 ls

2 cd ..

3 ls

4 cd kirk

每行包括命令编号(从第一个到最后一个)和命令本身。终端包括所有命令,无论它们是否成功。这意味着错误或拼写错误的将出现在历史记录中。

限制历史列表

有多种显示历史列表的方法。在大多数情况下,您希望查看最近的命令。执行此操作的一种方法是运行history 带有参数的 命令,该参数说明要显示多少命令。

例如, 告诉 shell 显示从历史列表中的第五个开始的命令。您可以输入任何数字作为 命令的参数 ;如果您输入的数字无效(很可能,您的列表没有您输入的数字那么长),终端将回复.history 5historyfc: no such event

节省时间的快捷方式

如 另一篇文章所述,您可以通过按箭头键向上或向下移动历史记录列表。这是重新运行您最近执行的命令的最简单方法。但是,如果您的命令在列表的后面,则有更快捷的方法可以告诉 shell 运行哪个命令。

!: 假设你已经显示了你的长历史列表,它的一部分看起来像这样:

329 locate Walden

330 history

331 ls -l

如果要重新执行命令 locate Walden,请键入 !329。感叹号 ( !) 是历史列表中命令的快捷方式。如果在它后面输入一个数字(中间没有空格),终端将运行历史记录中具有该绝对数字的命令。

相对编号: 另一种指定前一个命令的方法是使用 相对 编号,或 从列表末尾开始的 第 n 个命令。例如,如果您的历史记录有 200 个条目,并且您想从第 200 个条目开始输入第五个命令,请输入!-5.

字符: 您可以告诉 shell 运行以特定字符串开头的最后一个命令。例如,运行相同locate Walden 命令的另一种方法 是键入!loc(感叹号后没有空格)。

在感叹号后输入任意数量的字符。shell 将在第一次出现匹配这些字符的字符串时停止。在刚才提到的例子中,我可以输入, !lo 因为没有其他以这些字母开头的命令。但是,如果我只输入 !l,该示例将运行命令 331,该 ls -l 命令,因为这将是第一个匹配项。

编者注:本文部分内容改编自 The Mac OS X Command Line: Unix Under the Hood ,作者 Kirk McElhearn(2004 年;经 Sybex 许可转载)。它已更新以反映 macOS Big Sur 终端中的更改。借助 macOS 中的终端,您可以使用终端外壳中内置的命令历史记录功能来节省大量时间并减少键入次数。shell 会记录您运行的命令,您可以通过几个简单的按键访问此历史记录以再次运行命令或编辑它们,这样您就不必重新键入它们。

您可以随时通过运行命令来查看历史记录中有哪些命令 history 。当您键入 history 并按下 Return 键时,终端会显示历史列表中的命令列表。例如:

1 ls

2 cd ..

3 ls

4 cd kirk

每行包括命令编号(从第一个到最后一个)和命令本身。终端包括所有命令,无论它们是否成功。这意味着错误或拼写错误的将出现在历史记录中。

限制历史列表

有多种显示历史列表的方法。在大多数情况下,您希望查看最近的命令。执行此操作的一种方法是运行history 带有参数的 命令,该参数说明要显示多少命令。

例如, 告诉 shell 显示从历史列表中的第五个开始的命令。您可以输入任何数字作为 命令的参数 ;如果您输入的数字无效(很可能,您的列表没有您输入的数字那么长),终端将回复.history 5historyfc: no such event

节省时间的快捷方式

如 另一篇文章所述,您可以通过按箭头键向上或向下移动历史记录列表。这是重新运行您最近执行的命令的最简单方法。但是,如果您的命令在列表的后面,则有更快捷的方法可以告诉 shell 运行哪个命令。

!: 假设你已经显示了你的长历史列表,它的一部分看起来像这样:

329 locate Walden

330 history

331 ls -l

如果要重新执行命令 locate Walden,请键入 !329。感叹号 ( !) 是历史列表中命令的快捷方式。如果在它后面输入一个数字(中间没有空格),终端将运行历史记录中具有该绝对数字的命令。

相对编号: 另一种指定前一个命令的方法是使用 相对 编号,或 从列表末尾开始的 第 n 个命令。例如,如果您的历史记录有 200 个条目,并且您想从第 200 个条目开始输入第五个命令,请输入!-5.

字符: 您可以告诉 shell 运行以特定字符串开头的最后一个命令。例如,运行相同locate Walden 命令的另一种方法 是键入!loc(感叹号后没有空格)。

在感叹号后输入任意数量的字符。shell 将在第一次出现匹配这些字符的字符串时停止。在刚才提到的例子中,我可以输入, !lo 因为没有其他以这些字母开头的命令。但是,如果我只输入 !l,该示例将运行命令 331,该 ls -l 命令,因为这将是第一个匹配项。

编者注:本文部分内容改编自 The Mac OS X Command Line: Unix Under the Hood ,作者 Kirk McElhearn(2004 年;经 Sybex 许可转载)。它已更新以反映 macOS Big Sur 终端中的更改。

点赞

全部评论

相关阅读

如何通过macOS终端激活重复键

如何在macOSBigSur中尝试新的Safari标签栏和实时文本

如何在生孩子时增加生男孩的几率?

承到将王通命令指一生肖 十二生肖本命佛查询表

乌总统泽连斯基签署命令 对333名俄公民进行制裁

如何在生活中诅咒一个人倒霉?

公司起名大全列表

属狗人如何在事业获得成功

批命令修改文件名 塔罗测试我的新工作怎么样

午夜孤影全列表uc

清朝历代皇帝列表及简介

元亨利贞网四柱八字网络在线排盘 如何在元亨利贞网进行八字在线排盘

cad替换命令快捷键图片

如何在pr中给视频加字幕

如何在洗衣机中清洗鞋子

如何制作自己的自定义Alexa命令

如何在excel中打钩?怎么在excel里打勾

如何在三星较旧的Note设备之间进行选择

一些Nissan车主现在可以使用Alexa语音命令启动车辆

对讲光端机怎么接线?对讲机终端