
我不小心將我的“su”命令鏈接到了 Sublime Text 二進位(這就是當您信任點擊選項卡而無需查看時所得到的結果...)現在,“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 進行操作。