강좌
클라우드/리눅스에 관한 강좌입니다.
프로그램 분류

쉘프로그래밍강좌014: 쉘내부명령어 실행할 수 있는 builtin 개론과 사용법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

쉘프로그래밍강좌014: 쉘내부명령어 실행할 수 있는 builtin 개론과 사용법

 

 

 

 

 

builtin은 리눅스 내부명령어를 실행하거나 사용법을 알고자 할 때에 사용하는 쉘내부명령어입니다.

 

 

 

builtin명령어는 리눅스의 내부명령어를 확인 할 수도 있으며 다른 내부명령어를 직접 실행시킬 수도 있습니다.

 

 

 

builtin명령어에서 중요한 것은 내부명령어와 쉘명령어(외부명령어)를 확실하게 구분할 수 있어야 한다는 것입니다.

 

 

 

 

 

 

사용형식 :  builtin 쉘내부명령어 [인자]

 

 

 

 

 

다음은 builtin을 이용하여 pwd라는 명령어를 실행한 것입니다.

 

 

 

 

내부명령어 pwd의 결과 현재 위치가 /root라는 것을 알 수 있었습니다.

 

 

 

 

 

[root@RockyLinux01 ~]# builtin pwd

/root

[root@RockyLinux01 ~]#

 

 

 

 

이번에는 cd라는 내부명령어를 실행하여 /etc/rc.d/ 로 이동하였습니다.

 

 

 

 

그리고 다시 내부명령어 pwd를 이용하여 현재 위치가 /etc/rc.d/라는 것을 확인한 것입니다.

 

 

 

 

 

[root@RockyLinux01 ~]# builtin cd /etc/rc.d/

[root@RockyLinux01 rc.d]#

[root@RockyLinux01 rc.d]# builtin pwd

/etc/rc.d

[root@RockyLinux01 rc.d]#

 

 

 

 

 

여기서 중요한 것은 쉘명령어 pwd와 내부명령어 pwd를 구분하는 것입니다.

 

 

 

 아래의 예를 보시기 바랍니다.

 

 

 

 

 

[root@RockyLinux01 rc.d]# which pwd

/usr/bin/pwd

[root@RockyLinux01 rc.d]#

[root@RockyLinux01 rc.d]# ls -l /usr/bin/pwd

-rwxr-xr-x. 1 root root 37512 10 31  2022 /usr/bin/pwd

[root@RockyLinux01 rc.d]#

 

 

 

 

 

이렇게 파일의 형태로 존재하고 있는 /bin/pwd라는 명령어와 방금 위의 예에서 사용한  "builtin pwd"는 다른 명령어입니다.

 

 

 

  /bin/pwd에 존재하는 pwd명령어는 쉘외부명령어입니다.

 

 

 

  하지만 builtin으로 실행한 pwd명령어는 리눅스 쉘내부명령어입니다.

 

 

 

 

 

또한 위의 예에서 "builtin cd /etc/rc.d/"라는 것은 내부명령어인 cd를 실행하여 /etc/rc.d/로 이동하는 명령어입니다.

 

 

 

 

 

필자가 이번 장에서 강조하고자 하는 것은 우리가 흔히 사용하는 리눅스명령어에는 내부명령어와 외부명령어가 존재하는데 내부명령어를 직접 실행시키고자 하는 경우에는 "builtin"을 사용하면 된다는 것입니다.

 

 

 

 

 

그리고 내부명령어의 종류를 확인해 보고자 한다면 "man builtin"을 해보시면 내부명령어리스트를 보여줍니다.

 

 

[root@RockyLinux01 rc.d]# man builtin

BASH_BUILTINS(1)               General Commands Manual                               BASH_BUILTINS(1)

 

NAME

       bash, :, ., [, alias, bg, bind, break, builtin, caller, cd, command, compgen, complete, compopt, continue, de

       clare, dirs, disown, echo, enable, eval, exec, exit, export, false, fc,  fg,  getopts,  hash,  help,  history,

       jobs,  kill, let, local, logout, mapfile, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt,

       source, suspend, test, times, trap, true, type, typeset, ulimit, umask, unalias, unset, wait -  bash  built-in

       commands, see bash(1)

..
이하 생략

 

 

위에 결과에서 보여지는 명령어들은 모두 쉘내부명령어들입니다.

 

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,806 개
  • 현재 접속자 :  106 명