리눅스에서의 alias는 별칭을 지정하는 단축 명령어입니다.
쉽게 말해서 코딩에서의 함수 선언처럼,
명령어를 다른 이름으로 간소화하여 쉽게 사용할 수 있게 해주는 쉘 내부 명령입니다.
단, 명령어로 alias를 설정했을 때는 설정 내용이 부팅 시에 초기화됩니다.
부팅 시 초기화가 되지 않게끔 특정 파일에 설정해두면 부팅 시에 자동으로 적용됩니다.
주로 ~/.bashrc 나 /etc/profile 또는 ~/.profile에 alias를 설정해둡니다.
~/.bashrc 파일은 현재 로그인되어있는 계정의 쉘에 대한 기본 설정을 선언해두는 파일이며,
~/.profile 파일과 /etc/profile 파일은 각각
현재 로그인한 사용자, 모든 사용자에게 설정이 적용되는 파일입니다.
[alias] 명령어
- 별칭 지정 단축 명령어
- 형식 : alias 별명='명령어 정의'
- alias 확인 : alias
- alias 설정 : alias 별명='명령어 정의' (ex. alias c = 'clear')
- alias 해제 : unalias 별명 (ex. unalias c)
또한 alias는 리눅스의 다중 명령어 및 사용법 포스팅에서 알아봤던 더블 엠퍼센트와 더블 버티컬바를 alias에서 연산자로 사용할 수 있습니다.
[alias 연산자]
- AND 연산자 : &&
- OR 연산자 : ||
예제를 통해 간단히 알아보겠습니다.
mkc라는 명령어를 통해서 /Test/A/B/C 디렉터리를 자동으로 생성하고, 디렉터리 생성에 성공했을 시 자동으로 디렉터리 위치를 /Test/A/B/C로 변경하는 alias를 생성하겠습니다.
/Test/A/B/C 디렉터리를 생성하려면 [ mkdir –p /Test/A/B/C ]
(–p 옵션은 하위 디렉터리까지 생성하는 mkdir의 옵션입니다.)
디렉터리 생성에 성공했을 시에만 뒤의 명령어를 실행하기 위해서는 and 연산자인 [ && ]
디렉터리 위치를 C로 바꾸려면 [ cd /Test/A/B/C ]
따라서
alias를 사용하지 않고 직접 명령어를 입력해야 한다면 아래의 상황처럼 하나하나 귀찮게 써줘야 하겠죠.
[root@localhost /]# mkdir -p /Test/A/B/C && cd /Test/A/B/C [root@localhost C]# |
alias 설정은 간단합니다.
alias의 형식은 alias 별명=‘명령어 정의’이기 때문에
아래 예시처럼 설정해주시면 됩니다.
[root@localhost /]# alias mkc='mkdir -p /Test/A/B/C && cd /Test/A/B/C' |
(단, alias를 설정할 때 alias mkc =‘ 명령어 정의 ’처럼 별명과 등호 사이에 빈 칸이 있으면 아래처럼 오류가 납니다)
[root@localhost /]# alias mkc ='mkdir -p /Test/A/B/C && cd /Test/A/B/C' -bash: alias: mkc: not found -bash: alias: =mkdir -p /Test/A/B/C && cd /Test/A/B/C: not found [root@localhost /]# |
alias가 성공적으로 생성되었는지부터 확인해보겠습니다.
[root@localhost /]# alias | grep mkc alias mkc='mkdir -p /Test/A/B/C && cd /Test/A/B/C' [root@localhost /]# |
생성되었음을 확인했으니 mkc를 실행해봅니다.
[root@localhost /]# mkc [root@localhost C]# pwd /Test/A/B/C [root@localhost C]# |
alias 해제도 해봅니다.
[root@localhost C]# unalias mkc [root@localhost C]# alias | grep mkc [root@localhost C]# |
[alias 연습문제]
아래의 기능을 갖는 [a1, a2, a3, a4] alias를 생성하시오.
a1 = /alias 디렉터리 생성 a2 = /alias 디렉터리 내부에 test1 파일 및 test2 디렉터리 생성 a3 = /alias 디렉터리 강제 삭제 a4 = /alias 디렉터리 생성과 같이 /alias 내부에 test1 파일 test2 디렉터리 생성 |
[alias 연습문제 답]
[root@localhost /]# alias | grep a[1-4] alias a1='mkdir /alias' alias a2='touch /alias/test1; mkdir -p /alias/test2' alias a3='rm -rf /alias' alias a4='a1&&a2' [root@localhost /]# |
[alias 연습문제 해설]
a1 = /alias 디렉터리 생성
=> alias a1='mkdir /alias'
a2 = /alias 디렉터리 내부에 test1 파일 및
-> touch /alias/test1
test2 디렉터리 생성
->mkdir -p /alias/test2
=> alias a2=’touch /alias/test1 ; mkdir –p /alias/test2’
또는 alias a2='touch /alias/test1 | mkdir –p /alias/test2’
a3 = /alias 디렉터리 강제 삭제
=> alias a3='rm -rf /alias'
a4 = /alias 디렉터리 생성과 같이 /alias 내부에
test1 파일 test2 디렉터리 생성
=> alias a4='a1&&a2'
'[Linux] 리눅스(CentOS7)' 카테고리의 다른 글
[Linux] 리눅스 사용자 관리 명령어 및 사용법 (2) | 2022.03.02 |
---|---|
[Linux] 리눅스 사용자 관리 파일 및 디렉터리 (0) | 2022.03.01 |
[Linux] 리눅스 vi 편집기 사용법 (2) | 2022.02.27 |
[Linux] 리눅스의 특수문자 종류와 사용법 (0) | 2022.02.26 |
[Linux] 리눅스의 다중 명령어 및 사용법 (0) | 2022.02.25 |