重新分配 su 命令

重新分配 su 命令

我意外地将“su”命令链接到了 Sublime Text 二进制文件(这就是你信任地按下 Tab 而不看时得到的...)现在,“su”只会打开一个 SublimeTExt 会话。有人知道我该如何恢复到以前的版本并将“su”指向它应该指向的内容吗?谢谢!

编辑:意外发出的命令是

sudo ln -s /opt/Sublime\ Text\ 2/sublime_text /usr/bin/su

答案1

原文su/bin/su,因此只需删除您的链接:

sudo rm /usr/bin/su

检查which su是否恢复到/bin/su

可执行路径有优先级,请参阅:

echo $PATH

/usr/bin先于/bin,因此您的链接将首先执行。但要学习,请再次创建该链接并运行,which su您将获得/usr/bin/su

好吧,所有 $PATH 都可以保存可执行文件本身或其链接。因此,大多数路径都保存了混合内容,请ls -l /usr/bin尝试一下(我截取了较长的结果):

total 925272
-rwxr-xr-x 1 root   root       39552 Dec 18 14:36 [
lrwxrwxrwx 1 root   root           8 Dec 21 15:14 2to3 -> 2to3-2.7
-rwxr-xr-x 1 root   root          96 Jan 12 10:12 2to3-2.7
-rwxr-xr-x 1 root   root          96 Jan 27 17:21 2to3-3.3
-rwxr-xr-x 1 root   root          96 Jan 27 17:23 2to3-3.4
-rwxr-xr-x 1 root   root        5655 Jan  7 12:12 404main
-rwxr-xr-x 1 root   root       10320 Feb  7  2013 411toppm
-rwxr-xr-x 1 root   root          39 Feb 17  2012 7z
-rwxr-xr-x 1 root   root          40 Feb 17  2012 7za
-rwxr-xr-x 1 root   root          40 Feb 17  2012 7zr
-rwxr-xr-x 1 root   root      106584 Jan 15 06:49 a2p
lrwxrwxrwx 1 root   root          52 Jan 25 00:22 a2ping -> ../share/texlive/texmf-dist/scripts/a2ping/a2ping.pl
-rwxr-xr-x 1 root   root         883 Apr 30  2007 a5booklet
lrwxrwxrwx 1 root   root          54 Jan 25 00:22 a5toa4 -> ../share/texlive/texmf-dist/scripts/pfarrei/a5toa4.tlu
-rwxr-xr-x 1 root   root       10328 Apr 28  2009 aa3d

链接现在很清晰,有 3 个链接,其他是文件:

  • llrwxrwxrwx在(l 链接、d 目录、- 普通文件、c 字符设备)的开头。

  • ->指向目标文件。

答案2

如果您使用别名来执行此操作,正如评论中的人询问您的那样,您可以通过提示暂时避免使用别名:

\su <restofthecommandhere>

“\” 告诉 bash 使用真实命令,忽略别名。然后,您可以编辑 .bashrc 并删除引用此别名的行:

gedit $HOME/.bashrc

答案3

如果你使用了别名,删除方法如下:

  1. 暂时移除

    unalias su
    
  2. 要永久删除它,请将其从您的.bashrc.bash_aliases文件中删除。

最有可能的是,您没有链接su到 sublime text 二进制文件,因为这样做需要sudo特权。因此,只需检查列表中的第一个解决方案是否有效。如果它有效,但问题稍后再次出现,则需要按照说明 2 进行操作。

相关内容