重新分配 su 指令

重新分配 su 指令

我不小心將我的“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個鏈接,其他都是文件:

  • 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 進行操作。

相關內容