
Я случайно связал свою команду "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
Если вы использовали псевдоним, удалить его можно следующим образом:
Временно удалить
unalias su
Чтобы удалить его навсегда, удалите его из своего
.bashrc
или.bash_aliases
файла.
Скорее всего, вы не ссылались su
на двоичный файл sublime text, потому что для этого потребовались бы sudo
привилегии. Поэтому просто проверьте, работает ли первое решение в списке. Если оно работает, а проблема снова появляется позже, вам нужно следовать инструкции 2.