강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
alias 리눅스별칭명령어다루기1편
조회 : 11,299  


문서제목 : alias 리눅스별칭명령어다루기1

 

작성 : 리눅스포털(www.superuser.co.kr)수퍼유저코리아 성수

 

 

 

리눅스의 기본명령어와 긴 명령어를 다른 이름으로 간단히 줄여서 사용할 수 있는 별칭명령어의 활용법에 대해서 배워보겠습니다.

 

alias는 명령어를 간소화하여 다른이름으로 사용할 수 있도록 해주는 쉘내부명령어입니다. , 복잡한 명령어나 여러 옵션을 사용하는 명령어를 간단한 이름으로 사용할 수 있도록 하는 명령어입니다.

 

간단한 예로서 우리가 흔히 사용하는 "ll"이라는 명령어를 사용할 수 있는 이유는 ll자체가 명령어이기 때문이 아니라 "ls -al"이라는 명령어를 "ll"로 사용할 수 있도록 alias(별명)로 설정되어 있기 때문입니다. 이와 같이 alias를 이용하시면 자주 사용하거나 복잡한 옵션을 가진 명령어를 alias(별명)화 시켜서 사용할 수 있습니다.

 

다음은 별칭명령어를 정의하는 형식입니다.

 

사용형식

        alias 별명='명령어정의'

        unalias 별명

 

위의 형식에서 지정된 '별명'의 명령어를 실행하면 '명령어정의'부분에 설정된 그대로 실행합니다. 이것이 별칭명령어(command alias)입니다. 그리고 정의된 별칭명령어를 해제하시려면 unalias 다음에 별칭명령어이름을 지정해 주시면 됩니다.

 

그리고 각사용자의 홈디렉토리에 존재하는 .bashrc파일에 보면 각 사용자의 개별alias가 정의되어 있는 것을 보실 수 있습니다.  예를들어 root의 홈디렉토리인 /root/존재하는 .bashrc파일의 내용을 보시면 다음과 같습니다.

 

 

.bashrc파일은 각 계정사용자가 로그인 했을때 자동으로 실행하여 사용환경을 설정하는 파일입니다. 따라서 이 파일에 정의되어 있는 내용은 사용자가 서버로 로그인 할 때마다 적용되는 것입니다.

 

위의 /root/.bashrc 파일에는 alias 3개 정의되어 있습니다. 이중 하나만을 설명드리면 다음과 같습니다. rm명령어를 사용하였을 경우에 "rm -i"가 실행되는 것과 같습니다. 예를들어 "rm testfile"이라고 하면 "rm -i testfile"이 실행되는 것과 동일합니다. alias를 설정한 목적은 -i의 옵션을 매번 적용하기 위해서입니다. , rm명령어로 파일을 삭제할 때에 -i옵션을 적용하여 삭제여부를 확인하기 위함입니다.

 

리눅스에서는 Bash Shell, /bin/bash쉘이 기본쉘이므로 여러분들이 사용하시는 홈디렉토리의 .bashrc파일에 alias를 적용해 두시면 로그인마다 적용이 되므로 자주 사용하는 명령어나 복잡한 옵션을 가진 명령어를 간편하게 사용하실 수 있을 것입니다. 만약 여러분들이 사용하는 쉘이 C Shell(C)이라면 .cshrc파일에 alias를 설정해 두시면 매번 로그인할 때마다 적용이 됩니다.

 

유익하다고 생각이 되신다면 아래의 예들을 각자의 서버환경에 맞도록 조금씩 수정하여 .bashrc파일에 적용해 보시는 것도 좋으리라 생각합니다.

 

그리고 이번 강좌에서는 alias명령어를 이용하여 본 강사의 경험을 토대로 실무에서 매우 편리하게 사용할 수 있는 별칭명령어를 만들어 사용할 수 있는 여러가지 방법들과 예에 대해서 배워볼 것입니다.

 

참고로 "alias"라고만 하면 현재 여러분이 사용하고있는 계정에 설정되어 있는 모든 alias를 확인하실 수 있으며 "alias 이름"이라고 하시면 "이름"에 해당하는 alias의 설정내용만을 확인하실 수 있습니다.

 

, 이번에는 리눅스 서버에 기본적으로 설정되어 있는 alias들에 대해서 알아보겠습니다.

 

리눅스 쉘프롬프트에서 아무런 옵션없이 그냥 "alias"라고만 하면 현재 정의되어 있고 사용가능한 별칭명령어들에 대한 설정내용을 모두 보여줍니다.

 

 

 확인하신 바와 같이 현재 각자 자기계정에 설정되어있는 alias를 확인하려면 그냥 "alias"라고 하시면 됩니다. , 현재 사용자의 서버사용환경에서 사용할 수 있는 alias를 확인하실 수 있습니다.

 

위의 결과를 보시면 다음과 같은 별칭명령어들이 정의 되어 있다는 것을 알 수 있습니다.

alias cp='cp -i'

cp라는 별칭명령어를 실행하면 ‘cp -i’가 실행이

 

alias ll='ls -l --color=tty'

ll이라는 별칭명령어를 실행하면 ‘ls -l --color=tty’가 실행

 

alias mv='mv -i'         

mv라는 별칭명령어를 실행하면 ‘mv -i’가 실행

 

alias rm='rm -i'         

rm이라는 별칭명령어를 실행하면 ‘rm -i’가 실행

 

alias vi='vim'         

vi라는 별칭명령어를 실행하면 ‘vim’ 실행

 

cp라는 별칭명령어는 ‘cp -i’로 별칭이 설정되어 있으며,
   ll이라는
별칭명령어는 ‘ls -l --color=tty’로 별칭설정이 되어 있으며,
   mv
라는 별칭명령어는 ‘mv -i’로 별칭설정 되어 있으며,

   rm이라는 별칭명령어는 ‘rm -i’로 별칭설정 되어 있으며,
   vi라는
별칭명령어는 ‘vim’으로 각각  별칭설정이 되어 있음을 확인할 수 있습니다.

 

, cp라는 별칭명령어를 실행하면 ‘cp -i’가 실행이 된다는 것을 알 수 있으며

ll이라는 별칭명령어를 실행하면 ‘ls -l --color=tty’가 실행이 된다는 것을 알 수 있으며 mv라는 별칭명령어를 실행하면 ‘mv -i’가 실행이 된다는 것을 알 수 있으며

rm이라는 별칭명령어를 실행하면 ‘rm -i’가 실행이 된다는 것을 알 수 있으며

vi라는 별칭명령어를 실행하면 ‘vim’ 실행이 된다는 것을 각각 알 수 있습니다.

 

지금까지 확인하신 별칭명령어들은 리눅스의 각 계정사용자들에게 기본적으로 설정되어 있는 것으로서 따로 정의하지 않아도 언제든 사용가능하다는 것을 알 수 있습니다.

 

앞에서는 리눅스에 기본적으로 정의되어 있는 별칭명령어들에 대해서 알아보았습니다.  이번에는 필요한 별칭명령어를 간단히 만들어 사용하는 예를 보도록 하겠습니다.

 

서버관리를 하다보면 현재 위치에서 디렉토리리스트만을 확인해야 할 때가 있습니다. , "ls -l"이라고하면 파일과 디렉토리들을 한번에 리스트하여 보여줍니다. 가끔씩은 파일을 제외한 디렉토리리스트만을 확인할 필요성을 느끼곤 합니다.  이런경우에 간단히 디렉토리리스트만 확인하는 alias를 설정하여 간편하게 사용할 수 있는 예를 보이도록 하겠습니다.  , 이번 예에서는 lsd라고 하면 디렉토리정보만을 보여주도록 alias를 설정해 보겠습니다.

 

현재 디렉토리에는 파일과 디렉토리들이 함께 존재하고 있습니다. 이들 중 파일들을 제외하고 디렉토리리스트만을 확인하고자 합니다.

 

 

다음와 같이 lsd라는 alias를 설정 하였습니다. 이렇게 정의한 alias의 의미는 "ls -l"의 결과들중 각행에 대하여 첫번째 문자가 d로 시작하는 행들만을 보겠다라는 것입니다. lsd라고만 하면 각각의 행이 d로 시작하는 행은 디렉토리들뿐이므로 결과적으로 디렉토리리스트만을 보게 됩니다.

 

alias lsd='ls -l | grep "^d"'

 

- 일반정규파일만을 확인하는 별칭명령어 : alias lsd='ls -l | grep "^-"'

- 심볼릭링크파일만을 확인하는 별칭명령어 : alias lsd='ls -l | grep "^l"'

- 소켓파일만을 확인하는 별칭명령어 : alias lsd='ls -l | grep "^s"'

- 블록장치파일만을 확인하는 별칭명령어 : alias lsd='ls -l | grep "^b"'

- 문자장치파일만을 확인하는 별칭명령어 : alias lsd='ls -l | grep "^c"'

 

 

이제 다음과 같이 lsd라고 입력해 보았습니다. 예상했던 결과대로 디렉토리들만 결과로 보여줍니다. 본 강사가 관리하고있는 모든 리눅스서버에 이와같은 alias를 설정하여 사용하고 있습니다. 여러분께서도 이 alias가 유용하다고 생각하신다면 여러분들의 홈디렉토리에 존재하는 .bashrc파일에 alias를 설정해 두시기만 하면 계속적으로 사용하실 수 있습니다.

 

 

다음은 강사의 서버에 root계정의 .bashrc파일에 alias를 설정하는 예를 보인 것입니다. vi를 실행하여 /root/.bashrc파일의 맨 마지막행에 alias lsd='ls -l | grep "^d"'를 추가 하였습니다. 그리고 저장한 후에 vi를 종료 하였습니다.

 

 

이렇게 하여 설정된 alias를 확인한 것입니다. 다음 결과는 현재 root계정에 설정되어 있는 alias들을 확인한 것입니다. alias의 실행결과에서 lsd라는 별칭명령어의 정의내용을  확인할 수 있습니다. 이후로는 서버로 접속하신 후에는 별다른 설정없이도 항상 lsd라는 alias를 사용하실 수 있습니다.

 

 

이상과 같이 alias를 이용하시면 필요한 별칭명령어를 만들어 사용할 수 있다는 것을 알 수 있습니다.    

 

이번에는 숨김파일과 디렉토리까지 모두 확인하는 별칭명령어를 만들어 보도록 하겠습니다.

 

, "ll"이라고만 하면 "ls -al"실행되어 .()으로 시작하는 파일과 디렉토리들까지도 모두 보여주는 별칭명령어를 만들어 보도록 하겠습니다.

 

alias를 생성하는 방법과 확인하는 방법은 앞의 예와 동일합니다. 먼저 "ll"이라는 이름의 alias "ls -al"로 다음과 같이 하였습니다.

 

 

그리고 "ll"이라는 "alias ll"이라고 하면 "ll"이라는 alias에 설정되어 있는 내용을 확인할 수 있습니다.

 

이렇게 설정된 alias로 다음과 같이 "ll"이라고 실행해 보았습니다. "ll"의 결과 다음과 같이 .()으로 시작하는 모든 파일과 디렉토리들을 포함한 결과를 보여줍니다.

 

 

 

"ll"이라는 alias 또한 유용하다고 생각되신다면 접속시마다 매번 적용하기 위하여 자신의 홈디렉토리에 존재하는 .bashrc파일에 alias를 설정해 주십시요.

 

그리고 만약 설정한 alias를 해제하시려면 아래와 같이 "unalias 이름"과 같이 해주시면 됩니다. 아래의 예는 방금 설정한 "ll"이라는 alias를 해제한 것입니다.

 

 

이후부터는 "ll"이라고 입력하더라도 alias를 인식하지 못하게 되었습니다.

 

제공 : 리눅스포털(www.superuser.co.kr)수퍼유저코리아

 

 


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1431


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
박성수
파파
헐렁고수