내가 컴퓨터를 사용하지 않는 동안 누군가가 그것을 가져와 ls
내 루트 폴더에 별칭을 설정했습니다 . 그는 그것을 로 설정했습니다 'yes NeverGonnaGiveYouUp'
. 이제 루트 폴더를 입력하면 ls
NeverGonnaGiveYouUp이라는 무한 루프가 발생합니다. 그것은 나를 미치게 만들고 그것을 제거하는 방법을 모릅니다.
나는 그것을 시도했지만 unalias
일시적 unalias -a
으로 만 제거했습니다. 쉘을 닫았다가 다시 열면 다시 나타납니다. 이 쓰레기를 어떻게 처리하나요?
답변1
unalias가 문제를 (일시적으로라도) 해결한다면, 그것이 별칭이라는 것을 확인할 수 있습니다. ~/.bashrc에 unalias ls를 추가하면 "무차별 대입"이 가능합니다.
echo "unalias ls" >> ~/.bashrc
이 명령이 실행되고 bashrc를 읽을 때마다 별칭이 제거됩니다.
이렇게 하면 마음이 편해지지만 별칭을 다시 시작하기 위한 코드가 여전히 포함된 일부 파일의 실제 문제는 해결되지 않습니다. 어떤 파일에 문제가 있는지 찾아야 합니다.
배시를 사용하는 경우:
grep "NeverGonnaGiveYouUp" /etc/profile /etc/bash.bashrc \
~/.bashrc ~/.bash_profile ~/.profile \
/root/.bashrc /root/.bash_profile /root/.profile
다음은 정의를 가져올 수 있는 파일의 좋은 목록입니다. 이 검색에 아무 것도 나타나지 않거나 다른 셸을 사용하는 경우 추가 지원을 위해 알려 주시기 바랍니다.
답변2
unalias 명령은 현재 로그인 세션 동안 별칭을 해제합니다. unalias 명령은 .bashrc 파일에서 별칭을 제거하지 않으며 사용자가 다시 로그인하면 별칭이 다시 적용됩니다.
.bashrc는 숨겨진 파일이므로 다음을 입력하여 별칭 목록을 확인할 수 있습니다.
$ alias
쉘 구성 파일 ~/.bashrc를 확인하면 원하는 별칭을 영구적으로 제거할 수 있습니다.
vi ~/.bashrc
별칭 찾기:
$ type --all ls
별칭 삭제:
unalias gs
자세한 내용은 다음을 참조하세요.수동
노트:unalias-a모든 별칭 정의는 현재 쉘 실행 환경에서 제거됩니다.
답변3
Ubuntu 16.04 LTS의 경우 다음 명령을 사용할 수 있습니다.
cat /dev/null > ~/.bash_aliases