Linux에서 깨진 심볼릭 링크를 찾아서 삭제하는 방법

Nov 12, 2024
리눅스
[삼]
Fatmawati Achmad Zaenuri / Shutterstock.

Linux의 상징적 인 링크는 환상적인 기능이지만 아무 것도 부러 질 수 있고 아무 것도 가리킬 수 없습니다. 깨진 심볼릭 링크를 찾고 검토하고 필요한 경우 시스템에서 제거하는 방법은 다음과 같습니다.

기호 링크 101.

상징적 인 링크 "소프트 링크"및 "symlinks"라고도하는 바로 가기는 파일 및 디렉토리를 가리킬 수있는 바로 가기입니다. 심볼릭 링크는 파일 관리자 창에서 일반 파일이나 디렉토리처럼 보입니다. 또한 터미널 창에서 파일 목록에있는 항목으로 표시됩니다. 파일 시스템 트리의 파일 또는 디렉토리가 파일 시스템 트리의 어느 곳에서나있을 수있는 디렉토리입니다.

예를 들어, 파일 시스템 트리의 어딘가에있는 "text-file.txt"라는 파일을 가리키는 "dave-link"라는 홈 디렉토리에 symlink가 있다고 가정 해 봅시다. Symlink에서 사용하는 명령은 자동으로 IT 포인트의 파일에 적용됩니다. 사용하려고하면 고양이 또는 더 적은 심볼릭 링크에서 실제로 "text-file.txt"파일의 내용이 표시됩니다.

표준 Linux 설치에는 많은 심볼릭 링크가 포함되어 있습니다. 자신을 만들지 않더라도 운영 체제는 이들을 사용합니다. 응용 프로그램 설치 루틴은 종종 Symlinks를 사용하여 실행 파일 파일을 가리 킵니다. 소프트웨어가 업데이트되면 바이너리 파일이 새 버전으로 바뀝니다. 새 파일의 이름이 이전 파일의 이름이 이전과 같이 이전과 같이 작동합니다.

우리는 사용하여 일부 심볼릭 링크를 쉽게 볼 수 있습니다 Ls. 루트 디렉토리에서. 일부 항목은 다른 색상으로 표시됩니다. 우분투 20.10. 테스트 기계, 그들은 밝은 파란색으로 표시됩니다.

우리는 다음을 입력합니다.

  LS /  

우리는 그를 사용하여 더 깊은 모양을 취할 수 있습니다 -엘 (긴 목록) 옵션. 우리는 모든 "lib"항목과 단일 "bin"항목을 보려면 다음 명령을 입력합니다.

 ls -l / lib * / bin 

각 행의 시작 부분에는 항목이 심볼릭 링크 인 "L"이 표시됩니다. 텍스트는 "- & gt;" 심볼릭 링크가 가리키는 것에 보여줍니다. 이 예에서는 대상이 모든 디렉토리입니다.

사용 권한은 소유자, 그룹 및 기타에 대해 읽기, 쓰기 및 실행으로 나열됩니다. 이들은 기본 가짜 항목입니다. 심볼릭 링크가 지적하는 객체에 대한 실제 사용 권한을 반영하지 않습니다. 그것은 우선 순위가 우선하고 파일 시스템에 의해 영예를 가져 오는 대상 파일이나 디렉토리에 대한 사용 권한입니다.

깨진 심볼 링크

포인트가 삭제되거나 다른 위치로 이동 될 때 심볼릭 링크가 끊어졌습니다 (또는 매달려). 응용 프로그램의 제거 루틴이 제대로 작동하지 않거나 완료되기 전에 중단되지 않으면 고장난 심볼릭 링크가 남아있을 수 있습니다.

Symlinks가 지적하지 않고 파일을 수동으로 삭제하면 해당 Symlinks가 더 이상 작동하지 않습니다. 그들은 불도제가있는 도시를 가리키는 도로 표지판처럼 될 것입니다.

현재 디렉토리에서 "hello"라는 symlink를 사용 하여이 동작을 쉽게 볼 수 있습니다. 우리는 다음을 입력합니다 Ls. 그것을 보는 것:

 ls -l 

"bin"이라는 디렉토리에서 "htg"라는 프로그램을 가리 킵니다. Symlink를 "실행"하면 다음과 같은 프로그램을 실행합니다.

 ./ Hello 

이제 프로그램을 직접 실행하여 이러한 일이 일어나는지 확인할 수 있습니다.

 .. / bin / htg 

예상대로, 우리는 동일한 반응을 얻습니다. 프로그램 파일을 삭제 해 보겠습니다.

 RM ../bin/htg

이제 우리가 심볼릭 링크를 볼 때 Linux가 부러 졌음을 알고 있기 때문에 빨간색으로 나열되어 있습니다. 또한 포인트하는 것이 무엇인지 알려줍니다. 그래서 우리는 파일을 교체하고 프로그램을 다시 컴파일하거나 심볼릭 링크를 복구하는 데 필요한 모든 작업을 수행 할 수 있습니다.

Symlink를 실행하려고하면 Symlink 포인트가있는 프로그램의 이름이 아니라 Symlink 이름을 참조하는 오류가 발생합니다.

우리는 다음을 입력합니다.

 ./ Hello 

깨진 심볼릭 링크 찾기

대부분의 현대적인 버전 찾기 ~을 가지고있다 xtype. (확장 유형) 옵션, 깨진 심볼릭 링크를 발견하는 단순화 ...에 우리는을 사용합니다 플래그 xtype. 링크를 검색하도록 지시합니다. 사용 찾기 그리고 xtype. 같은 다른 어떤없이, 다음 유형 플래그, 세력 xtype. 깨진 링크를 반환합니다 :

에서 찾을 수 있습니다. -xtype L 

우리의 테스트 홈 디렉토리에있는 명령을 실행하면 꽤 많은 깨진 심볼릭 링크를 찾습니다. 검색은 기본적으로 재귀 것을 참고, 그래서 자동으로 모든 하위 디렉토리를 검색합니다.

는 "안녕하세요"우리가 예상 한대로 우리가 나열되어 목적에 파산 심볼릭 링크. 다른 심볼릭 링크 중 하나가 파이어 폭스 브라우저에 관련되고, 나머지는 스냅과 연결되어 있습니다.

우리가 파이프 출력을 통해하는 경우 화장실 이랑 -엘 (선) 옵션, 우리는 깨진 심볼릭 링크를 계산과 같은 인 라인을 셀 수 있습니다.

우리는 다음을 입력합니다.

에서 찾을 수 있습니다. -xtype 리터 | WC -l 

우리는 우리가 아무것도를 가리키는 24 깨진 심볼릭 링크가 있음을 통보하고 있습니다.

, 검토를 찾은 다음 제거

당신은에 돌진하고, 결과를 보면, 모든 깨진 심볼릭 링크를 삭제하기 전에 찾기 명령. 깨진 심볼릭 링크의에 대한 유효한 이유가있는 경우를 참조하십시오.

때때로, 심볼릭 링크가 문제가 아니라 대상 파일 일 수 있습니다. 심볼릭 링크가 생성 된 경우 잘못은 아무것도를 가리킬 수 있지만, 실제 목표는 존재한다. 재 만드는 심볼릭 링크하는 경우에 수정 될 것입니다.

그것은 분명히 깨진 심볼릭 링크는 파일 잠금 또는 다른 이동 / 아니오 이동 표시기의 지표로, 다른 무언가로 사용하는 것도 가능하다. 파이어 폭스는이 않습니다; 그것은 우리의 목록에있는 첫 번째 심볼릭 링크가 무엇인지입니다. 파이어 폭스는 우리가 그것을 삭제하는 것이 안전 그래서하지만, 우리의 테스트 시스템에서 사용되지 않습니다.

그것은 대상이 주기적에만 존재 수도 있습니다, 이것은 특정 소프트웨어의 예상 (원하는) 동작입니다. 어쩌면 대상 파일을 다른 시스템이나 클라우드에서 복사, 그것의 기능을 수행하고, 만 다음 사이클에서 다른 프로그램으로 대체 할, 다시 삭제됩니다.

깨진 심볼릭 링크는 실패 소프트웨어 설치의 증상 일 수 있습니다. 이 경우, 심볼릭 링크를 삭제하는 대신, 당신은 수동으로 수정하거나 설치를 반복해야합니다.

당신은 당신이 계속해야 깨진 링크를 수정 한 경우, 검색을 수행하는 명령을 반복합니다. 고정 심볼릭 링크는 검색 결과에 결석해야한다.

안전을 위해, 그것은 자신의 디렉토리에 심볼릭 링크 제거를 제한하는 것이 가장 좋습니다. 루트로, 또는 시스템 디렉토리에이 명령을 실행 매우 조심해야합니다.

브로큰 심볼릭 링크를 제거

NS 간부 옵션에서 명령을 실행 (실행) 찾기 검색 결과. 우리는 사용에가는거야 NS 각 부서 심볼릭 링크를 삭제합니다. NS {} 하나 하나가 발견 될 때 문자열은 각 깨진 심볼릭 링크의 이름으로 대체됩니다 찾기 ...에

우리는 (세미콜론을 사용해야합니다 ...에 ) 우리가 원하는 명령 목록을 종료합니다 간부 실행합니다. 우리는 (백 슬래시를 사용합니다 \ 그것이의 일부로 취급 그래서), 세미콜론을 '탈출'하는 찾기 명령, 오히려 뭔가 이상 세게 때리다 에 행동해야한다.

우리는 다음을 입력합니다.

에서 찾을 수 있습니다. -xtype 간부 RM L {} \ 

우리는 아무것도 일어난 아무 표시와 함께 명령 프롬프트로 돌아갑니다. 다음과 같이 깨진 링크가 제거되었는지 확인하기 위해, 우리는 그들을 찾기 위해 명령을 반복 :

에서 찾을 수 있습니다. -xtype L 

깨진 심볼릭 링크가 제거 된 수단 일치하는 결과가 없습니다 있습니다.

검토 첫째로 기억

다시, 항상 당신이 삭제 명령을 실행하기 전에 심볼릭 링크의 목록을 검토 할 시간이 걸릴. 당신은 적절한 디렉토리에 삭제 명령을 실행하여에 대한 당신에게있는 거 확실 삭제 방지 할 수 있습니다.

예를 들어, 위의, 우리는 ".snap"디렉토리에서 명령을 실행 한 수 있으며, 수동으로 독방 "안녕하세요"심볼릭 링크를 제거했습니다. 이것은 파이어 폭스 잠금이 그대로 심볼릭 링크 남아있는 것입니다.


리눅스 - 가장 인기있는 기사

SystemD가없는 최고의 리눅스 배포판

리눅스 Feb 24, 2025

[삼] bmj / shutterstock.com 지배적 인 리눅스 배포판이 채택되었을 때 시스템 반대자들은 분포를 분배하고 새로운 프�..


Debian 11 "Bullseye"의 새로운 기능

리눅스 Jul 22, 2025

[삼] [삼] 데비안 다른 많은 Linux 배포판의 전구는 시험 단계에서 사용할 수있는 릴리스 11을 만들었습니다. 업그레이드의 덕목을 무게가 있거..


고유 한 기능을 갖는 특수 리눅스 배포판

리눅스 Jul 20, 2025

[삼] 기존 리눅스 배포판의 만화적으로 긴 목록을 통해 읽는 것은 일광욕적 인 맛과 오프 슈트가 모두 흐리게 시작됩니다. 치료법을 치르기 위�..


Linux 민트 20.2 "UMA"의 새로운 기능

리눅스 Jul 8, 2025

[삼] [삼] Linux Mint, 더 많은 중 하나입니다 인기있는 리눅스 배포판 , "UMA"라는 별명을 붙였습니다. 새로운 기능, 내부 업그레이드 및 기타 �..


Linux에서 "root"란 무엇입니까?

리눅스 Jul 7, 2025

[삼] Fatmawati Achmad Zaenuri / Shutterstock.com 루트 사용자는 Linux Universe에서 가장 강력한 엔터티이며, 더 좋거나 악화되어 있습니다. �..


는 팝! _OS 무엇인가?

리눅스 Oct 20, 2025

[삼] [삼] 당신이 들었을 때 팝! _OS. 또한 게임을위한 최상의 Windows 대안 또는 이상적인 Linux 배포본으로 자주 언급하는 사람들을 보았을 것�..


Ubuntu 21.10 맞춤형 그놈 40 데스크탑과 도착

리눅스 Oct 14, 2025

[삼] 우분투 Ubuntu 사용자가 아니면 시도해주는 것에 대해 생각하는 사람이면, 오늘은 좋은 하루입니다. Canonical은 공식적으로 Ubunt..


PIDOF 또는 PGREP로 Linux 프로세스의 PID를 찾는 방법

리눅스 Nov 15, 2024

Linux 프로세스로 작업한다는 것은 종종 프로세스 ID 또는 PID를 아는 것을 의미합니다. 각 실행중인 소프트웨어에 제공되는 고유 한 번호입니다. 다..


카테고리