터미널은 대화창이고, 명령어는 요청서다
터미널을 처음 열면 검은 화면과 깜박이는 커서가 보입니다. 이 화면은 컴퓨터에게 직접 말을 거는 대화창에 가깝습니다. 사용자는 문장 대신 명령어를 입력하고, 셸은 그 명령어를 해석해 프로그램을 실행합니다.
식당에서 주문서를 쓴다고 생각해 봅시다.
무엇을 주문할지: 명령어
어떻게 조리할지: 옵션
어떤 재료나 대상을 사용할지: 인자
터미널 명령어도 비슷합니다. 예를 들어 다음 명령은 현재 디렉터리의 파일 목록을 자세히 보여 달라는 요청입니다.
ls -l여기서 ls는 명령어이고, -l은 "긴 형식으로 자세히 보여 달라"는 옵션입니다. 명령어의 기본 구조를 알면 처음 보는 명령도 무작정 외우지 않고 읽어 낼 수 있습니다.
이번 장에서는 이전 장에서 만든 실습 디렉터리로 이동해 연습합니다.
cd ~/linux-practice
pwdpwd 결과가 /home/사용자명/linux-practice처럼 보이면 안전한 실습 공간에 있는 것입니다.
AI 생성 이미지
프롬프트 읽기: 지금 내가 어디에 있는가
명령을 입력하기 전에 먼저 프롬프트를 읽는 습관을 들이세요. 프롬프트는 보통 다음과 비슷합니다.
user@ubuntu:~/linux-practice$각 부분은 다음 의미를 가집니다.
user: 현재 로그인한 사용자 이름ubuntu: 컴퓨터의 호스트명, 즉 시스템 이름~/linux-practice: 현재 작업 중인 경로$: 일반 사용자 권한으로 명령을 입력 중이라는 표시
~는 현재 사용자의 홈 디렉터리를 뜻합니다. 예를 들어 사용자 이름이 user라면 ~는 보통 /home/user와 같습니다. 그래서 ~/linux-practice는 /home/user/linux-practice를 짧게 쓴 표현입니다.
프롬프트 끝이 $가 아니라 #이면 주의해야 합니다.
root@ubuntu:/##은 보통 관리자 권한, 즉 root 사용자 상태를 뜻합니다. 이 상태에서는 시스템 파일을 바꾸거나 지우는 명령이 더 쉽게 실행됩니다. 초보자는 특별한 이유가 없다면 # 프롬프트에서 작업하지 않는 것이 안전합니다. 관리자 권한이 필요한 명령은 나중에 sudo를 배운 뒤 필요한 순간에만 사용합니다.
프롬프트가 낯설면 먼저 다음 세 가지를 확인하세요.
whoami
pwd
hostnamewhoami는 현재 사용자, pwd는 현재 위치, hostname은 시스템 이름을 보여 줍니다. 명령을 실행하기 전 "나는 누구이고, 어디에서 실행하고 있는가"를 확인하는 습관은 실수를 크게 줄입니다.
명령어의 기본 구조: 명령어, 옵션, 인자
대부분의 Linux 명령어는 다음 구조를 따릅니다.
명령어 [옵션] [인자]대괄호 []는 실제로 입력하는 문자가 아니라 "있어도 되고 없어도 된다"는 뜻입니다.
가장 단순한 명령부터 보겠습니다.
datedate는 현재 날짜와 시간을 출력합니다. 별도의 옵션이나 인자가 없습니다.
이번에는 인자가 있는 명령입니다.
echo helloecho는 뒤에 받은 값을 화면에 출력합니다. 여기서 hello는 echo에게 전달한 인자입니다.
옵션이 있는 명령은 동작 방식이 달라집니다.
ls
ls -l
ls -als: 현재 디렉터리의 목록을 간단히 출력ls -l: 파일의 권한, 소유자, 크기, 수정 시각까지 자세히 출력ls -a: 숨김 파일까지 출력
옵션은 보통 하이픈으로 시작합니다. 짧은 옵션은 -l, -a처럼 하이픈 하나와 한 글자로 구성됩니다. 여러 짧은 옵션은 붙여 쓸 수 있는 경우가 많습니다.
ls -l -a
ls -la두 명령은 대부분의 환경에서 같은 의미입니다. "자세히 보여 주고, 숨김 파일도 보여 달라"는 뜻입니다.
긴 옵션은 하이픈 두 개로 시작합니다.
ls --all
ls --human-readable -l--all은 -a와 같은 의미입니다. --human-readable은 파일 크기를 사람이 읽기 쉬운 단위로 보여 줍니다. 예를 들어 바이트 숫자만 길게 표시하는 대신 4.0K, 1.2M처럼 보여 줄 수 있습니다.
긴 옵션은 짧은 옵션보다 입력은 길지만 의미가 분명합니다. 처음 배울 때는 긴 옵션을 함께 확인하면 명령의 의도를 이해하기 쉽습니다.
옵션은 방식, 인자는 대상이다
옵션과 인자를 구분하는 가장 쉬운 기준은 다음입니다.
옵션: 어떻게 실행할지 정한다.
인자: 무엇을 대상으로 실행할지 정한다.
예를 들어 다음 명령을 보겠습니다.
ls -l /etcls: 목록을 보여 주는 명령-l: 자세히 보여 주는 옵션/etc: 목록을 확인할 대상 디렉터리
즉 "/etc 디렉터리를 자세히 보여 달라"는 뜻입니다.
옵션이 값을 받는 경우도 있습니다.
head -n 5 /etc/os-releasehead는 파일의 앞부분을 출력하는 명령입니다. -n 5는 "5줄만 보여 달라"는 뜻이고, /etc/os-release는 읽을 파일입니다.
같은 의미를 긴 옵션으로 쓰면 다음과 같습니다.
head --lines=5 /etc/os-releaseLinux 명령어는 대소문자를 구분합니다. ls와 LS는 같지 않습니다. 파일 이름도 마찬가지입니다. memo.txt, Memo.txt, MEMO.txt는 서로 다른 이름으로 취급될 수 있습니다. 명령이 예상대로 실행되지 않으면 오타뿐 아니라 대소문자도 확인해야 합니다.
도움말을 읽는 법: 외우지 말고 찾아보기
Linux를 잘 쓰는 사람은 모든 옵션을 외우는 사람이 아닙니다. 필요한 순간에 사용법을 빠르게 찾고, 출력 내용을 읽어 판단하는 사람입니다.
가장 기본적인 도움말은 --help입니다.
ls --help많은 명령어는 --help 옵션을 제공하며, 사용 가능한 옵션을 짧게 보여 줍니다. 출력이 길면 터미널 위로 많이 흘러갈 수 있습니다. 이때는 뒤에서 배울 파이프와 검색 도구를 활용할 수 있지만, 지금은 우선 --help가 "빠른 사용법 확인"이라는 점만 기억하면 됩니다.
더 자세한 설명은 man으로 봅니다.
man lsman은 manual, 즉 설명서입니다. 화면이 바뀌면서 문서가 열립니다. 여기서는 다음 키만 알아도 충분합니다.
Space: 다음 화면으로 이동b: 이전 화면으로 이동/단어: 문서 안에서 단어 검색n: 다음 검색 결과로 이동q: 종료
man 문서에서 특히 먼저 볼 부분은 SYNOPSIS입니다. 이 부분은 명령어의 기본 사용 형태를 요약합니다. 예를 들어 ls [OPTION]... [FILE]...처럼 표시될 수 있습니다. 여기서 []는 선택 사항, ...은 여러 개가 올 수 있다는 뜻입니다. 따라서 ls는 옵션 없이도 실행할 수 있고, 파일이나 디렉터리 이름을 여러 개 받을 수도 있다는 의미입니다.
명령어가 무엇을 하는지 아주 짧게 확인하려면 whatis를 사용합니다.
whatis ls
whatis pwd결과는 한 줄 설명에 가깝습니다. 만약 "nothing appropriate"처럼 나온다면 설명서 데이터베이스가 준비되지 않았을 수 있습니다. Ubuntu 계열에서는 보통 시간이 지나면 자동으로 갱신되지만, 필요하면 관리자 권한으로 mandb를 실행해 갱신할 수 있습니다. 다만 지금 단계에서는 man 명령어와 명령어 --help를 먼저 사용하면 충분합니다.
명령어의 실행 파일 위치를 확인할 때는 whereis를 씁니다.
whereis ls
whereis bash출력은 대략 다음처럼 보일 수 있습니다.
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz이 결과는 ls 실행 파일이 /usr/bin/ls에 있고, 관련 설명서 파일도 있다는 뜻입니다. 명령어가 단순한 글자가 아니라 실제 파일로 존재한다는 점을 이해하면 Linux 구조가 조금씩 보이기 시작합니다.
반복 입력을 줄이는 기본 습관
터미널에서는 같은 명령을 여러 번 고쳐 실행하는 일이 많습니다. 매번 처음부터 입력하면 금방 지칩니다. 다음 기능을 익히면 실습 속도가 빨라집니다.
방향키 위쪽은 이전 명령을 불러옵니다.
↑여러 번 누르면 더 오래된 명령으로 이동합니다. 아래쪽 방향키는 다시 최근 명령으로 내려옵니다.
명령 기록 전체를 보려면 history를 사용합니다.
history출력 왼쪽에는 번호가 붙습니다. 예를 들어 25번 명령을 다시 실행하려면 다음처럼 입력할 수 있습니다.
!25다만 !번호는 즉시 실행되므로 주의해야 합니다. 특히 삭제나 변경 명령을 다시 실행할 때는 먼저 방향키로 불러와 내용을 확인한 뒤 Enter를 누르는 편이 안전합니다.
자주 쓰는 Ctrl 단축키도 있습니다.
Ctrl + A: 커서를 줄 맨 앞으로 이동Ctrl + E: 커서를 줄 맨 뒤로 이동Ctrl + U: 커서 앞쪽 내용을 모두 지움Ctrl + K: 커서 뒤쪽 내용을 모두 지움Ctrl + C: 현재 입력 중이거나 실행 중인 명령을 중단Ctrl + L: 화면을 정리함.clear명령과 비슷함
Ctrl + C는 초보자에게 특히 중요합니다. 명령이 멈춘 것처럼 보이거나 잘못 실행했다고 판단되면 먼저 Ctrl + C로 중단을 시도하세요. 단, 이미 파일을 삭제하거나 변경한 뒤에는 중단해도 되돌아오지 않을 수 있습니다. 그래서 실행 전 확인이 더 중요합니다.
자동 완성은 Tab 키로 사용합니다.
cd ~/linu<Tab>입력한 글자로 시작하는 경로가 하나뿐이면 셸이 나머지를 채워 줍니다. 후보가 여러 개면 Tab을 한 번 더 눌렀을 때 목록을 보여 주는 환경이 많습니다. 자동 완성은 빠르기도 하지만 오타를 줄이는 안전장치이기도 합니다.
실습: 처음 보는 명령을 스스로 확인하기
다음 순서대로 직접 입력해 보세요.
cd ~/linux-practice
pwd
whoami
hostname프롬프트와 출력 결과를 비교합니다. 현재 사용자명, 시스템 이름, 작업 경로가 서로 어떻게 연결되는지 확인하세요.
다음으로 ls의 옵션 차이를 확인합니다.
ls
ls -a
ls -l
ls -la
ls --all출력이 어떻게 달라지는지 눈으로 비교합니다. 숨김 파일은 이름이 점 .으로 시작합니다. .은 현재 디렉터리, ..은 부모 디렉터리를 뜻합니다. 이 두 항목은 앞으로 경로를 배울 때 자주 등장합니다.
마지막으로 도움말을 열고 닫아 봅니다.
ls --help
man lsman ls가 열리면 /human을 입력해 human이라는 단어를 찾아보세요. 검색 결과가 보이면 n으로 다음 결과를 이동하고, q로 종료합니다.
문제 해결 시나리오: 명령이 낯설 때의 순서
상황을 하나 가정해 봅시다. 누군가 다음 명령을 실행하라고 말했습니다.
ls -lh /var/log처음 보는 옵션이 있어도 바로 실행하지 말고 읽어 봅니다.
ls는 목록을 보여 주는 명령이다.-l은 자세히 보여 주는 옵션일 가능성이 높다.-h는 크기를 읽기 쉽게 보여 주는 옵션일 수 있다./var/log는 대상 경로다.
확신이 없으면 도움말을 확인합니다.
ls --help
man ls그리고 대상이 무엇인지 생각합니다. /var/log는 시스템 로그가 저장되는 디렉터리입니다. 목록을 보는 것은 비교적 안전한 작업입니다. 반대로 rm, mv, chmod처럼 파일을 지우거나 옮기거나 권한을 바꾸는 명령이라면 실행 전 현재 위치와 대상을 더 엄격히 확인해야 합니다.
이 장의 핵심은 간단합니다. 명령어를 통째로 외우려 하지 마세요. 프롬프트를 읽고, 명령어를 명령어 + 옵션 + 인자로 나누고, 모르면 --help와 man으로 확인하면 됩니다. 이 습관이 생기면 터미널은 낯선 검은 화면이 아니라 설명서를 곁에 둔 작업 공간이 됩니다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.