리눅스 명령행 인자(Command-Line Argument)와 명령어 옵션
‘리눅스 명령행 인자(Command-Line Argument)‘는 ‘리눅스 명령어 인수‘, ‘명령 인자‘ 등으로도 불리며, 리눅스 커맨드 라인에서 명령어를 실행할 때 프로그램에 전달하는 매개변수를 뜻 합니다.
리눅스에서 "매개변수(Parameters)"는 일반적으로 프로그램이나 함수에 전달되는 값을 가리킵니다. 이 값은 해당 프로그램이나 함수가 실행될 때 필요한 입력 값으로 사용됩니다. 컴퓨터 프로그래밍에서 "매개변수(Parameters)"는 함수에 전달되는 값을 받아들이는 변수를 의미합니다. 이는 함수 정의에 포함되며, 함수를 호출할 때 해당 매개변수에 값을 전달합니다.
여기에서 ‘인자’란 프로그래밍 언어에서 함수 호출 시 함수에 전달되는 값으로 정의할 수 있습니다. ‘인수’, ‘전달 인자’로도 부릅니다. C언어에서 명령 인자를 받는 것처럼 Bash 스크립트에서도 명령행 인자를 받습니다.
✅ 리눅스 명령행 인자
일반적으로 명령행 인자는 명령어 뒤에 공백으로 구분하여 추가됩니다. 프로그램은 이러한 명령행 인자들을 처리하고, 실행 중에 이들을 기반으로 동작하게 됩니다. C, Python, Java 등의 다양한 프로그래밍 언어에서는 명령행 인자를 처리하기 위한 방법들을 제공합니다.
C 언어에서는 main()
함수의 인자로 argc(argument count)와 argv(argument vector)를 사용하여 명령 인자들을 받아올 수 있습니다. Python에서는 sys.argv를 통해 명령행 인자에 접근할 수 있습니다.
* Main function without arguments:
int main()
* Main function with arguments:
int main(int argc, char* argv[])
C언어 main 함수에 전달되는 인자는 argc는 $#, argv[0]는 $0, argv[1]는 $1로 매칭됩니다.
리눅스 명령어는 주로 하나 이상의 [옵션]과 [명령 인자]들이 함께 사용됩니다. 명령 인자는 자동으로 프로그램의 매개변수에 전달됩니다. 명령 인자는 프로그램의 입력과 같이 넣어주는 인자로써 보통 실행하는 프로그램 뒤에 적게 됩니다.
✅ 리눅스 명령어 옵션과 명령 인자
보통 리눅스 명령어의 경우 명령어를 입력하고 대시(-)가 들어간 옵션 뒤에 인자가 붙게 됩니다.
# 명령어 옵션과 명령 인자
명령어 [-옵션] [명령 인자]
예를 들어 ls 명령어를 입력 했을 때 옵션 -l 을 입력하고 /home/user/www 의 경로가 인자가 됩니다.
ls -l /home/user/www
이번에 find 명령어의 예시를 들어,
find . -type f -name "*.txt"