티스토리 뷰
리눅스 명령어 만들기
리눅스 명령어의 구분
• 사용자는 리눅스 셸을 통해 명령어를 내려 리눅스 운영체제의 기능을 수행함.
• 리눅스 셸의 명령어는 쉽게 내부 명령어와 외부 명령어로 구분할 수 있음.
- 내부 명령어 : 셸에 내장된 명령어. 셸 프로그램 자체가 갖고 있는 명령어로 cd , echo 등이 있음.
- 외부 명령어 : 셸에 내장된 명령어가 아닌 모든 명령어는 파일 형태로 존재함. 외부 명령어는 실행 파일 형태로 존재하여 사용자가 명령어를 입력할 때마다 해당 실행 파일이 실행되는 원리임.
• type 명령어를 통해 확인할 수 있음.
- 내부 명령어의 경우 셸 내장 명령어라고 출력됨.
- 외부 명령어의 경우 해당 명령어 파일의 경로가 출력됨.

환경 변수 PATH
• 리눅스에서 실행 파일을 실행하기 위해선 경로 + 이름 의 형태로 실행하여야 함.
• 하지만 PATH라는 환경 변수에 등록된 경로에 존재하는 실행 파일들은 경로를 따로 입력하지 않아도 됨.
• 셸은 사용자가 경로 없이 명령어를 입력하면, 셸 내부 명령어인지를 먼저 판단 후 내부 명령어가 아니라면, 환경 변수 PATH에 등록된 경로의 디렉토리들을 뒤져 해당 명령어가 존재하는지 찾아 실행함.
• 환경 변수 PATH는 echo $PATH 명령을 통해 확인 가능.

• 즉, 현재 나의 리눅스 환경에서는 /usr/local/sbin , /usr/local/bin , /usr/sbin , /usr/bin , /sbin , /bin , /usr/games , /usr/local/games , /snap/bin 에 존재하는 실행 파일들을 경로 없이 이름만으로 실행이 가능하다는 뜻!
명령어 만들기
• 나의 실행 파일을 경로를 적지 않고 이름만으로 실행할 수 있게 하기 위해서 세 가지 선택지가 있음.
1. 나의 실행 파일을 환경 변수 PATH에 등록되어 있는 경로 중 한 곳에 위치시킨다.
2. 나의 실행 파일이 존재하는 경로를 환경 변수 PATH에 추가한다.
3. 실행 파일의 심볼릭 링크 파일을 생성하여 환경변수 PATH에 등록되어 있는 경로 중 한 곳에 위치시킨다.
• 관리의 편의로 인해 3번이 가장 많이 쓰임.
- 1번 방법은 내 실행 파일을 내가 관리하고 싶은 디렉토리에 위치 시키지 못한다는 단점.
- 2번 방법은 PATH에 추가되는 경로가 많아지게 되면 바로 실행되는 명령어가 너무 많아지게 되면서 보안상의 이슈나 명령어 겹침에 대한 이슈가 있음.



이 글은
유튜브 뉴렉처 리눅스(Linux) 서버 강의/강좌 for 개발자
강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.
'🐧 Linux' 카테고리의 다른 글
[Linux] 19. 리눅스 셸 설정 (로그인 셸 vs 비로그인 셸, profile, profile.d, bashrc) (0) | 2024.02.18 |
---|---|
[Linux] 18. 리눅스 런레벨 (Runlevel) (1) | 2024.02.06 |
[Linux] 16. 리눅스 실행 파일 만들기 (배치 파일, 셸 스크립트 파일, sh 파일) (0) | 2024.01.30 |
[Linux] 15. 파일 소유자, 소유 그룹 변경 (chown, chgrp) (1) | 2024.01.29 |
[Linux] 14. 사용자 그룹 조회, 생성, 수정, 삭제 (0) | 2024.01.27 |