Как удалить псевдоним из моей оболочки навсегда

28

Когда меня не было рядом с компьютером, какой-то парень достал его и установил псевдоним для себя lsв моей корневой папке. Он установил это 'yes NeverGonnaGiveYouUp'. Так что теперь, когда я в своей корневой папке и lsнабираю, я получаю бесконечный цикл NeverGonnaGiveYouUp. Это сводит меня с ума, и я не знаю, как от этого избавиться.

Я уже пробовал unaliasи , unalias -aно те просто удалить его временно. Как только я закрываю оболочку и снова открываю ее, она возвращается. Как мне избавиться от этой хрени?

user155462
источник
2
Какой выход grep -n 'NeverGonnaGiveYouUp' ~/.profile ~/.bashrc /etc/bash.bashrc /etc/profile? В зависимости от вашей оболочки и дистрибутива, есть еще и другие файлы, но это должно дать нам начало ..
heemayl
5
Это звучит как тот модуль ядра
Rrick Roll

Ответы:

24

Если unalias удаляет проблему (даже временно), у нас есть подтверждение, что это псевдоним. Это можно было бы «принудить», добавив unalias ls в ~ / .bashrc.

echo "unalias ls" >> ~/.bashrc

Это будет оправдываться при каждом чтении bashrc и удалит псевдоним.
Это принесет вам некоторое спокойствие, но не решит реальную проблему, заключающуюся в том, что какой-то файл все еще содержит код для перезапуска псевдонима. Вам нужно найти, какой файл содержит проблему.

Если вы используете bash:

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

Это хороший список возможных файлов, которые получили определение. Если в этом поиске ничего не появляется или вы используете какую-то другую оболочку, сообщите нам об этом, чтобы получить дополнительную помощь.


источник
16

Команда unalias отключила псевдоним на время текущего сеанса входа. псевдоним не удаляется командой unalias из файла .bashrc, когда пользователь снова входит в систему, этот псевдоним снова действует.

.bashrc - это скрытый файл. Вы можете проверить список псевдонимов, набрав:

$ alias

Проверьте файл конфигурации оболочки ~ / .bashrc, и вы можете навсегда удалить необходимый псевдоним:

 vi ~/.bashrc

Чтобы найти псевдоним:

  $ type --all ls

Удалить псевдоним:

unalias gs

Больше в руководстве

Примечание : unalias -a удалит все определения псевдонимов из текущей среды выполнения оболочки.

Рамеш Чанд
источник
-1

Для Ubuntu 16.04 LTS вы можете использовать следующую команду

cat /dev/null > ~/.bash_aliases
Ashok
источник
Это удалит все, что определено в ~/.bash_aliases, а не только lsпсевдоним (который может даже не быть определен там в любом случае).
Стивен Китт