시스템 소프트웨어 | 하드링크와 소프트링크

Faithful Dev·2025년 1월 28일

컴퓨터 공학

목록 보기
54/81

cp 명령어

cp파일이나 디렉토리를 복사할 때 사용하는 명령어이다. 복사본은 원본 파일과 독립적이며, 복사 이후에는 서로 영향을 미치지 않는다.

기본 사용법과 주요 옵션

파일 복사

cp source_file destination_file
  • source_filedestination_file로 복사한다.

디렉토리 복사

cp -r source_directory destination_directory
  • -r 옵션은 디렉토리를 재귀적으로 복사한다. 디렉토리 내 모든 파일과 하위 디렉토리가 복사된다.

파일 복사 시 확인 요청

cp -i source_file destination_file
  • -i 옵션은 복사 대상 파일이 이미 있을 경우, 덮어쓰기 전에 확인을 요청한다.

속성까지 복사

cp -p source_file destination_file
  • -p 옵션은 원본 파일의 속성(권한, 타임스탬프 등)을 유지하며 복사한다.

cp의 특징

  • 복사된 파일은 원본과 독립적이다.
  • 원본 파일을 수정하거나 삭제해도 복사본에 영향을 주지 않는다.

하드링크는 파일 시스템에서 동일한 파일에 대한 또 다른 이름을 생성하는 것이다. 원본 파일과 하드링크는 동일한 데이터 블록(inode)를 가리킨다.

특징

  • 하드링크는 원본 파일과 동일한 데이터를 가리킨다.
  • 원본과 하드링크는 동등한 관계이다.
  • 원본 파일을 삭제해도, 하드링크가 남아있다면 데이터는 삭제되지 않는다.
  • 하드링크는 같은 파일 시스템 안에서만 생성 가능하다.

사용법

하드링크 생성

ln source_file hardlink_name
  • source_file에 대한 하드링크를 hardlink_name으로 생성한다.

예시

ln original.txt hardlink.txt
  • original.txthardlink.txt는 동일한 파일 데이터를 가리킨다.

검증

  • ls -li 명령어로 inode 번호를 확인한다. 원본 파일과 하드링크는 동일한 inode 번호를 가진다.
ls -li

하드링크의 장점

  • 저장 공간을 추가로 사용하지 않는다.
  • 데이터를 안전하게 백업하는 용도로 유용하다.

소프트링크는 파일이나 디렉토리에 대한 참조(Shortcut)를 생성한다. 원본 파일의 경로를 저장하고, 이를 통해 간접적으로 데이터를 참조한다.

특징

  • 소프트링크는 원본 파일을 직접 가리키는 대신, 파일의 경로를 가리킨다.
  • 원본 파일을 삭제하거나 이동하면, 소프트링크는 깨지게 된다. (Broken Link)
  • 디렉토리에 대해서도 소프트링크를 생성할 수 있다.
  • 파일 시스템 경계를 넘어 링크 생성이 가능하다.

사용법

소프트링크 생성

ln -s source_file symlink_name
  • source_file에 대한 소프트링크를 symlink_name으로 생성한다.

예시

ln -s /home/user/original.txt /home/user/symlink.txt

검증

  • 소프트링크는 ls -l 명령어로 확인할 수 있다.
ls -l

소프트링크의 장점

  • 파일 시스템 경계를 넘어 사용 가능.
  • 디렉토리에 대한 링크를 생성할 수 있음.
  • 원본 파일 위치를 유연하게 변경 가능.

소프트링크의 단점

  • 원본 파일이 삭제되면 링크가 깨져 사용할 수 없다.

정리

특징cp하드링크 (ln)소프트링크 (ln -s)
데이터 독립성원본과 독립적원본과 동일원본 파일 참조
저장 공간 사용추가 공간 필요추가 공간 사용 안 함추가 공간 거의 사용 안 함
원본 삭제 시 영향영향 없음데이터 유지링크가 깨짐
디렉토리 대상 사용가능 (-r 필요)불가능가능
파일 시스템 경계경계 넘을 수 있음경계 넘을 수 없음경계 넘을 수 있음
profile
Turning Vision into Reality.

0개의 댓글