Linux命令提供了很大的灵活性。这篇文章详细介绍了一些巧妙的技巧,使它们更易于使用。
使用文件名补全
您可以通过输入文件名的开头并按Tab键来避免输入完整的文件名。如果该字符串唯一地标识一个文件,则将完成文件名。否则,您可以在名称中输入另一个字母,然后再次按Tab键。但是,您还可以通过键入字符串然后按两次Tab键来获取以特定字符串开头的所有文件的列表。在此示例中,我们同时执行以下操作:
重用命令并进行更改
在bash中,重新发出最近使用的命令很容易。要重新运行上一个命令,只需输入!! 在命令行上。您也可以重新发出带有更改的命令。如果发出下面显示的第一个命令只是为了发现sshd没有在运行,则可以发出第二条命令来启动它。它只是将“状态”替换为“开始”。
sudo systemctl status sshd
!!: s /状态/启动/
重用命令参数
您还可以仅重用上一个命令提供的参数,而不必使用字符串!*来重新键入它们,如本示例所示:
$ mkdir dir1 dir2 dir3
$ chmod 770 !*
chmod 770 dir1 dir2 dir3
请注意,使用“!*”键入命令后,该命令将完整显示。
请记住,“所有参数”确实意味着“所有参数”。如果在键入上面显示的命令后,想要列出使用!*技巧刚创建的目录,则会遇到一个小问题。
$ ls -ld!*
ls -ld 770 dir1 dir2 dir3
ls:无法访问'770':没有这样的文件或目录 <====哎呀!
drwxrwx-- 2 shs shs 4096 2018年6月6日dir1
drwxrwx-- 2 shs shs 4096 2018年6月6日目录2
drwxrwx-- 2 shs shs 4096五月11 09:20 dir3
仅查看最近输入的命令
在历史命令可以很容易地查看以前输入的命令,但通常显示1000,在您的历史缓冲区的命令(即所有)。如果你想看到只有最近输入的命令,最简单和最快的方式是你要提供的命令的编号,以查看作为参数的历史命令。此清单显示了最近输入的五个命令。
$历史5
1162 11/05/21 13:10:54购物| wc -l
1163 11/05/21 13:19:42 sudo systemctl状态
1164 11/05/21 13:20:01 sudo systemctl状态sshd
1165 11/05/21 13:23:37人的历史
1166 11/05/21 13:23:50历史5
您也可以使用“ history | tail -5”之类的命令,但是刚才所示的命令更简单,不需要向tail命令发送1000行输出。
在历史记录中搜索特定命令并重新运行它们
若要重新运行某些特定命令,请回顾最近使用的命令(最新的优先),请键入^ r(按住控制键并按“ r”)。然后键入命令的一部分。继续按^ r,直到找到要重用的命令,然后按回车键即可。
2021-08-11
2021-08-11
2021-08-11
2021-08-11
2021-08-11
2021-08-11
2021-08-11
2021-08-11