본문 바로가기

잡다/linux?

[Linux] WSL2 alias 저장

alias는 명령에 대한 별칭을 저장하는 기능이다. 이때, WSL2에서는 alias 명령으로 별칭을 지정해도 껐다 키면 개인적으로 지정한 alias가 모두 증발하는 일이 있었다. 즉, 해당 별칭은 WSL2가 작동할때만 저장되는 일종의 로컬 변수처럼 작동하고 있는 것이다. 이는 자신이 사용하는 유저의 /home/user-name 경로의 .bashrc에 별칭을 직접 등록하면 해결된다.

예를 들어보자. 나의 WSL2 환경에서는 프로그램 실행시 기본적으로 로컬 드라이브의 C:\Windows\System32 경로를 가리킨다. 따라서 해당 계정을 리눅스 환경에서 이용하기 위해 항상 /home/blaxsior 경로를 찾아야 한다.

이런 이유로 다음과 같은 alias를 지정한다고 해보자.

alias cdh='cd /home/blaxsior'

명령어가 잘 작동하는 모습을 볼 수 있다.

해당 명령어가 제대로 등록되어 있는지는 alias 명령을 통해 볼 수 있다.

분명 제대로 등록되어 있다. 이제 다시 프로그램을 껐다가 켜보자. logout 명령을 이용하면 끌 수 있다. 

프로그램을 다시 실행하여 cdh를 실행한 모습이다. 다음과 같이 발견할 수 없다는 오류를 발생시킨다.

 

 

alias 명령을 이용해도 해당 명령은 찾아볼 수 없다.

 

 

이제 .bashrc 파일을 수정해보자. 해당 파일은 위에서 언급했듯이 /home/user-name 에 존재한다.

 

해당 파일 어딘가에 ( 조건문 안 등은 제외 ) 다음과 같이 작성했다. 그럼에도 이것이 바로 적용되지는 않는다. 현재 추가한 옵션은 WSL2를 다시 실행했을 때 적용된다.

 

WSL2를 껐다가 다시 켜서, alias 에 등록된 명령을 수행해보자.

alias가 잘 작동된다.

 

명령은 성공적으로 작동된다.

 

결론

alias 내용은 .bashrc에 등록해 두면 리눅스 시작 시점에 해당 파일에서 읽어온다. 따라서 계속 사용할 별칭을 등록하는 경우, shell에 직접 입력하는게 아니라, .bashrc에 해당 명령을 등록해둬야 한다.

찾아보니 위의 동작은 WSL2의 특징은 아니고, 리눅스 운영체제에서도 동일하게 적용되는 것으로 보인다.

'잡다 > linux?' 카테고리의 다른 글

[WSL2] WSL2에서 vscode가 작동하지 않을 때  (0) 2021.12.08