Linux用户宝典:重复使用命令的八个简易方法

译文 精选
系统 Linux
一遍又一遍地输入相同的命令会让人感到厌烦。有许多方法可以使重复命令(或者重复命令,但做一些更改)比想象的容易得多。

译者 | 布加迪

审校 | 重楼

Linux命令行上重复运行命令并不难,但是有很多方法可以做到这一点。给出了八个如何在Linux上重复运行命令的例子,有的更改,有的没有更改。

1. 重复以前的命令

通过键入!!来重新运行以前输入的命令是重复命令最简单方法。如果你想再次运行相同的命令,不必输入任何其他内容。这里有几个例子:

$ pwd
/home/myacct
$ !!
/home/myacct
$ ls -l | wc -l
218
$ !!
ls -l | wc -l
218

2. 重复以前的命令,稍做更改

如果你重新运行以前的命令,但稍做更改,可以通过在^字符之间提供命令的原始部分和替换部分来指定要进行的更改,如下例所示

$ echo this is a test
this is a test
$ ^test^trial^
echo this is a trial
this is a trial

3. 使用命令历史记录

要从命令历史记录重新运行以前的命令,使用history命令(它通常保留最近运行的1000个命令),以列出历史记录,然后键入!后面跟与该命令相关联的数字。这里有一个例子:

$ history | tail -2
 1001 show_exit_codes
 1002 ls -l | wc -l
$ !1002
ls -l | wc -l
218

还可以通过回过头来在命令历史记录中找到以前的命令来重新运行它:按向上箭头键,当你找到想要重新运行的命令时,只需按返回键即可重新运行它。

4. 修改并重新运行命令

使用向上箭头键回过头来找到以前的命令后,可以在再次运行之前对其进行更改。你可以使用退格键回找,然后输入命令的替换部分。

可以使用^a移动到命令的开头,也可以使用^e移动到命令的末尾。在下例中,我忘记使用echo命令,然后使用^a回到命令的开头,并插入命令。


$ Have a happy and very profitable day!
bash: Have: command not found...
$ echo Have a happy and very profitable day!

你也可以使用左右方向键来左右移动。用向上箭头键移回命令,并根据需要向左和向右移动。完成更改后,按回车键运行刚刚修改的命令。

^a将光标移动到命令的开头,^e将光标移动到命令的末尾。

5. 只使用前一个命令中的最后一个字符串

如果希望重用前一个命令中的最后一个参数,可以在下一个命令中将其引用为!$。下面是一个例子

$ echo this is not a test
this is not a test
$ echo !$
echo test
test

6. 使用反向搜索来查找以前运行过的命令

要在命令历史记录中查找想要重新运行的命令,可以按住Ctrl键并按r。然后系统提示你输入搜索文本将运行含该字符串的最新命令。字符串可以包含多个单词。你在输入时,原始命令的文本出现在右侧。

(reverse-i-search)`happy': echo Have a happy and very profitable day!
(reverse-i-search)`very profitable': alias byebye='echo "Have a happy and very profitable day!"'

7. 将复杂的命令转换为别名

当你运行可能经常使用的命令时,可以考虑将其转换为别名。你可以使用如下所示的命令创建别名,但这只能使别名在你注销之前保持有效状态。将其添加到.bashrc文件中,使其在每次登录时都可用。下面是一些例子:

alias myprocs="ps -ef | grep `whoami`"
alias c="clear"
alias big5="du -h | sort -h | tail -5"
alias recent="history | tail -10"

别名不仅可以节省时间,还可以避免输入错误

8. 评估命令历史存储

要确定历史缓冲区保留多少命令,请运行下面所示的命令

$ echo $HISTSIZE
1000

你可以通过在.bashrc文件中添加这样的命令来改变这一点。默认保存在/etc/profile文件中

HISTSIZE = 1234

结语

重用历史记录中的命令可以节省大量时间,特别是在运行复杂有些重复的命令时。

原文标题:8 easy ways to reuse commands on Linux,作者:Sandra Henry-Stocker

责任编辑:华轩 来源: 51CTO
相关推荐

2022-07-22 16:00:53

GitHub工具安全

2023-12-31 19:11:26

2024-01-29 18:02:46

2024-01-01 18:40:54

Linux开源

2023-06-27 09:21:33

2015-08-13 09:09:10

LinuxdupeGuru

2022-05-30 00:04:16

开源Github技巧

2009-07-15 18:07:47

JDBC代码

2023-06-08 12:37:17

2023-01-04 18:56:00

开源

2024-11-07 15:55:22

PyTorchNumPyPython

2023-05-15 18:29:02

Linux操作系统

2024-03-21 09:58:27

ExtractTypeScript工具类型

2024-04-01 07:51:49

Exclude​工具类型TypeScript

2010-05-26 10:10:53

openssh

2022-06-17 09:08:27

代码Python内置库

2021-11-10 10:15:52

LinuxBash命令

2022-12-01 16:53:27

NPM技巧

2023-09-22 12:14:33

2010-04-14 10:43:55

点赞
收藏

51CTO技术栈公众号