在日常使用Linux系统的过程中,重复执行上一条命令是一个常见操作。对于那些希望提高工作效率的Linux用户来说,了解并掌握一些高效的技巧至关重要。其中一个简单却非常实用的技巧就是使用!!(感叹号感叹号)来轻松重复上一条命令。
当你需要重复执行上一条命令时,通常的做法是按上箭头键,然后按回车。然而,使用!!可以让你以一种更快捷的方式来重复执行。!!是一个bash历史命令扩展,它代表了上一条命令的完整内容。
使用!!的场景非常广泛,比如当你输入了一个很长的命令,按回车后发现权限不足,需要用sudo来执行时,你只需输入sudo !!,bash就会自动将!!替换为上一条命令,并以sudo权限执行。
举个例子,如果你尝试更新系统但忘了使用sudo,可以这样做:
bash
$ apt update
E: 无法打开锁定的文件 /var/lib/apt/lists/lock - 开放 (11: Resource temporarily unavailable)
E: 无法锁定管理文件 (/var/lib/apt/),你是不是正在别的进程里操作?
然后,你可以使用:
bash
$ sudo !!
这时候,bash会将!!替换为apt update
,并以sudo权限执行,输出如下:
bash
$ sudo apt update
[sudo] password for username:
...(更新输出)...
除了!!之外,还有其他一些相关的技巧:
!*
:重复上一条命令的参数。比如,如果你刚执行了ls /var/log
,然后想用这些参数来执行tail
命令,可以输入tail !*
,bash会将其转换为tail /var/log
。!abc
:执行以abc开头的最近一条命令。比如,如果你之前执行了abcdefg
命令,现在想重复执行,只需输入!abc
。!?abc?
:执行包含abc的最近一条命令。比如,如果你之前执行了some_command with abc
,现在想重复执行,可以输入!?abc?
。
使用这些技巧可以大大提高工作效率,特别是在需要频繁执行复杂或长命令时。不过,需要注意的是,由于!!会自动替换并执行命令,使用时应当谨慎,尤其是在使用sudo等具有高权限的命令时,以避免意外执行了错误的命令。
总结来说,!!是一个快速重复上一条命令的便捷工具,它不仅可以单独使用,还可以与其他命令结合使用,以提高Linux系统使用的效率。掌握这些技巧将使你在Linux命令行下的工作更加得心应手。