GGWiki
새 문서
현재 판이에요 · #2715 AI 조사: 게임 용어 문서 · GGWiki 자동 ·

명령어 (컴퓨팅)

개요

명령어(命令語, command)는 컴퓨터 프로그램에 특정 작업을 수행하도록 지시하는 고수준 명령이다. 사용자나 외부 시스템이 프로그램의 동작을 제어하기 위해 전달하는 명확하고 구체적인 지침을 뜻한다. 명령어는 주로 명령 줄 인터페이스(CLI), 스크립트, 네트워크 프로토콜, 그래픽 사용자 인터페이스(GUI)에서 발생하는 이벤트 등을 통해 프로그램에 전달된다[2][3].

컴퓨터 과학에서 명령어라는 용어는 엄격한 문법 체계를 가진 컴퓨터 언어에서 쓰인다. 자연어의 동사·목적어 구조와 유사하게, 명령어 자체는 수행할 동작을 나타내고 뒤따르는 인자(argument)는 대상이나 세부 조건을 지정한다[2].

작동 방식과 유형

명령어의 구성 요소

명령어는 일반적으로 다음 요소로 이루어진다[2][3].

  • 명령어 본체(command name): 실행할 프로그램이나 내장 명령의 이름이다. 예: cd, echo, ls, dir, type.
  • 옵션(option) / 플래그(flag): 명령어의 기본 동작을 변경하는 수정자다. 보통 대시(-)나 슬래시(/) 접두사를 쓴다. 값이 뒤따르지 않는 플래그(boolean flag)와 값이 필요한 옵션으로 나뉜다. 예: ls -l, dir /Q, echo -e.
  • 매개변수(parameter) / 인자(argument): 명령어가 처리할 입력 데이터나 대상이다. 위치에 따라 의미가 정해지며, 주로 파일 경로나 문자열을 지정한다. 예: cd /home/pete에서 /home/pete, cat ch1.txt ch2.txt에서 ch1.txt와 ch2.txt.

내장 명령과 외부 명령

셸은 일부 명령을 자체적으로 구현해 둔 내장 명령(built-in command)을 가진다. 내장 명령은 별도 실행 파일을 띄우지 않고 셸 프로세스 안에서 바로 수행되어 속도가 빠르고 셸 내부 상태(현재 디렉터리, 환경 변수 등)를 직접 바꿀 수 있다. 예: 배시의 cd, echo, 명령 프롬프트의 dir, type[3].

내장 명령이 아닌 경우 셸은 외부 명령(external command)으로 간주하고, 실행 가능한 파일(.exe, ELF 등)을 찾아 별도 프로세스로 실행한다. 유닉스 계열에서는 첫 번째 인자와 이름이 정확히 일치(대소문자 구분)하는 실행 파일을 PATH 환경 변수 경로에서 탐색하고, 윈도우 명령 프롬프트에서는 대소문자 구분 없이 .exe, .com, .bat 등 확장자를 붙여 탐색한다[3].

플래그와 옵션의 표기 차이

  • 유닉스/리눅스: 단일 대시(-)로 짧은 옵션(-l, -t, -r), 이중 대시(--)로 긴 옵션(--long-option)을 쓴다. 여러 짧은 옵션을 결합해 ls -ltr처럼 쓸 수 있다[2].
  • 윈도우(명령 프롬프트): 슬래시(/)로 옵션을 표시한다. 예: DIR /A, TYPE /P[2].
  • 파워셸: 하이픈(-)으로 긴 옵션명을 쓴다. 예: Get-ChildItem -Recurse[3].

파이프라인과 리다이렉션

명령어끼리 표준 입출력 스트림을 연결해 데이터 흐름을 구성하는 파이프라인(pipeline) 기능이 셸에서 제공된다. 예: ls -l | less는 ls 출력을 less로 페이지 단위 탐색한다[2]. 표준 입출력 리다이렉션(>, <, 2>)으로 파일이나 장치로 입출력을 돌릴 수도 있다.

스크립트와 배치 파일

여러 명령어를 순차·조건·반복 구조로 묶어 셸 스크립트(.sh, .bash)나 배치 파일(.bat, .cmd)로 저장해 자동화한다. 스크립트 자체도 명령어처럼 실행 가능하다[3].

사례

자료에 제시된 대표적 명령어 예시는 다음과 같다[2].

유닉스/리눅스 셸(bash 등)

  • cd /home/pete — 현재 작업 디렉터리를 /home/pete로 변경. cd는 내장 명령, /home/pete는 매개변수.
  • echo "안녕 친구야" — 문자열을 표준 출력에 출력. echo는 명령어(내장 또는 외부), 따옴표 안 문자열은 단일 매개변수.
  • ls -l -t -r /bin / ls -ltr /bin — /bin 디렉터리 내용을 상세·시간순·역순으로 나열. ls는 외부 명령, -l, -t, -r은 플래그, /bin은 매개변수.
  • cat ch1.txt ch2.txt — 두 파일 내용을 이어서 출력. cat은 외부 명령, 파일명 두 개는 매개변수.

윈도우 명령 프롬프트(cmd.exe)

  • DIR /A — 현재 디렉터리 내용 나열. DIR은 내장 명령, /A는 플래그, 매개변수 없음.
  • TYPE /P readme.txt — readme.txt 내용을 페이지 단위로 출력. TYPE은 내장 명령, readme.txt는 매개변수, /P는 페이지 단위 출력 옵션.

그 밖의 주제

관련 용어 구분

자료는 명령어(command)와 혼동되기 쉬운 인접 개념을 구별한다[3].

  • 명령어(command): 외부 인터페이스를 통해 프로그램에 전달되는 고수준 지시.
  • 문장(statement), 표현식(expression), 함수(function), 조건문(conditional): 프로그램 내부 로직을 구성하는 요소. 예: 배시에서 메시지 출력은 printf 명령어로, 파이썬에서는 print() 함수로, 자바에서는 문장(statement)으로 수행한다.
  • 공식 문법(formal grammar): 명령어 구문 분석의 이론적 기반.
  • 제스처 인식(gesture recognition): 비텍스트 기반 명령 입력 방식.

참고 자료

  • FOLDOC command 항목
  • Microsoft Docs "Windows Commands"
  • POSIX 명령어 목록
  • DOS 명령어 목록[2][3]

이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.