쉘에서 별칭을 영구적으로 제거하는 방법


28

내가 컴퓨터 근처에 있지 않았을 때 어떤 사람이 그것을 가져 ls와서 내 루트 폴더에 별칭을 설정했습니다 . 그는로 설정했습니다 'yes NeverGonnaGiveYouUp'. 이제 루트 폴더에 im을 입력 ls하면 NeverGonnaGiveYouUp의 무한 루프가 나타납니다. 그것은 나를 미치게하고 그것을 제거하는 방법을 모른다.

이미 해봤 unalias하고 unalias -a있지만, 사람들은 단지 일시적으로 제거합니다. 껍질을 닫았다가 다시 열면 다시 나타납니다. 이 쓰레기를 없애려면 어떻게해야합니까?


2
출력은 grep -n 'NeverGonnaGiveYouUp' ~/.profile ~/.bashrc /etc/bash.bashrc /etc/profile무엇입니까? 쉘과 배포판에 따라 다른 파일들도 있습니다. 그러나 이것은 우리에게 시작을 제공해야합니다.
heemayl

5
그 릭 롤 커널 모듈 LOL
moonbutt74

답변:


24

unalias가 (일시적 으로라도) 문제를 제거하면 별칭이라는 것을 확인할 수 있습니다. ~ / .bashrc에 unalias ls를 추가하여 "브 루트 강제"될 수 있습니다.

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 명령은 현재 로그인 세션 동안 별칭을 해제했습니다. 별명은 .bashrc 파일에서 unalias 명령으로 제거되지 않습니다. 사용자가 다시 로그인하면 해당 별명이 다시 적용됩니다.

.bashrc는 숨겨진 파일이므로 다음을 입력하여 별칭 목록을 확인할 수 있습니다.

$ alias

쉘 구성 파일 ~ / .bashrc를 확인하면 필요한 별명을 영구적으로 제거 할 수 있습니다.

 vi ~/.bashrc

별명을 찾으려면 다음을 수행하십시오.

  $ type --all ls

별명을 제거하십시오.

unalias gs

매뉴얼 더보기

참고 : unalias -a 는 현재 쉘 실행 환경에서 모든 별칭 정의를 제거합니다.


-1

Ubuntu 16.04 LTS의 경우 다음 명령을 사용할 수 있습니다

cat /dev/null > ~/.bash_aliases

그러면 별칭 ~/.bash_aliases뿐만 아니라에 정의 된 모든 항목이 제거됩니다 ls(어쨌든 정의되지 않을 수도 있음).
Stephen Kitt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.