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 に従う必要があります。

関連情報