Linux의 Symlink 자습서 – 심볼릭 링크를 만들고 제거하는 방법

심볼릭 링크 (심볼릭 링크라고도 함)는 컴퓨터의 다른 파일이나 폴더를 가리키는 Linux의 파일 유형입니다. Symlink는 Windows의 바로 가기와 유사합니다.

어떤 사람들은 심볼릭 링크를 "하드 링크"가 아닌 Linux / UNIX 시스템의 링크 유형 인 "소프트 링크"라고 부릅니다.

소프트 링크와 하드 링크의 차이점

소프트 링크는 바로 가기와 유사하며 모든 파일 시스템의 다른 파일이나 디렉토리를 가리킬 수 있습니다.

하드 링크는 파일 및 폴더의 바로 가기이기도하지만 다른 파일 시스템의 폴더 또는 파일에 대해서는 하드 링크를 만들 수 없습니다.

심볼릭 링크 생성 및 제거와 관련된 단계를 살펴 보겠습니다. 또한 끊어진 링크가 무엇인지, 삭제하는 방법도 알아 봅니다.

Symlink를 만드는 방법

심볼릭 링크를 만드는 구문은 다음과 같습니다.

ln -s   

ln링크 명령입니다. -s플래그 지정 링크는 부드러운 것을. -s로 입력 할 수도 있습니다 -symbolic.

기본적으로 lncommand는 하드 링크를 만듭니다. 다음 인수는 path to the file (or folder)연결하려는 것입니다. (즉, 바로 가기를 만들려는 파일 또는 폴더입니다.)

그리고 마지막 인수는 그 path to link자체입니다 (단축키).

파일에 대한 Symlink를 만드는 방법 – 예제 명령

ln -s /home/james/transactions.txt trans.txt 

이 명령을 실행 한 후, 당신은이 액세스 할 수 있습니다 /home/james/transactions.txttrans.txt. 에 대한 수정 사항 trans.txt은 원본 파일에도 반영됩니다.

위의이 명령은 trans.txt현재 디렉토리에 링크 파일 을 생성합니다 . 다음과 같이 폴더 링크에 링크 된 파일을 만들 수도 있습니다.

ln -s /home/james/transactions.txt my-stuffs/trans.txt 

현재 디렉토리에 이미 "my-stuffs"라는 디렉토리가 있어야합니다. 그렇지 않으면 명령에서 오류가 발생합니다.

폴더에 대한 Symlink를 만드는 방법 – 예제 명령

위와 유사하게 다음을 사용합니다.

ln -s /home/james james 

이렇게하면의 내용을 포함하는 'james'라는 심볼릭 링크 폴더가 생성 /home/james됩니다. 이 링크 된 폴더에 대한 모든 변경 사항은 원본 폴더에도 영향을 미칩니다.

심볼릭 링크를 제거하는 방법

심볼릭 링크를 제거하기 전에 파일 또는 폴더가 심볼릭 링크인지 확인하여 파일을 변경하지 않도록 할 수 있습니다.

이를 수행하는 한 가지 방법은 다음과 같습니다.

ls -l  

터미널에서이 명령을 실행하면 파일의 속성이 표시됩니다. 결과적으로 첫 번째 문자가 소문자 L ( 'l')이면 파일 / 폴더가 심볼릭 링크임을 의미합니다.

또한 끝에 simlink가 가리키는 파일 / 폴더를 나타내는 화살표 (->)가 표시됩니다.

심볼릭 링크를 제거하는 방법에는 두 가지가 있습니다.

Unlink를 사용하여 Symlink를 제거하는 방법

구문은 다음과 같습니다.

unlink  

프로세스가 성공하면 심볼릭 링크가 삭제됩니다.

심볼릭 링크가 폴더 형태 인 경우에도 '/'를 추가하지 마십시오. Linux는이를 디렉토리라고 가정하고 디렉토리를 unlink삭제할 수 없기 때문입니다.

rm을 사용하여 Symlink를 제거하는 방법

지금까지 살펴본 것처럼 심볼릭 링크는 원본 파일 또는 폴더를 가리키는 다른 파일 또는 폴더입니다. 해당 관계를 제거하려면 링크 된 파일을 제거 할 수 있습니다.

따라서 구문은 다음과 같습니다.

rm  

예를 들면 :

rm trans.txt rm james 

참고하려고 노력하는 것이 rm james/리눅스 가정 때문에, 오류를 초래할 것 '제임스 /'같은 다른 옵션이 필요 디렉토리입니다 rf. 그러나 그것은 우리가 원하는 것이 아닙니다. 심볼릭 링크는 폴더 일 수 있지만 이름에만 관심이 있습니다.

rmover 의 주요 이점은 unlink파일 에서처럼 한 번에 여러 심볼릭 링크를 제거 할 수 있다는 것입니다.

끊어진 링크를 찾고 삭제하는 방법

끊어진 링크는 심볼릭 링크가 가리키는 파일 또는 폴더가 경로를 변경하거나 삭제 될 때 발생합니다.

예를 들어 'transactions.txt'가에서 /home/james로 이동 /home/james/personal하면 'trans.txt'링크가 끊어집니다. 파일에 대한 액세스를 시도 할 때마다 '해당 파일 또는 디렉토리 없음'오류가 발생합니다. 링크에 자체 내용이 없기 때문입니다.

끊어진 링크를 발견하면 파일을 쉽게 삭제할 수 있습니다. 끊어진 심볼릭 링크를 찾는 쉬운 방법은 다음과 같습니다.

find /home/james -xtype l 

그러면 james파일에서 디렉토리, 하위 디렉토리에 이르기까지 디렉토리 에있는 모든 끊어진 심볼릭 링크가 나열됩니다 .

-delete옵션을 전달하면 다음 과 같이 삭제됩니다.

find /home/james -xtype l -delete 

마무리

심볼릭 링크는 Linux 및 UNIX 시스템의 흥미로운 기능입니다.

쉽게 액세스 할 수있는 심볼릭 링크를 만들어 액세스하기 편리하지 않은 파일 또는 폴더를 참조 할 수 있습니다. 약간의 연습을 통해 이러한 기능이 직관적 인 수준에서 어떻게 작동하는지 이해하고 파일 시스템을 훨씬 더 효율적으로 관리 할 수 ​​있습니다.