hyei-devlog

[Linux] 리눅스 디렉토리 구조 & 기초 파일·링크 명령어 총정리 본문

Infra & Cloud/Linux

[Linux] 리눅스 디렉토리 구조 & 기초 파일·링크 명령어 총정리

winter126 2025. 6. 25. 13:31

 

리눅스 디렉토리

 

  • 중요한 디렉토리
    • bin (ls, cat 등)
    • etc (시스템 설정 파일)
    • home (일반 사용자 디렉토리)
    • tmp (임시파일 저장, 재부팅하면 내용 삭제)

 


 

주요 디렉토리

디렉토리 설명
/bin 기본 명령어(ls, cat 등)가 저장된 디렉토리
/etc 시스템 설정 파일이 위치 (ex. 네트워크, 방화벽 등)
/home 일반 사용자들의 홈 디렉토리
/tmp 임시 파일 저장소 (재부팅 시 삭제됨)
/root 루트 사용자의 홈 디렉토리
/var/log 로그 파일 저장소
/usr 사용자 프로그램과 라이브러리 저장 경로
/dev 장치 파일 (하드디스크, USB 등)
/proc 시스템 정보가 담긴 가상 파일 시스템

 

파일 및 디렉토리 확인 명령어

명령어 설명
ls -a 숨김 파일 포함 목록 보기
ls -l 상세 정보 보기 (권한, 소유자, 크기 등)
ls -F 파일 종류 표시 (디렉토리 /, 실행파일 * 등)
ls -R 하위 디렉토리까지 재귀적으로 목록 보기
pwd 현재 경로(절대 경로) 확인
cd 디렉토리 이동

 

파일 내용 보기

명령어 설명
cat 파일명 전체 내용 한번에 출력
less 파일명 스크롤 가능한 읽기 (실무에서 자주 사용됨)
head 파일명 처음 몇 줄 출력 (기본 10줄)
tail 파일명 마지막 몇 줄 출력 (기본 10줄)
tail -n 3 파일명 마지막 3줄만 출력

 

파일 줄 수, 단어 수, 문자 수 세기

명령어 설명
wc 파일명 줄 수, 단어 수, 바이트 수 순으로 출력
wc -l 줄 수만 출력
wc -w 단어 수만 출력
wc -c 바이트 수 출력
wc -m 문자 수 출력 (멀티바이트 문자도 반영)

 

절대 경로 vs 상대 경로

  • 절대 경로: /home/user/file.txt처럼 루트(/)부터 시작
  • 상대 경로: 현재 위치 기준 → ../, ./, file.txt 등

 


 

파일 생성 및 디렉토리 생성

명령어 설명
mkdir dir 디렉토리 생성
mkdir -p a/b 하위 디렉토리까지 한 번에 생성

 

파일 복사 (cp)

cp fileA fileAA          # 파일 복사
cp fileA fileAA dirX/    # 디렉토리로 복사
  • 디렉토리를 복사할 땐 -r 옵션 필요
cp -r dirX dirXX
명령어 설명
cp src dst 파일 복사
cp -r src dst 디렉토리 복사 (재귀)

 

파일 이동(mv)

mv fileD dirC/     # 파일 이동
mv fileA fileF     # 이름 변경도 가능
명령어 설명
mv a b 파일 또는 디렉토리 이동 및 이름 변경

 

파일 삭제 (rm, rmdir)

rmdir dirA/         # 빈 디렉토리만 삭제 가능
rm -r dirC/         # 내용이 있는 디렉토리 삭제
명령어 설명
rmdir dir 빈 디렉토리 삭제
rm -r dir 하위 내용 포함 전체 삭제

 


링크 파일 (ln)

하드 링크

ln fileB hardB
ls -il fileB hardB  # 같은 inode 번호 확인
  • 같은 inode를 가리킨다. 원본이 삭제되어도 살아있다.
  • 하나 수정하면 다른 것도 같이 바뀐다.

 

심볼릭 링크

ln -s fileC symbolC
ls -il fileC symbolC
  • 링크 자체는 별도 inode를 가진다.
  • 원본 경로를 가리키므로, 원본이 삭제되면 링크는 깨진다.

 

항목 하드 링크 (Hard Link) 심볼릭 링크 (Symbolic Link)
연결 방식 실제 파일 데이터(inode)에 직접 연결 파일 경로를 가리키는 포인터
inode 공유 ✅ 공유 (같은 번호) ❌ 각자 다른 번호
원본 삭제 시 링크 링크 유효 (내용 그대로 유지) 링크 깨짐 (경로만 가리키므로)
디렉토리 링크 ❌ 대부분 불가 ✅ 가능
크기 차이 거의 없음 (실제 데이터 공유) 경로 문자열만 저장
사용 명령어 ln ln -s
실습 예시 ln file.txt hard.txt ln -s file.txt soft.txt
 

 

비유로 이해해보기

상황 하드 링크 심볼릭 링크
하나의 책에 여러 개의 책갈피를 꽂은 느낌 책 이름을 쓴 표지판을 만든 느낌
핵심 책갈피는 원본 없어도 책이 남아있으면 계속 읽을 수 있음 표지판은 책이 사라지면 갈 곳이 없음

 

하드링크 vs 심볼릭 링크