使用 sudo 以 Root 身份运行最后执行的命令!
目录:
您是否曾尝试运行命令行工具,却发现您没有必要的权限来使用它?或者也许命令本身实际上需要 root 访问权限才能运行?您通常会在终端中看到“权限被拒绝”类型的错误消息。而不是再次键入整个命令字符串,或者点击向上箭头并将光标移到带有 sudo 的命令之前,您可以使用一个很棒的技巧,re-runs 最后执行的命令sudo权限最重要的是,这个很棒的以 root 身份重新运行最后一个命令的技巧在 MacOS / Mac OS X 和 Linux 中有效。
OK,仅从标题来看,您可能会认为这只是因为感叹号而有点夸张,但我发誓我不仅对 sudo 命令超级兴奋(尽管这个命令真的很棒!)...不,感叹号实际上是sudo工具在这方面的用法的一部分。
如何以根用户身份重新运行上次执行的命令
如果你想快速运行最后执行的命令但作为根超级用户,只需键入以下内容:
sudo !!
是的,那是“sudo”后跟一个空格和两个感叹号。
这将立即运行先前运行的命令,但带有 sudo 前缀,这通常意味着您需要输入管理员密码才能完成序列。
这方面的一个例子是,如果您正在尝试编辑主机文件或您需要系统权限的其他系统文件。无需重新输入以 sudo 开头的整个命令字符串,只需键入 sudo !! 之前的命令 (!!) 将在 sudo 下运行。
例如,假设您正在尝试修改用户主机文件:
nano /etc/hosts
但是由于缺少适当的用户凭据,您无法保存或编辑文件,对吗?没有汗水,而不是再次输入完整的“sudo nano /etc/hosts”命令序列,只需输入以下内容:
sudo !!
这采用最后一个命令(在本例中为nano /etc/hosts)并自动为其添加sudo前缀,成为完整的'sudo nano /etc/hosts'
这实际上适用于每个命令行工具和命令执行,所以试试吧,它非常棒。
如前所述,这个技巧适用于MacOS和Linux的命令行,可能还有许多其他基于unix的操作系统。