Reatribuindo o comando su

1

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

EDIT: o comando que foi acidentalmente emitido foi

sudo ln -s /opt/Sublime\ Text\ 2/sublime_text /usr/bin/su
    
por Dimitris 06.02.2014 / 13:01

3 respostas

1

Original su está em /bin/su , portanto, basta excluir seu link:

sudo rm /usr/bin/su

Verifique se which su está de volta a /bin/su

Existe uma prioridade nos caminhos executáveis, veja:

echo $PATH

/usr/bin vem antes de /bin , então seu link será executado primeiro. Mas para aprender a criar esse link novamente e executar which su , você obterá /usr/bin/su .

Bem, todo o $ PATH pode conter o próprio executável ou seu link. Então, a maioria desses caminhos contém uma mistura, dá ls -l /usr/bin uma tentativa (eu corto 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:

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

  • -> apontam para o arquivo de destino.

por user.dz 06.02.2014 / 13:53
0

Se você usou aliases para fazer isso, como as pessoas nos comentários estão perguntando, você pode evitar o alias temporariamente ao enviar dicas:

\su <restofthecommandhere>

O "\" diz ao bash para usar o comando real, ignorando o alias. Em seguida, você pode editar seu .bashrc e remover a linha fazendo referência a esse alias:

gedit $HOME/.bashrc
    
por animaletdesequia 06.02.2014 / 13:12
0

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

  1. Remover temporariamente

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

O mais provável é que você não tenha vinculado su ao texto sublime binário, pois isso exigiria sudo privileges. Então apenas verifique se a primeira solução da lista funciona. Se funcionar e o problema reaparecer mais tarde, você precisa seguir a instrução 2.

    
por sayantankhan 06.02.2014 / 13:15