본문 바로가기
Server/Linux

[Linux] alias 설정하기

by ojava 2019. 9. 2.
반응형
어쩌다 또 서버에 직접 설정할 일이 생겼다 ^_ㅜ
이래저래 무엇이든 알아두는 것은 좋은 일이니 하게 된 김에 잘 정리해서 남겨두도록 하자.


Linux에서 작업을 진행하는 과정에서 자주 들어가게 되는 경로가 있는데 
이마저도 계속 입력하는게 일이라, 편의성을 위해 alias 명령어를 설정하고자 한다.

alias란, 특정 단어를 입력했을 때 미리 설정해둔 명령어가 실행될 수 있도록 설정하는 기능이다.
단어 자체는 '별칭'이라고 해석되는데 명령어 단축키라고 이해하면 더 와닿는다.

접속 중인 커맨드창에서 alias 라고 쳐보면 현재 설정된 alias 목록이 쭉 나온다.
일시적으로 'alias 별칭이름' 형태로 지정할 수도 있지만, 기왕 추가하는거 켤 때마다 항상 alias 설정으로 추가되어 계속적으로 사용할 수 있도록 설정파일에 추가하는 내용을 알아볼 예정이다.
 





[Linux] alias 설정하기
 
서버 내 인스턴스별 로그를 확인하기 위해서 로그 폴더로 이동하는 명령어를 추가한다고 가정해보자.
사실 내가 서버를 켜는 8할의 이유는 대부분 로그 확인을 위해서다.
내가 이 포스팅을 하게했던 기존의 방식은 아래와 같다.
(인간의 발전은 귀찮음을 극복하기 위해서임이 분명하다.)
AS-IS : 커맨드 창에 cd 로그파일 폴더경로 입력
ex. cd /home/tomcat8/logs
 

alias logs='cd /home/tomcat8/logs' 이런 alias를 미리 등록했다면?
그럼 아래와 같이 커맨드 창에 입력하면 된다.

TO-BE : 커맨드 창에 logs 입력
ex. logs

 

 

위의 예시처럼 alias를 이용하면 일이 간략하게 줄어든다.

자, 이제 그럼 alias 설정이 어디에서 불러와지는지부터 알아보자.
 
접속 계정별로 지정된 홈 디렉토리 내에 .bashrc 라는 설정 파일이 있다.
해당 파일을 열어보면 직접적으로 선언된 alias 내용들이 있고, 뭔지 모르겠는 내용도 적혀있다.

아주 기본적으로는 삭제 명령어인 rm이 alias로 등록되어 있고, 해당 명령어를 입력했을 때는 실제로 rm -i 라는 옵션이 추가된 명령어가 수행되게 된다.

삭제 시 한 번 더 확인하도록 하는 옵션을 추가한 것인데, 파일 삭제 전에 한 번 더 확인 할 수 있도록 기본 설정되어 있는 것으로 보인다.


이런식으로 .bashrc에 직접 추가되어 있는 내용도 있지만, 다른 내용을 살펴보면 다른 파일의 내용을 읽어들이는 부분도 확인할 수 있다.
일반적으로 해당 설정 파일을 직접 수정해서 alias를 추가하기 보다는 .bash_aliases 라는 alias 관리용 파일을 만들고 해당 내용을 .bashrc에서 읽어들이는 구문을 추가해서 사용자가 정의한 내용을 불러들이는 방식으로 진행한다.
 
.bashrc는 설정 파일이므로 이 파일 자체에 사용자가 정의한 alias를 추가하기 보다는 관리 효율성 및 편의성 증가를 위해 alias만을 모아둔 파일을 읽어들일 수 있도록 설정을 추가하는 형태로 진행하는 것이 좋다.
심지어 .bash_aliases를 만들어서 관리하는 것은 권고사항이다...☆

또한 Linux 접속 계정별로 alias를 관리할 수 있기 때문에, alias 목록만을 관리하기 위한 별도의 파일을 만들어서 관리하는 것이 좋다.

 

그럼 설정을 하나씩 진행해보자.

 

    • 기존 ~/.bashrc 파일 내용 확인하기

      .bashrc에 정의된 alias 내용도 살펴보고 어떤 파일의 설정 내용을 읽어들이는지 보자.
      기존에 누군가 .bash_aliases라는 파일을 추가해서 관리하고 있었다면 그 파일에 추가하여 관리하면 좋겠지만, 이 포스팅까지 찾아왔다면 설정의 황무지라고 보면 되겠다.

      앞으로 추가하게 될 alias용 설정파일을 읽어들이는 구문을 추가해보자.
IF [ -f ~/.bash_aliases ]; THEN
	. ~/.bash_aliases
FI

 

    • ~/.bash_aliases 파일 만들기 & alias 선언
      파일명은 누가 보더라도 alias 목록을 관리하는 파일임을 알 수 있는 이름인 .bash_aliases 로 생성하여 관리하자.
      물론 내가 정한게 아니라 기존에도 이 이름으로 관리한게 약속처럼 굳어져 왔으니 대세를 따르면 된다. 다른 이름으로 생성해도 관계없지만 다른 개발자들과의 약속이라 생각하면 편하다.
        vi 등의 에디터를 통해 .bash_aliases 를 새로 만들거나 기존의 파일을 불러온 뒤, 

우리가 만들고자 했던 로그 폴더로 이동하는 alias를 새로 선언해 보자.

alias logs='cd /home/tomcat8/logs'
alias showlog='tail -f /home/tomcat8/logs/catalina.out'

 

내 맘대로 로그파일을 읽어들이는 명령어까지 추가했다.
자주 실행하는 명령어들을 모아놨으니 이제 든든하다.

그럼 저장하고 logs를 치고 신나게 엔터를 치면 로그 폴더로 가질까?

 

  • 설정파일 바로 읽어들이기

그렇다. 안된다. 저장한다고 바로 alias가 적용되지 않는다.
터미널을 재시작하던가 로그인하는 등 설정파일을 다시 불러들이는 과정이 있어야 제대로 적용이 되니, 아무리 빨리 정성스레 천천히 어떻게 쳐봐도 로그 폴더로 이동은 안된다.

다들 성격 급하고 시간 없고 다음 일이 밀려있는 사람들일테니 바로 적용하는 명령어도 있다.
.bash_aliases 파일을 읽어들이도록 설정한 .bashrc를 다시 읽어들이는 다음의 명령어를 수행해보자.

source ~/.bashrc 

 

source 명령어는 수정한 스크립트를 바로 적용하기 위해서 사용하는 명령어로, 위의 명령어는 홈 경로 하위에 있는 .bashrc 파일을 다시 읽어들이는 내용이다.

 

이런 과정을 거쳐서 alias 들을 추가하여 사용할 수 있다.
이 포스팅을 보는 모든 사람이 오늘 생각한대로 로직이 구현되고 결과물이 나오길!

다음에 이 포스팅을 또 다시 확인할 나 역시 마찬가지로~~~

반응형