良许Linux教程网 干货合集 Linux shell 快捷方式大全,让你的命令行更高效

Linux shell 快捷方式大全,让你的命令行更高效

Linux shell 是一个强大而灵活的工具,它可以让我们与系统进行交互,执行各种任务和操作。但是,如果我们不熟悉一些常用的 shell 快捷方式,我们可能会浪费很多时间和精力在输入、修改或重复命令上。本文将为你介绍 7 个超级神奇的 shell 快捷方式,它们可以让你的命令行更高效、更方便、更有趣。

1、倒序搜索历史记录

这是您可以利用shell历史记录运行之前执行过的命令的最快方法之一。如果您在记得之前运行的命令时感到困难(您并不孤单),简单地滚动浏览您的历史记录不会是一种有效的方式。

这就是倒序搜索的用途。使用这个工具,您可以快速搜索您的shell历史记录,然后快速执行它们。您不必烦恼通过历史记录进行grep搜索或复制粘贴命令。

假设我很久以前运行了以下命令:

echo “linuxmi.com”

现在已经过了一段时间,我无法完全记住我使用的单词。如果我想使用倒序搜索,我可以按Ctrl + R,然后进入搜索提示符并输入 linuxmi.com:

(reverse-i-search)`linuxmi.com’: echo “foobar”

image-20230604205653916
image-20230604205653916

当您开始在搜索栏中输入时,它将自动填充结果。当您想要的结果出现时,只需按回车键即可运行命令。简单、快速、简便。

2、执行历史记录中的特定命令

这是一种稍微不同的利用shell历史记录的方式。当您运行普通的history命令时,您会得到一个您运行过的命令列表。旁边是ID号码,它们对应每个命令执行的顺序:

1htop
......
95 top
96 echo "www.linuxmi.com"
97 lynx
98 uname -a
99 neofetch
100 uname -a
101 history
image-20230604205702765
image-20230604205702765

使用这些ID号码,您可以重新运行历史记录中列出的任何命令。您只需在数字前面加上一个感叹号(惊叹号)即可,像这样:

!99

当您运行此命令时,您将执行在ID号码99处存储的任何命令。在本文中,它将运行neofetch命令。

这是一种非常方便的方式,可以回顾历史记录并执行任何您想要重新运行的较长命令。您还可以在shell脚本中聪明地使用它。

3、再次运行上一个命令

这很简单,但却非常有用。如果您想重新运行刚刚执行的最后一个命令,只需输入:

!!

看起来按上箭头然后按回车键会更容易,而且在大多数情况下确实如此。但是,也许您想运行一个新的代码片段,并在下一个命令中包含上一个命令的输出。您可以在括号中调用!!并嵌套命令来执行其他有趣的技巧:

linuxmi@linuxmi:~/www.linuxmi.com$ echo "linuxmi.com"
linuxmi@linuxmi:~/www.linuxmi.com$ echo -e "上一个命令是 $(!!)"
image-20230604205711400
image-20230604205711400

使用这种方法,您可以确保绝对引用最后执行的命令。不再需要重新输入或复制粘贴。

4、移动到长命令的开头或结尾

当您需要编写一个非常复杂的单行命令时,如果需要在开头或结尾进行编辑,那将是一种痛苦。幸运的是,还有一种快速的方法可以做到这一点。

如果您想要移动到命令的开头,您可以按下:

Ctrl + a

如果您想要移动到结尾,您可以按下:

Ctrl + e

这两个快捷键将使您不再需要按住箭头键来来回在一行内移动。

5、从光标位置删除字符

如果您仍在处理那个长的单行命令,删除其中的一小部分可能会很麻烦。特别是如果您需要删除线条中某个特定点之前或之后的所有内容。

对于这个确切的问题,也有一个 shell 快捷键。

如果您想要删除光标当前位置之前的所有内容,可以按下:

Ctrl + u

同样地,如果您想要删除光标后的所有内容,可以按下:

Ctrl + k

现在,您不必长时间按住退格键来修改一个冗长的命令。

6、检查命令

有时候,一个命令并不总是看起来那么简单。您在控制台中输入的命令在背后可能会被多种不同的进程或配置所操控。

举个例子,您可以为常用命令添加别名,以便在它们后面附加您喜欢的参数。比如,您可以像这样为 ls 添加额外的参数:

alias ls='ls -lah'

在这种情况下,当您输入 ls 并执行它时,您可能认为您只是运行了 ls,但实际上您运行的是带有隐藏参数的 ls。

如果您对某个特定命令感到怀疑,可以使用命令行工具 command 快速检查它:

command -V ls

ls is aliased to 'ls -lah'

当您使用 -V 参数运行 command 命令时,您可以看到实际执行的内容。在这个例子中,command 告诉我们实际上运行的是 ls -lah 而不仅仅是 ls。

7、在无限循环中运行一些命令

最后是一个经典的单行命令。这个代码片段允许您在一组命令之间以一个简短的延迟进行循环运行。如果您需要不断监视一个进程或在某些事件发生时发送一些警报,这将非常有帮助。

让我们使用一个简单的例子,它将运行一个循环,打印当前日期,然后休眠一秒钟:

linuxmi@linuxmi:~/www.linuxmi.com$ while truedo echo "$(date)"; sleep 1; done
image-20230604205716904
image-20230604205716904

这行代码由分号分隔,表示要执行多个命令或函数:

  • 第一个命令是 while true,它将启动我们的无限循环。
  • 接下来的命令是 do echo “$(date)”,它告诉 shell 在循环内运行此命令并将日期打印到控制台。
  • 最后,我们休眠一秒钟,然后使用 done 结束循环。 由于循环以 true 作为条件开始,它将一直持续下去,直到您退出循环或按下 Ctrl + c。

在这个循环中,您可以将 echo 命令替换为任何您想要持续运行的命令。这可以是监听文件、检查文件是否存在,甚至进行一些简单的算术计算。最好的部分是您甚至不需要离开 shell 来执行任何操作。

通过本文,你应该对 Linux shell 快捷方式有了更深入的了解,知道了它们如何帮助你快速搜索历史记录、执行特定命令、移动光标、删除字符、检查命令或在无限循环中运行一些命令。这些快捷方式是 Linux shell 的精华,它们可以让你节省时间,提高效率,也可以避免一些潜在的错误或冲突。Linux shell 快捷方式大全,值得我们好好学习和使用。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部