본문 바로가기
개발/Linux

리눅스 파일 조작 명령어: ln과 shred로 파일 관리하기

by 낭만기사 2025. 4. 18.

리눅스 파일 조작 명령어

ln과 shred 명령어로 효율적인 파일 관리하기

ln 명령어: 파일 링크 생성하기

ln 명령어는 리눅스에서 파일에 대한 링크를 생성하는 명령어입니다. 링크에는 하드 링크와 심볼릭 링크(소프트 링크) 두 가지 유형이 있습니다.

 

1. ln -s: 심볼릭 링크 생성

심볼릭 링크는 Windows의 바로가기와 유사한 개념으로, 원본 파일을 가리키는 포인터 역할을 합니다.

기본 사용법:
ln -s [원본파일] [링크파일]

주요 특징:

  • 원본 파일과 다른 inode 번호를 가짐
  • 원본 파일이 삭제되면 링크가 깨짐 (dangling link)
  • 디렉토리에 대한 링크 생성 가능
  • 다른 파일 시스템 간 링크 생성 가능

예제:

# 현재 디렉토리에 있는 file.txt에 대한 링크 생성
ln -s file.txt link_to_file

# /var/log/messages에 대한 링크를 홈 디렉토리에 생성
ln -s /var/log/messages ~/system_logs

2. ln -f: 기존 링크 강제 덮어쓰기

-f 옵션은 이미 존재하는 링크 파일이 있을 경우 강제로 덮어씁니다.

주의: 이 옵션을 사용하면 기존 링크가 자동으로 덮어쓰여지므로 주의가 필요합니다.

사용법:

ln -sf [원본파일] [링크파일]

예제:

# 기존 link_to_file이 존재하더라도 강제로 새로운 링크 생성
ln -sf new_file.txt link_to_file
팁: 심볼릭 링크를 확인하려면 ls -l 명령을 사용하세요. 링크 파일은 화살표(->)로 원본 파일을 가리키는 모습을 볼 수 있습니다.

shred 명령어: 파일 내용 영구 삭제

shred 명령어는 파일의 내용을 완전히 삭제하고 복구할 수 없도록 만드는 명령어입니다. 민감한 데이터를 완전히 삭제해야 할 때 사용합니다.

 

shred 기본 사용법

shred는 기본적으로 파일 내용을 무작위 데이터로 여러 번 덮어씁니다(기본 3회).

기본 사용법:
shred [옵션] [파일]

주요 옵션:

  • -n 횟수: 덮어쓰기 반복 횟수 지정 (기본값: 3)
  • -z: 마지막에 0으로 덮어써서 흔적을 숨김
  • -u: 덮어쓴 후 파일 삭제
  • -v: 진행 상황 출력

예제:

# secret.txt 파일을 5번 덮어쓴 후 삭제
shred -n 5 -u secret.txt

# logfile을 3번 덮어쓴 후 0으로 한 번 더 덮어쓰고 삭제
shred -z -u logfile
주의사항:
  • shred는 모든 파일 시스템에서 완벽하게 작동하지 않을 수 있습니다 (예: journaling 파일 시스템)
  • SSD에서는 효과가 제한적일 수 있음
  • 루트 권한이 필요한 경우가 많음

shred와 일반 삭제의 차이점

항목 일반 삭제 (rm) shred
데이터 복구 가능성 가능 (휴지통 또는 복구 도구로) 거의 불가능
처리 속도 빠름 느림 (여러 번 덮어씀)
사용 목적 일반 파일 삭제 민감한 데이터 완전 삭제

실전 활용 예시

1. 프로젝트 공유 디렉토리 생성

여러 사용자가 공동으로 작업하는 프로젝트 디렉토리를 홈 디렉토리에서 쉽게 접근할 수 있도록 심볼릭 링크 생성:

ln -s /shared/projects ~/my_projects

2. 로그 파일 모니터링

시스템 로그 파일을 편리한 위치에서 모니터링하기 위해 링크 생성:

ln -sf /var/log/nginx/access.log ~/nginx_access.log

3. 임시 파일 안전 삭제

개인정보가 포함된 임시 파일을 안전하게 삭제:

shred -n 7 -z -u sensitive_data.tmp

리눅스 파일 조작 명령어를 효과적으로 활용하면 시스템 관리를 더욱 효율적으로 할 수 있습니다.

© 2023 리눅스 시스템 관리 블로그. All rights reserved.

반응형