Переназначение команды su

Переназначение команды su

Я случайно связал свою команду "su" с двоичным файлом Sublime Text (вот что получается, когда доверяешь нажатию Tab, не глядя...) Теперь "su" просто открывает сеанс SublimeTExt. Кто-нибудь знает, как мне вернуться к предыдущей версии и указать "su" на то, на что он должен указывать? Спасибо!

EDIT: команда, которая была отдана случайно, была

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

Если вы использовали псевдоним, удалить его можно следующим образом:

  1. Временно удалить

    unalias su
    
  2. Чтобы удалить его навсегда, удалите его из своего .bashrcили .bash_aliasesфайла.

Скорее всего, вы не ссылались suна двоичный файл sublime text, потому что для этого потребовались бы sudoпривилегии. Поэтому просто проверьте, работает ли первое решение в списке. Если оно работает, а проблема снова появляется позже, вам нужно следовать инструкции 2.

Связанный контент