본문 바로가기

학위공부/IT 자격증

2026 리눅스마스터 2급 ③ 기본 명령어|사용자·경로·파일 조작 실습

리눅스 터미널과 서버, 펭귄 캐릭터, 학습 체크리스트로 구성한 리눅스마스터 2급 학습 이미지

결론부터 말하면, 리눅스 기본 명령어는 ‘누구로 실행하는가, 어디에서 실행하는가, 무엇을 읽거나 바꾸는가’ 세 질문으로 분류하면 외우기 쉬워집니다. 명령 이름만 암기하지 말고 실행 전에는 idpwd, 실행 후에는 ls나 조회 명령으로 결과를 확인하는 습관을 들이세요.

KAIT 2급의 ‘기본 명령어’ 범위는 사용자 생성 및 계정 관리, 디렉터리 및 파일, 기타 명령어입니다. 이 글은 계정 변경 명령의 목적을 정리하되, 실습은 mktemp가 만든 임시 폴더 안에서만 수행해 기존 파일을 건드리지 않도록 구성했습니다. 전체 순서는 리눅스마스터 2급 전체 학습지도에서 확인하세요.

명령 선택 공식: 확인하려는 대상 → 읽기인지 변경인지 → 필요한 권한 → 옵션 → 대상 경로 순서로 생각합니다.

기본 명령어 핵심 비교표

질문 대표 명령 기본 동작 주의점
나는 누구인가? id, whoami, groups UID·GID·그룹·현재 사용자 조회 조회와 계정 변경 명령을 구분
어디에 있는가? pwd, cd, ls 현재 위치 이동·목록 조회 상대 경로는 현재 디렉터리에 따라 달라짐
무엇을 만들고 옮기는가? mkdir, touch, cp, mv 디렉터리·파일 생성, 복사, 이동 같은 이름의 대상 덮어쓰기 주의
내용을 어떻게 찾는가? cat, head, tail, grep, find 파일 내용·행·경로 검색 grep은 내용, find는 파일 경로 검색이 중심
출력을 어디로 보내는가? >, >>, | 덮어쓰기·이어쓰기·다음 명령 입력 연결 >는 기존 파일 내용을 비울 수 있음

사용자·그룹: 이름보다 UID와 GID

Linux는 내부적으로 사용자를 UID, 그룹을 GID라는 숫자로 식별합니다. 사용자 이름은 사람이 읽기 쉬운 표현입니다. 파일을 만든 사용자는 기본적으로 소유자가 되고, 소유자·그룹·그 밖의 사용자에게 서로 다른 권한을 줄 수 있으므로 계정 관리는 파일 권한의 출발점이 됩니다.

id
whoami
groups
getent passwd "$USER"
  • id: 현재 프로세스의 UID, 기본 GID와 보조 그룹을 함께 표시합니다.
  • whoami: 현재 유효 사용자 이름만 간단히 표시합니다.
  • groups: 사용자가 속한 그룹 이름을 봅니다.
  • getent passwd "$USER": NSS 설정을 통해 현재 사용자 계정 항목을 조회합니다.

계정 변경 명령은 목적을 구분해 암기

명령 형식 목적 핵심 주의점
useradd NAME 로컬 사용자 계정 생성 배포판 기본값과 홈 디렉터리 생성 옵션 확인
passwd NAME 해당 계정의 비밀번호 설정·변경 다른 사용자를 바꾸려면 관리자 권한 필요
usermod -aG GROUP NAME 보조 그룹에 기존 사용자 추가 -G만 쓰면 기존 보조 그룹 목록을 대체할 수 있음
userdel NAME 로컬 사용자 계정 삭제 홈·파일 보존 정책을 먼저 결정

위 표는 시험용 형식 설명입니다. 실제 계정 생성·수정·삭제는 로그인과 파일 소유권에 영향을 주므로 공용 시스템에서 연습하지 말고, 별도 가상 머신에서 관리자 정책을 확인한 뒤 실행하세요. Ubuntu는 사람이 쓰는 계정 관리에 adduser 사용을 권장하지만, KAIT 범위에서는 배포판 공통 저수준 명령인 useradd 계열도 함께 구분해야 합니다.

절대 경로와 상대 경로

표현
절대 경로 루트 디렉터리 /에서 시작하는 전체 위치 /home/kim/docs
상대 경로 현재 디렉터리를 기준으로 한 위치 docs/report.txt
. 현재 디렉터리 ./script.sh
.. 부모 디렉터리 ../backup
~ 현재 사용자의 홈 디렉터리로 셸이 확장 ~/docs

cd는 현재 셸의 작업 디렉터리를 바꾸므로 보통 셸 내장 명령입니다. pwd로 현재 위치를 확인하고, 삭제·이동 명령에는 가능하면 의도한 절대 경로나 명확한 상대 경로를 사용하세요. 파일 이름에 공백이 있으면 "my report.txt"처럼 따옴표로 묶어 한 인수로 전달합니다.

안전한 파일·디렉터리 실습

아래 블록은 임시 디렉터리를 만들고 셸이 끝날 때 그 임시 경로만 정리합니다. 줄 단위로 따라 하면서 각 명령 뒤에 경로와 결과가 어떻게 변하는지 확인하세요.

tmpdir=$(mktemp -d)
trap 'rm -rf -- "$tmpdir"' EXIT
cd "$tmpdir"

mkdir -p practice/docs
printf 'alpha\nbeta\n' > practice/docs/sample.txt
pwd
ls -la practice/docs

cp -v practice/docs/sample.txt practice/docs/copy.txt
mv -v practice/docs/copy.txt practice/docs/renamed.txt
cat -n practice/docs/sample.txt
grep -n 'beta' practice/docs/sample.txt
find practice -maxdepth 3 -type f -print
  • mkdir -p: 중간 경로까지 필요한 디렉터리를 만들고 이미 있어도 오류를 줄입니다.
  • cp는 원본을 남긴 채 복사하고, mv는 위치 이동 또는 이름 변경에 씁니다.
  • cat -n은 내용을 행 번호와 함께 표시하고, grep -n은 일치한 행 번호를 표시합니다.
  • find의 시작 경로는 practice, 조건은 최대 깊이와 일반 파일 유형입니다.

리다이렉션과 파이프

기호 동작
> 표준 출력을 파일로 보내 새로 쓰기 date > now.txt
>> 표준 출력을 파일 끝에 이어 쓰기 date >> history.txt
< 파일을 표준 입력으로 연결 wc -l < sample.txt
| 왼쪽 명령의 표준 출력을 오른쪽 명령의 표준 입력으로 연결 grep beta sample.txt | wc -l

Bash 공식 문서에서 >는 대상 파일이 있으면 기본적으로 길이를 0으로 줄인 뒤 출력하므로 특히 주의해야 합니다. 파이프는 임시 파일 없이 명령을 조합합니다. ‘기호가 파일을 움직인다’고 외우기보다 표준 입력 0, 표준 출력 1, 표준 오류 2의 흐름을 바꾼다고 이해하면 이후 셸 과목과 연결됩니다.

도움말을 먼저 보는 습관

ls --help
man ls
man 5 passwd
type cd

--help는 해당 프로그램의 빠른 옵션 요약, man은 시스템 매뉴얼, type은 이름이 별칭·내장 명령·실행 파일 중 무엇으로 해석되는지 확인할 때 유용합니다. man 5 passwd처럼 섹션 번호를 주면 명령이 아니라 파일 형식 설명을 선택할 수 있습니다.

자주 틀리는 지점

  • 현재 경로를 확인하지 않고 상대 경로 사용: 같은 명령도 실행 위치에 따라 다른 파일을 가리킵니다.
  • cpmv의 결과 혼동: 복사는 원본이 남고 이동은 원래 경로에서 사라집니다.
  • grepfind 혼동: 전자는 텍스트 행, 후자는 디렉터리 트리의 경로를 주로 찾습니다.
  • >를 이어 쓰기로 착각: 이어 쓰기는 >>이며 >는 기존 내용을 덮을 수 있습니다.
  • usermod -G-a 누락: 기존 보조 그룹이 대체될 수 있으므로 추가 목적이면 -aG를 함께 확인합니다.

셀프체크 5문제

  1. Q. UID와 사용자 이름의 관계는?
    A. 커널과 시스템은 사용자를 숫자 UID로 식별하고, 사용자 이름은 이를 사람이 읽기 쉽게 매핑한 표현입니다.
  2. Q. ../logs는 어떤 경로인가?
    A. 현재 디렉터리의 부모로 올라간 뒤 그 아래 logs를 가리키는 상대 경로입니다.
  3. Q. 복사와 이름 변경에 각각 쓰는 대표 명령은?
    A. 복사는 cp, 이동 또는 이름 변경은 mv입니다.
  4. Q. 파일 내용에서 error가 있는 행을 찾는 명령은?
    A. 예를 들어 grep -n 'error' 파일명처럼 grep을 사용합니다.
  5. Q. >|의 차이는?
    A. >는 출력을 파일로 보내고, |는 왼쪽 명령의 출력을 오른쪽 명령의 입력으로 연결합니다.

공식 자료

업데이트: 2026-07-11. KAIT 출제기준과 GNU·RHEL·Ubuntu 공식 문서를 기준으로 확인했습니다. 계정 관리 기본값과 제공 명령은 배포판별로 다를 수 있습니다.