Reasignando su comando

Reasignando su comando

Accidentalmente vinculé mi comando "su" al binario de Sublime Text (eso es lo que obtienes cuando confías en presionar la pestaña sin mirar...) Ahora, "su" simplemente abre una sesión de SublimeTExt. ¿Alguien sabe cómo puedo volver a la versión anterior y señalar "su" a lo que se supone que debe apuntar? ¡Gracias!

EDITAR: el comando que se emitió accidentalmente fue

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

Respuesta1

El original suestá en /bin/su, así que simplemente elimina tu enlace:

sudo rm /usr/bin/su

Comprueba which susi ha vuelto a/bin/su

Hay una prioridad en las rutas ejecutables, consulte:

echo $PATH

/usr/binviene antes /bin, por lo que su enlace se ejecutará primero. Pero para aprender, cree ese enlace nuevamente y which suejecútelo /usr/bin/su.

Bueno, todo $PATH puede contener el ejecutable o su enlace. Entonces, la mayoría de esos caminos contienen una mezcla, pruébalo ls -l /usr/bin(corté resultados largos):

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

Los enlaces están claros ahora, 3 enlaces, los demás son archivos:

  • lal principio de lrwxrwxrwx(l enlace, d directorio, - archivo normal, c dispositivo char).

  • ->apunte al archivo de destino.

Respuesta2

Si usó alias para hacerlo, como le preguntan las personas en los comentarios, puede evitar temporalmente el alias escribiendo:

\su <restofthecommandhere>

El "\" le dice a bash que use el comando real, ignorando el alias. Luego, puedes editar tu .bashrc y eliminar la línea que hace referencia a este alias:

gedit $HOME/.bashrc

Respuesta3

Si usaste un alias, la forma de eliminarlo es la siguiente:

  1. eliminarlo temporalmente

    unalias su
    
  2. Para eliminarlo permanentemente, elimínelo de su archivo .bashrco .bash_aliases.

Lo más probable es que no hayas vinculado suel texto binario sublime porque hacerlo habría requerido sudoprivilegios. Así que comprueba si la primera solución de la lista funciona. Si funciona en ese momento y el problema vuelve a aparecer más tarde, debe seguir la instrucción 2.

información relacionada