웹사이트 검색

Linux에서 하드 및 심볼릭 링크를 만드는 방법


Linux와 같은 Unix 계열 운영 체제에서는 "모든 것이 파일"이며 파일은 기본적으로 inode(파일 이름과 실제 내용을 제외하고 파일에 대한 모든 것을 저장하는 데이터 구조)에 대한 링크입니다.

하드 링크는 다른 파일과 동일한 기본 inode를 가리키는 파일입니다. 파일 하나를 삭제하면 기본 inode에 대한 링크 하나가 제거됩니다. 반면 심볼릭 링크(소프트 링크라고도 함)는 파일 시스템의 다른 파일 이름에 대한 링크입니다.

참고 사항: 파일 및 디렉토리 관리 수행 방법

두 가지 유형의 링크 사이의 또 다른 중요한 차이점은 하드 링크는 동일한 파일 시스템 내에서만 작동할 수 있는 반면 심볼릭 링크는 다른 파일 시스템 간에 이동할 수 있다는 것입니다.

Linux에서 하드 링크를 만드는 방법

Linux에서 하드 링크를 생성하려면 ln 유틸리티를 사용합니다. 예를 들어, 다음 명령은 topprocs.sh 파일에 대한 tp라는 하드 링크를 생성합니다.

ls -l
ln topprocs.sh tp
ls -l

위의 출력을 보면 ls 명령을 사용하면 새 파일이 링크로 표시되지 않고 일반 파일로 표시됩니다. 이는 tptopprocs.sh와 동일한 기본 inode를 가리키는 또 다른 일반 실행 파일이라는 것을 의미합니다.

하드 링크를 소프트 링크로 직접 만들려면 다음과 같이 -P 플래그를 사용하세요.

ln -P topprocs.sh tp

Linux에서 심볼릭 링크를 만드는 방법

Linux에서 심볼릭 링크를 생성하려면 -s 스위치와 동일한 ln 유틸리티를 사용합니다. 예를 들어, 다음 명령은 topprocs.sh 파일에 대한 topps.sh라는 심볼릭 링크를 생성합니다.

ln -s ~/bin/topprocs.sh topps.sh
ls -l topps.sh

위 출력에서 파일 권한 섹션에서 topps.shl:로 표시된 링크임을 확인할 수 있습니다. 이는 다른 파일 이름에 대한 링크임을 의미합니다.

심볼릭 링크가 이미 존재하는 경우 오류가 발생할 수 있으므로 작업을 강제로 수행하려면(기존 심볼릭 링크 제거) -f 옵션을 사용하십시오.

ln -s ~/bin/topprocs.sh topps.sh
ln -sf ~/bin/topprocs.sh topps.sh

상세 모드를 활성화하려면 -v 플래그를 추가하여 출력에 연결된 각 파일의 이름을 인쇄합니다.

ln -sfv ~/bin/topprocs.sh topps.sh
$ls -l topps.sh

그게 다야! 다음 관련 기사를 확인해 보세요.

  1. fdupes – Linux에서 중복 파일을 찾아 삭제하는 명령줄 도구
  2. Linux에서 파일 형식과 시스템 시간을 관리하는 데 유용한 5가지 명령

이 기사에서는 Linux에서 하드 링크와 심볼릭 링크를 만드는 방법을 배웠습니다. 아래 피드백 양식을 통해 이 가이드에 대해 질문을 하거나 생각을 공유할 수 있습니다.