자격증 정복/리눅스마스터

리눅스마스터 2급 필기 04 — 기본 명령어 ① 파일·디렉토리 조작 [1차 리눅스 일반]

올드 IT직장인 2026. 10. 3. 23:00

리눅스마스터 2급 필기 04 — 기본 명령어 ① 파일·디렉토리 조작 [1차 리눅스 일반]

출제기준 1차 대단원: 리눅스 일반 — 기본 명령어(디렉토리 및 파일)
리눅스 공부의 8할은 명령어 암기예요. 손으로 직접 쳐보면서 따라오세요!


디렉토리 생성·삭제 — mkdir, rmdir ⭐⭐⭐

명령 옵션 내용
mkdir -p 하위 디렉터리까지 일괄 생성(Parents)
  -m 생성과 동시에 권한 설정(Mode)
  -v 생성 과정 출력(Verbose)
rmdir (기본) 비어 있는 디렉터리만 삭제
  -p 삭제 후 상위도 비면 연쇄 삭제

 

⚠️ 함정: "rmdir은 파일이 든 디렉터리도 강제로 삭제할 수 있다" → 틀린 설명입니다.

rmdir은 빈 디렉터리만 지웁니다. 내용까지 지우려면 rm -r을 써야 합니다.


경로 이동 — cd, pwd ⭐⭐⭐

기호 의미
. 현재 디렉터리
.. 상위 디렉터리
~ 홈 디렉터리
- 직전에 머물렀던 디렉터리

 

⭐ "직전 디렉터리로 이동하는 기호는?" → -(하이픈)이 정답입니다..(현재)·~(홈)·..(상위)와 혼동하지 마세요.

pwd는 현재 작업 디렉터리의 절대 경로를 출력합니다.


목록 조회 — ls ⭐⭐⭐⭐ (최고 빈출)

옵션 내용
-a 숨김 파일(.로 시작) 포함
-l 상세 정보(Long)
-R 하위까지 재귀적으로
-d 디렉터리 자체의 정보(내부 아님)
-S 크기 큰 순서로 정렬

 

ls -l 출력 7개 필드 (반드시 암기)

-rw-r--r-- 1 root root 2743 Jan 27 12:00 passwd
  ①타입+권한  ②하드링크수 ③소유자 ④그룹 ⑤크기 ⑥수정일 ⑦이름

 

⭐ 함정 문제 단골: "권한을 확인하는 명령은?" → ls가 정답입니다.

chmod·chown·umask는 권한을 변경·설정하는 명령이라 성격이 다릅니다.


복사·이동 — cp, mv ⭐⭐⭐

cp 옵션 내용
-r 디렉터리 재귀 복사(Recursive)
-i 덮어쓸지 확인(Interactive)
-f 강제 덮어쓰기(Force)
-p 소유자·권한·시간 속성 유지(Preserve)
mv 옵션 내용
-f 확인 없이 덮어쓰기
-i 덮어쓸지 확인
-u 원본이 더 최신일 때만 이동(Update)

 

💡 cp는 원본이 그대로 남고, mv는 수행 후 원본이 제거됩니다. 핵심 차이입니다.

 

⭐ "디렉터리를 하위까지 전부 복사하는 옵션은?" → -r이 정답입니다.


파일 생성·확인 — touch, file, wc ⭐⭐

  • touch: 빈 파일 생성 또는 시간 정보(mtime 등) 변경
  • file: 확장자와 무관하게 파일의 실제 내용을 분석해 종류 판별
  • wc: -l(행) -w(단어) -c(바이트) -m(문자) 수를 계산

파일 내용 출력 — cat, head, tail, more, less ⭐⭐⭐

명령 특징
cat 전체를 한 번에 출력, 여러 파일 병합 가능
head 앞부분(기본 10줄)
tail 뒷부분(기본 10줄), -f로 실시간 추가 내용 확인(follow)
more 화면 단위 출력, 뒤로가기 제한적
less 양방향 탐색 가능(more를 개선)

 

⭐ "끝부분 10줄을 보는 명령은?" → tail

 

⭐ "로그 파일에 실시간으로 추가되는 내용을 계속 보는 옵션은?" → tail -f.

실무에서 tail -f /var/log/messages로 로그를 지켜볼 때 바로 이 옵션입니다.


파일 검색 — find, locate, grep, which ⭐⭐⭐⭐ (최고 빈출)

find — 속성 기반 검색

옵션 내용
-name 이름(대소문자 구분)
-type f=파일, d=디렉터리
-size 크기
-user 소유자
-mtime 내용 변경 시간(일 단위)
-exec [명령] {} ; 찾은 파일에 명령 실행

 

예시: find . -user ubuntu -type d → ubuntu 소유의 디렉터리만 검색

 

locate — DB 기반 초고속 이름 검색

미리 만들어 둔 DB(updatedb로 갱신)를 조회하므로 매우 빠르지만, DB 갱신 이후 생성된 파일은 검색되지 않습니다.

find는 실시간 탐색이라 느리지만 정확합니다.

 

grep — 내용(패턴) 검색

옵션 내용
-i 대소문자 무시
-v 패턴이 일치하지 않는 행만(invert)
-n 줄 번호 표시
-r 하위 디렉터리까지 재귀 검색
-l 파일 이름만 출력

 

⚠️ 함정: "패턴이 포함되지 않은 행만 출력하는 옵션은?" → -v입니다. -i(대소문자 무시)와 혼동하지 마세요.

 

which — 명령어의 실행 경로 확인

find   : 파일의 속성으로 찾기 (느리지만 정확)
locate : 파일의 이름으로 찾기 (DB 기반, 빠름)
grep   : 파일 내용에서 패턴 찾기
which  : 명령어가 어디 있는지 찾기

파일 비교 — diff, cmp ⭐⭐

명령 비교 단위 용도
diff 줄(행) 단위 텍스트 변경 사항 비교, 패치용(-u)
cmp 바이트 단위 바이너리 비교, 첫 차이점만 알려줌

기출 문제 Q&A

Q. 현재 디렉터리 위치가 /home/user1일 때, 다음 중 의미가 다른 것은? (cd .. / cd /home / cd ./.. / cd home)

A. cd home이 다릅니다. 앞의 세 개는 모두 상위 디렉터리(/home)로 이동하지만, cd home은 현재 디렉터리 하위에 있는 'home'이라는 디렉터리로 이동하려는 명령이라 의미가 전혀 다릅니다.

 

Q. rmdir에 대한 설명으로 틀린 것은?

A. "파일이 포함된 디렉터리도 강제로 삭제할 수 있다"가 틀렸습니다. rmdir은 빈 디렉터리만 삭제합니다.


💡 실무에서는?

find와 grep은 20년 인프라 일을 하면서 거의 매일 쓰는 명령어예요.

 

장애 조사할 때 find /var/log -mtime -1 -name "*.log"로 최근 변경된 로그만 골라내고,

grep -r "ERROR" /var/log/로 에러만 걸러내는 식이죠.

 

자격증 시험에서 옵션 하나하나를 외우는 게 지루할 수 있지만,

실무에서는 이 옵션 조합이 "장애를 10분 안에 찾느냐 1시간 걸리느냐"를 가르는 차이가 됩니다.


핵심 정리

✅ mkdir -p(부모까지생성) / rmdir(빈 디렉터리만 삭제!)
✅ 경로기호: . 현재 / .. 상위 / ~ 홈 / - 직전
✅ ls -l 7필드: 권한-링크수-소유자-그룹-크기-수정일-이름
✅ ls=권한 확인 (chmod/chown/umask=권한 변경)
✅ cp -r(재귀복사) / mv(원본 제거됨)
✅ tail -f = 실시간 로그 감시
✅ find(속성·느림·정확) vs locate(이름·DB·빠름) vs grep(내용) vs which(명령경로)
✅ grep -v = 패턴 미포함 행
✅ diff(줄단위) vs cmp(바이트단위)

 

다음 편에서는 기본 명령어 ② — 사용자·계정 관리와 기타 필수 명령어를 다룹니다!

 

궁금한 점은 댓글로 남겨주세요!

반응형