Reatribuindo o comando su

Reatribuindo o comando su

Eu acidentalmente vinculei meu comando "su" ao binário Sublime Text (isso é o que você obtém quando confia em clicar na guia sem olhar ...) Agora, "su" apenas abre uma sessão SublimeTExt. Alguém sabe como posso reverter para a versão anterior e apontar "su" para onde ela deveria estar apontando? Obrigado!

EDIT: o comando que foi emitido acidentalmente foi

sudo ln -s /opt/Sublime\ Text\ 2/sublime_text /usr/bin/su

Responder1

O original suestá em /bin/su, então exclua seu link:

sudo rm /usr/bin/su

Verifique which suse voltou para/bin/su

Há uma prioridade nos caminhos executáveis, veja:

echo $PATH

/usr/binvem antes /bin, então seu link será executado primeiro. Mas para aprender crie esse link novamente e execute which suvocê vai conseguir /usr/bin/su.

Bem, todo $PATH pode conter o próprio executável ou seu link. Portanto, a maioria desses caminhos contém uma mistura, experimente ls -l /usr/bin(cortei resultados longos):

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

Os links estão claros agora, 3 links, outros são arquivos:

  • lno início de lrwxrwxrwx(l link, diretório d, - arquivo normal, dispositivo c char).

  • ->aponte para o arquivo de destino.

Responder2

Se você usou pseudônimos para fazer isso, como as pessoas nos comentários estão perguntando, você pode evitar temporariamente o pseudônimo dando dicas:

\su <restofthecommandhere>

O "\" diz ao bash para usar o comando real, ignorando o alias. Então, você pode editar seu .bashrc e remover a linha que faz referência a este alias:

gedit $HOME/.bashrc

Responder3

Se você usou um alias, a maneira de removê-lo é a seguinte:

  1. Remova-o temporariamente

    unalias su
    
  2. Para removê-lo permanentemente, exclua-o do seu arquivo .bashrcou .bash_aliases.

Provavelmente você não vinculou suao binário de texto sublime porque isso exigiria sudoprivilégios. Portanto, verifique se a primeira solução da lista funciona. Se funcionar e o problema reaparecer mais tarde, você precisará seguir a instrução 2.

informação relacionada