Symlink 대체

Symlink 대체

심볼릭 링크가 대체되는 방법이 있나요? 대상을 찾을 수 없으면 다른 대상을 사용해야 합니다.

드라이브 마운트 여부에 따라 다른 프로그램에 대한 구성 파일을 사용하고 싶습니다. 따라서 해당 특정 드라이브의 구성에 대한 심볼릭 링크가 있고 찾을 수 없는 경우 대체 드라이브를 사용합니다.

드라이브가 마운트되었는지 확인하고 원하는 구성에 연결한 다음 애플리케이션을 실행하는 래퍼 스크립트를 사용할 수 있을 것 같지만 래퍼 스크립트는 이상하게 느껴집니다.

답변1

표준 심볼릭 링크에는 방법이 없습니다. 그들은 항상 단일 대상 경로를 가리킵니다.

그러나 특별한 경우에는 드라이브가 마운트를 섀도잉하는 방법을 활용할 수 있습니다. 구성 파일을 /path/to/mount/config.cnf로 지정하면 상위 파일 시스템에 해당 파일이 있는 것입니다( 마운트가 없음) 및 마운트된 파일 시스템에 하나(마운트가 있을 때 사용됨).

그러나 나는 그것을 권장하지 않습니다. 우선 두 가지를 동시에 열어 비교하는 것이 어렵습니다. 나는 개인적으로 그 위에 래퍼 스크립트를 여러 번 선택했습니다. 프로그램별 방법도 있을 수 있지만 프로그램 이름을 지정하지 않았습니다.

답변2

당신은 사용할 수 있습니다유니온 마운트이를 위해. 특정 위치에 있는 경우 하나의 파일을 표시하고 첫 번째 선택 항목이 없는 경우 다른 파일을 표시하는 것이 통합 마운트의 요점입니다. 마운트 위치와 다른 위치에 파일을 표시하는 경우를 제외하고는 Symlink가 도움이 되지 않습니다.

mkdir ~/overridden
unionfs-fuse "/media/external:$HOME/overridable" ~/overridden

~/overridden~/overridable및 아래의 디렉토리 트리 병합을 보여줍니다 /media/external. 두 파일 모두에 파일이 있으면 해당 파일이 /media/external표시됩니다.

또한보십시오Linux의 유니온 마운트(누군가가 대답하면…).

관련 정보