본문 바로가기

별걸다하는 IT/리눅스 유닉스

[리눅스/유닉스] alias, unalias란 무엇인가, 등록 삭제 사용법과 관리파일(profile, cshrc, bashrc)

반응형

[리눅스/유닉스 완전정복 목차]

안녕하세요~~

오늘은 ALIAS에 대해서 알아보는 시간을 가질거예요.

 

[목차]

1. alias란 무엇인가

2. alias 확인방법

3. alias 등록/해제 하기

4. alias 파일과 파일위치

 

ALIAS란 무엇인가? 

ALIAS라는 영어 단어는 실제 풀이하면 '별칭', '별명'이라는 뜻을 가지고 있어요.

리눅스/유닉스에서 alias란, 명령어에 별명을 붙이는 겁니다! 이게 왜 필요하냐~~~

 

자주 사용하는 긴 명령어가 있을 때

매번 긴 명령어를 일일이 치기가 너무 귀찮아요..

그런데 내가 만약 이 긴 명령어를 long이라고 별명을 붙여넣을 수 있다면..? long만 쳐도 되니까 작업 속도가 빨라지겠죠? 약간 단축키 비스무리한거? 고런겁니다.

 

ALIAS 사용 예시

좀 더 자세한 예시로 갑시다.

만약 여러분이 다수의 c언어 소스파일 중 특정 단어를 검색해주는 명령어를 치려고 해요.

예를 들어, cardno 단어가 포함된 코드와 파일 목록들을 함께 보고 싶다면,

 

find . -name "*.c" | xargs grep -n cardno

위 명령어를 칠 수 있을 거예요.

위 명령어 의미는 파일명이 .c로 끝나는 파일들 중에, cardno 단어가 들어간 파일과 그 부분을 보여달라는 뜻입니다.

잘 뽑히는 것을 확인을 했어요.

 

근데 cardno뿐만 아니라, 금액, 날짜, 시간 등 여러 개를 검색해야 한다고 합시다.

 

find . -name "*.c" | xargs grep -n cardno;
find . -name "*.c" | xargs grep -n time;
find . -name "*.c" | xargs grep -n amt;

검색해야할 단어들이 너무 많은데 이 긴 명령어를 다 언제쳐.. !!

 

cfind cardno;
cfind time;
cfind amt;

'cfind cardno', 'cfind amt', 'cfind time' 이런식으로 짧게 짧게 검색하고 싶을 수 있죠!!

그럴 때 위 명령어를 cfind 와 같은 별명으로 등록을 하면 사용할 때마다 편하겠죠?

 

ALIAS 확인 방법

$ alias

alias에 어떤게 등록되어있는지 궁금하시면, 그냥 명령어 'alias'를 치면 나옵니다. 간단하죠? 

유닉스
리눅스

유닉스에서 alias를 치면 등록되어있는 alias를 확인할 수 있습니다.

 

ALIAS 등록/해제 하기

별명을 등록해봅시다.

문법은 이게 끝이예요.

 

find . -name "*.c" | xargs grep -n

아까 위에 예시로 들었던 요 명령어를 cfind로 등록해볼게요.

 

alias cfind='find . -name "*.c" | xargs grep -n' ## ALIAS 등록
unalias cfind ## ALIAS 해지

등록과 해지 명령어는 이렇게 되겠죠?

등록 한 번 해보고, 제대로 등록되었는지 확인 후 다시 삭제해봅시다.

실행 결과

등록 이후에는 grep으로 등록된 것을 잘 확인할 수 있어요.

또한, 삭제한 이후에는 grep으로 뽑히지 않는 것도 확인할 수 있습니다.

 

ALIAS 파일과 파일 위치 확인

근데 사실 위에서 명령어로 alias를 추가하는 건, 임시 별칭을 추가하는 거예요.

이 말은 뭐냐~~ 로그아웃하고 다시 들어오면 사라진다는 뜻..;;

 

영구적으로 별칭을 등록하려면 alias 파일을 직접 수정해서 추가해줘야 합니다.

그런데!! SHELL마다 이 파일 위치가 좀 달라요.

 

echo $SHELL

 

echo $SHELL 명령어를 통해서 현재 자신이 사용하고 있는 셸 종류가 무엇인지 확인할 수 있으니,

개인에게 맞는 위치를 찾아봅시다.

 

참고로 파일명 앞에 '.'은 숨김파일을 의미하며, ls -tlra 명령어로 숨김파일을 확인할수 있어요. (a - 숨김파일까지 보여줘)

 

■ 콘셸의 경우

$HOME/.profile

콘셸의 경우 $HOME/.profile에 있습니다.

 

 C셸의 경우

$HOME/.cshrc

C셸의 경우에는 파일 명이 .cshrc예요.

 

 bash의 경우 

모든 사용자의 alias 설정 파일

/etc/bash.bashrc

개인 사용자의 alias 설정 파일

$HOME/.bashrc

bashrc 파일에서 alias 추가된 모습

bash의 경우 좀 특별한대, 파일을 보면 위 사진처럼 직접 추가하는 부분도 있지만,

다른 파일의 내용을 읽어들이게끔 되어 있는 부분도 있어요.

즉 bash는 alias 관리용 파일을 내가 만들어서, 해당 파일을 .bashrc에서 읽어들이도록 하는 방식을 권고하고 있습니다.

보면 위처럼, bash_aliases 파일이 있을 경우 해당 파일을 읽게 되어있음!

 

오늘은 간단하게 alias에 관한 전반적인 내용을 다뤄봤어요.

도움이 되었다면 공감은 어떤가요? 정보 나눔에 동기가 됩니다. 

반응형