¿Cómo elimino permanentemente un Alias ​​de mi Shell?

28

Cuando no estaba cerca de mi computadora, un tipo lo consiguió y estableció un Alias lsen mi carpeta raíz. Lo puso a 'yes NeverGonnaGiveYouUp'. Entonces, cuando estoy en mi carpeta raíz y lsescribo, obtengo un bucle infinito de NeverGonnaGiveYouUp. Me está volviendo loco y no sé cómo deshacerme de él.

Ya lo he intentado unaliasy unalias -apero aquellos Basta con retirar temporalmente. Una vez que cierro la carcasa y la vuelvo a abrir, vuelve. ¿Cómo me deshago de esta basura?

usuario155462
fuente
2
¿Cuál es la salida de grep -n 'NeverGonnaGiveYouUp' ~/.profile ~/.bashrc /etc/bash.bashrc /etc/profile? Hay algunos otros archivos para ver también dependiendo de su shell y distribución ... pero esto debería darnos un comienzo ...
heemayl
55
Eso suena como ese módulo rick roll kernel LOL
moonbutt74

Respuestas:

24

Si unalias elimina el problema (incluso temporalmente) tenemos confirmación de que es un alias. Podría ser "forzado" mediante la adición de unalias ls en ~ / .bashrc.

echo "unalias ls" >> ~/.bashrc

Eso se ejecutará cada vez que se lea bashrc y eliminará el alias.
Eso le dará algo de tranquilidad, pero no resolverá el problema real de que algunos archivos todavía contienen código para reiniciar el alias. Necesita encontrar qué archivo contiene el problema.

Si usa bash:

grep "NeverGonnaGiveYouUp" /etc/profile /etc/bash.bashrc \
      ~/.bashrc ~/.bash_profile ~/.profile \
      /root/.bashrc /root/.bash_profile /root/.profile

Esa es una buena lista de posibles archivos que obtuvieron la definición. Si no aparece nada en esa búsqueda, o si usa algún otro shell, infórmenos para obtener más ayuda.


fuente
16

El comando unalias desactiva el alias durante la sesión de inicio de sesión actual. el alias no se elimina mediante el comando unalias del archivo .bashrc, cuando el usuario inicia sesión nuevamente, ese alias vuelve a estar vigente.

.bashrc es un archivo oculto. Puede consultar la lista de alias escribiendo:

$ alias

Verifique el archivo de configuración de shell ~ / .bashrc y puede eliminar el alias requerido permanentemente:

 vi ~/.bashrc

Para encontrar Alias:

  $ type --all ls

Eliminar un alias:

unalias gs

Más en manual

Nota : unalias -a eliminará todas las definiciones de alias del entorno de ejecución de shell actual.

Ramesh Chand
fuente
-1

Para Ubuntu 16.04 LTS puede usar el siguiente comando

cat /dev/null > ~/.bash_aliases
Ashok
fuente
Eso eliminará cualquier cosa definida ~/.bash_aliases, no solo el lsalias (que de todos modos podría no definirse allí)
Stephen Kitt