Computer >> 컴퓨터 >  >> 체계 >> Linux

Linux에서 Symlink를 관리하는 방법

Linux에서 Symlink를 관리하는 방법

심볼릭 링크는 다른 파일에 직접 연결되는 파일입니다. Linux 시스템에서 심볼릭 링크는 바로 가기 역할을 합니다.

"symlink"라는 용어는 "symbolic"과 "link"의 합성어로, 다른 것에 대한 상징적 참조와 같은 파일의 유용성을 강조합니다.

소위 "하드" 링크는 리터럴 링크보다 참조하는 파일의 복사본으로 더 많이 기능합니다. "소프트" 또는 기호 링크는 단순히 대상을 가리킵니다. 이 링크를 삭제해도 링크가 가리키는 파일에는 아무 영향이 없으며 편의를 위해 필요한 만큼의 심볼릭 링크를 만들 수 있습니다. 따라서 파일 시스템과 파티션에서 모두 파일을 가리키는 데 유용합니다.

심링크 사용

단일 응용 프로그램이 보다 효율적으로 실행되도록 파일 시스템의 기본 구조를 변경하는 것은 심각한 일입니다. 대신 심볼릭 링크는 문제를 단순화하고 프로그램이 원본 파일의 위치에 영향을 미치지 않고 참조할 수 있도록 인위적인 파일 계층 구조를 만드는 데 자주 사용됩니다.

심볼릭 링크를 사용하면 다른 프로그램을 쉽게 수용할 수 있지만 파일 시스템 분석도 복잡해집니다.

심링크 관련 문제

심볼릭 링크가 제대로 작동하면 실제로 존재하는 파일에 대한 명확한 경로를 표시합니다. 그러나 실패한 심볼릭 링크는 존재하지 않거나 삭제된 파일을 가리킵니다. 이러한 심볼릭 링크는 정확성에 의존하는 인간 사용자와 프로그램 모두에게 혼란을 야기합니다.

심볼릭 링크의 대상이 되는 파일이 교체되면 링크 자체는 내용을 완전히 무시하고 새 파일을 계속 가리킵니다. 이 맹목적인 기능은 링크 체이닝 및 상대 링크를 가능하게 합니다.

특히 링크 체인은 링크가 두 번째 링크를 참조하고 다시 첫 번째 링크를 가리키는 경우 순환 링크(무한 길이의 링크 루프)로 이어질 수 있습니다.

그러한 수수께끼가 반드시 인간의 개입만으로 생기는 것은 아닙니다. 최적화되지 않은 장치 장착 표준과 특정 자동화 프로세스는 불행히도 "데드 링크"라고 불리는 것을 생성하는 데 기여할 수 있습니다. 바로 여기에서 관리 기술이 유용합니다.

심볼 링크 관리

Linux 시스템에는 심볼릭 링크를 처리하기 위해 쉽게 사용할 수 있는 다양한 유틸리티가 있습니다. coreutils의 기본 포함은 ln입니다. , 터미널에서 이러한 링크를 쉽게 생성할 수 있습니다.

그러나 심볼릭 링크를 완전히 관리하려면 심볼릭 링크를 찾고 빠르게 분석할 수 있어야 합니다. 이 목적을 위해 고려할 가치가 있는 간단한 명령줄 옵션의 이름은 symlinks입니다. .

Fedora와 같은 일부 Linux 배포판에는 기본적으로 이 도구가 설치되어 있지만 Ubuntu와 같은 다른 배포판에는 설치되어 있지 않습니다. Ubuntu에 "Symlinks"를 설치하려면 터미널 창을 열고 다음을 입력하기만 하면 됩니다.

sudo apt install symlinks
Linux에서 Symlink를 관리하는 방법

심링크 생성

터미널에서 심볼릭 링크를 만드는 것은 Linux에서 쉽습니다. 다음 코드를 입력하고 "original-file.txt"를 선택한 대상의 이름과 파일 확장자로 변경한 다음 "linkname"을 원하는 대로 변경합니다.

ln -s original-file.txt linkname
Linux에서 Symlink를 관리하는 방법

ln 유틸리티는 링크를 만들기 위한 것이며 실행할 때 그렇게 할 것입니다. -s 위의 명령에 포함되어 생성된 링크를 기호로 만듭니다.

-r을 추가하여 상대 기호 링크를 만들 수도 있습니다. 다음과 같은 명령으로:

ln -rs original-file.txt linkname
Linux에서 Symlink를 관리하는 방법

상대 링크는 마운트 지점의 변경에 관계없이 계속 작동합니다.

심볼 링크 찾기

위에서 언급한 Symlinks 유틸리티는 주어진 디렉토리에서 심볼릭 링크를 찾는 간단한 방법을 제공합니다. 이에 대한 명령은 다음과 같습니다. ("directory-name"을 검색하려는 디렉토리의 전체 경로로 변경합니다.)

symlinks -v directory-name
Linux에서 Symlink를 관리하는 방법

r 추가 이 명령은 지정된 디렉토리 내의 파일을 재귀적으로 검사하도록 Symlink에 지시합니다. 다음과 같습니다.

symlinks -rv directory-name
Linux에서 Symlink를 관리하는 방법

순환 링크에서 발생하는 문제가 걱정된다면 재귀 사용에 주의하십시오. 순환 링크는 결국 자신에게 잘못 반복되는 링크입니다. 무한 구조로 재귀를 시도할 때 Symlink 유틸리티가 중단될 수 있습니다.

위에 표시된 명령의 비재귀 버전은 단순히 기존 순환 링크가 "매달린" 상태, 즉 끊어진 상태임을 나타냅니다. 이러한 깨진 링크를 실제로 수정할 수 있는 것은 Symlinks 도구의 분석 기능입니다.

심볼 링크 수정

주어진 디렉토리에서 심볼릭 링크를 수정하는 것은 Symlinks를 사용하면 비교적 간단합니다. 사용할 명령은 다음과 같습니다.

symlinks -cds directory-name
Linux에서 Symlink를 관리하는 방법

위의 명령은 한 번에 여러 작업을 수행합니다. 찾은 절대 링크를 상대 링크로 변환하고, 매달린 링크를 제거하고, "긴" 링크(경로에 "../"가 많은 링크)를 줄입니다.

이 작업을 실행할 때의 잠재적인 결과가 확실하지 않은 경우 -c가 무엇인지 테스트할 수 있습니다. 다음을 실행하여 아무 것도 변경하지 않고 단독으로 수행할 수 있습니다.

symlinks -t directory-name
Linux에서 Symlink를 관리하는 방법

이제 심볼릭 링크가 무엇이고 어떻게 이를 효율적으로 관리할 수 있는지 더 잘 이해하셨기를 바랍니다. 파일 시스템에서 보다 구체적인 작업을 실행하는 Symlinks 유틸리티의 나머지 기능을 확인하십시오.