LabHub
배우기 러닝패스 코스

Linux Fundamentals

Working With Files and Directories

LabHub 에서 이어서 보기

한국어 원문으로 표시합니다.

목표

파일과 디렉터리를 만들고, 옮기고, 링크로 연결하고, 묶어서 백업하는 흐름을 손에 익힙니다. 특히 하드 링크와 심볼릭 링크가 무엇이 다른지 inode 번호로 직접 확인합니다.

왜 중요한가

리눅스에서 파일 이름은 실체가 아니라 실체를 가리키는 참조입니다. 디렉터리는 (이름, inode 번호) 짝의 목록일 뿐이고, 데이터의 진짜 주인은 inode 입니다. 이 구조를 알면 "왜 mv 는 1GB 파일도 즉시 끝나는가", "왜 rm 을 해도 용량이 안 줄어드는가", "왜 하드 링크는 다른 디스크로 못 거는가"가 한 번에 설명됩니다. 반대로 이 구조를 모르면 그 셋을 각각 별개의 이상 현상으로 외우게 됩니다.

단계

  1. /root/work 디렉터리를 만드세요.
  2. /root/work/hello.txt 를 만들고 첫 줄에 hello labhub 를 넣으세요.
  3. /etc/hostname/root/work/hostname 으로 복사하세요. 내용이 원본과 완전히 같아야 합니다.
  4. /root/work/logs/2026/08 디렉터리를 한 번에 만드세요.
  5. /root/work/logs/2026/08 아래에 app1.log 부터 app5.log 까지 5개를 만들고, 그 파일들의 이름만(경로 제외) 한 줄에 하나씩 담은 /root/work/loglist.txt 를 만드세요.
  6. hello.txt 를 가리키는 하드 링크 /root/work/hello.hard 와 심볼릭 링크 /root/work/hello.link 를 각각 만드세요.
  7. /root/work/draft.txt 를 만들어 draft 한 줄을 넣은 뒤, /root/work/logs/2026/08/draft.txt이동하세요.
  8. /root/work/logs 디렉터리 전체를 /root/work/backup.tar.gz 로 압축해 묶으세요.

참고

작업 디렉터리 만들기

/root/work 디렉터리를 만드세요.

디렉터리를 만드는 명령은 mkdir 입니다. 경로는 /root/work 정확히 그대로.

첫 파일 만들기

/root/work/hello.txt 를 만들고 첫 줄에 hello labhub 를 넣으세요.

echo 의 출력을 파일로 보내거나(리다이렉션) vim 으로 직접 만들어도 됩니다.

시스템 파일 복사하기

/etc/hostname/root/work/hostname 으로 복사하세요. 내용이 원본과 완전히 같아야 합니다.

cp 는 원본을 그대로 두고 새 파일을 만듭니다. 복사본은 원본과 내용이 완전히 같아야 합니다.

중첩 디렉터리 한 번에 만들기

/root/work/logs/2026/08 디렉터리를 한 번에 만드세요.

mkdir 은 기본적으로 부모 디렉터리가 없으면 실패합니다. 상위 경로까지 한 번에 만드는 옵션이 있습니다.

로그 파일 목록 뽑기

/root/work/logs/2026/08 아래에 app1.log 부터 app5.log 까지 5개를 만들고, 그 파일들의 이름만(경로 제외) 한 줄에 하나씩 담은 /root/work/loglist.txt 를 만드세요.

find 로 .log 파일을 찾되, 경로 전체가 아니라 파일 이름만 필요합니다. -printf 나 basename 을 떠올려 보세요.

하드 링크와 심볼릭 링크

hello.txt 를 가리키는 하드 링크 /root/work/hello.hard 와 심볼릭 링크 /root/work/hello.link 를 각각 만드세요.

ln 은 하드 링크, ln -s 는 심볼릭 링크입니다. stat 으로 inode 번호(%i)와 링크 수(%h)를 비교해 보세요.

파일 이동하기

/root/work/draft.txt 를 만들어 draft 한 줄을 넣은 뒤, /root/work/logs/2026/08/draft.txt이동하세요.

복사(cp)가 아니라 이동(mv)입니다. 원본 자리에는 아무것도 남지 않아야 합니다.

로그 디렉터리 백업하기

/root/work/logs 디렉터리 전체를 /root/work/backup.tar.gz 로 압축해 묶으세요.

tar 로 묶고 gzip 으로 압축하는 옵션 조합이 필요합니다. logs 디렉터리 전체를 담아야 합니다.