文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-11-28 17:06

关注

审校 | 重楼

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内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯