我意外地将“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 个链接,其他是文件:
l
lrwxrwxrwx
在(l 链接、d 目录、- 普通文件、c 字符设备)的开头。->
指向目标文件。
答案2
如果您使用别名来执行此操作,正如评论中的人询问您的那样,您可以通过提示暂时避免使用别名:
\su <restofthecommandhere>
“\” 告诉 bash 使用真实命令,忽略别名。然后,您可以编辑 .bashrc 并删除引用此别名的行:
gedit $HOME/.bashrc
答案3
如果你使用了别名,删除方法如下:
暂时移除
unalias su
要永久删除它,请将其从您的
.bashrc
或.bash_aliases
文件中删除。
最有可能的是,您没有链接su
到 sublime text 二进制文件,因为这样做需要sudo
特权。因此,只需检查列表中的第一个解决方案是否有效。如果它有效,但问题稍后再次出现,则需要按照说明 2 进行操作。