해당 파일에 대한 심볼릭 링크를 끊지 않고 mv 파일


24

그것은 할 수 mv해당 파일에 대한 심볼릭 링크를 깨고 밖으로 / w 파일? 이에 대한 나의 초기 답변은 아니오이며, 이동 직후 링크를 ​​변경하는 스크립트 기반 솔루션을 개발하고 있지만 다른 사람들 이이 문제에 어떻게 접근했는지 궁금합니다. 심볼릭 링크의 경로와 이름은 미리 알려져 있으므로 이론적으로 내가해야 할 일은 다음과 같습니다.

  1. 링크의 목표를 얻는다
  2. mv 대상
  3. 새 대상에 대한 링크를 다시 만듭니다
  4. 새 대상에 대한 새 링크를 만듭니다 (원래 링크와는 다르지만 지금은 유지하려고합니다)

나중에:

  1. 기존 링크를 삭제

1-4는 bash 스크립트로 캡슐화되지만 누군가가 더 우아한 접근 방식을 가지고 있는지 또는 모르는 내장 명령 또는 명령을 알고 있는지 궁금합니다.


2
하드 링크에는이 문제가 없습니다. 그러나 다른 단점이 있습니다. :-)
Stéphane Gimenez

3
예, 파일이 여러 파일 시스템에 있으므로 하드 링크를 사용할 수 없습니다.
개브.

2
또한 : 디렉토리에 하드 링크 할 수 없습니다.
sampablokuper

답변:


8

당신은 올바른 길을 가고 있습니다. 나는 당신이 묘사하는 순서보다 쉬운 방법이 없다고 생각합니다.

3 단계와 4 단계는 약간 혼동됩니다. 기존 링크를 다시 대상으로 지정하려면 ln -f기존 파일을 덮어 쓰는 데 사용할 수있는 것과 동일한 이름을 유지하십시오 . 링크 이름도 새 대상 이름을 반영하도록 변경하려면 순서가 정확합니다.


1
그래, 그 부분을 다시 읽고 난 지금 나 자신도 혼란스러워했다. 좀 더 이해가되도록 조정하겠습니다. 감사.
개브.

나는 ln -f 사용에 약간 혼란 스럽지만 @fred가 게시 한 스크립트가 어떻게 작동하는지 명확히하는 데 도움이 될 수 있다고 생각합니다. 맨 페이지는 놀랍게도별로 도움이되지 않았습니다.
개브.

@ 게이 내 대답의 원래 버전은 옳았 -s -f지만 그것을 수정 하는 동안 -s: "손실"되었습니다 . wikipedia에서 : 옵션이없는 'ln'은 하드 링크를 생성합니다. 'ln -f'는 하드 링크를 강제합니다 ... 질문에 대해 감사드립니다. 이제 실제로 구문을 확인했습니다. 것들 ... 그것은 필요합니다 ln -s -f.. (나는 조정했습니다)
Peter.O

4

상황에 따라 :

# change target of a symbolic link
# -------------
# ln -s, --symbolic    make symbolic links instead of hard links
# ln -f, --force       remove existing destination files
#
# Setup: make junk.link to  file junk
  echo hello > ~/junk
  ln -s ~/junk ~/junk.link;  cat ~/junk.link
#
# move file and point the link to it.
  org="$(readlink ~/junk.link)"
  new="$org".moved
  mv "$org" "$new"
  ln -s -f "$new" "$new".link  # '-s' for a soft link

참고 : 링크 체인이 포함되면 더 복잡해집니다.
Peter.O

0

다음 문제가 있습니다. "Suru ++"라는 아이콘 테마가 매우 좋습니다.

Suru ++ 20 [공식적으로 버그가없고 11 개의 DE 호환]

그러나이 아이콘 테마는 svg 모든 이미지로 만들어졌습니다. 이제 Fluxbox에서 사용하고 메뉴 항목을 생성하고 싶지만 png 아이콘 이미지에서만 가능합니다 svg 형식의 모든 아이콘이 있는 마스터를 다운로드하고 명령 줄 svg에서 png로 변환 할 수 있습니다. 16x16, 24x24px와 같은 폴더 크기. 그러나 그 폴더에는 svg 파일에 대한 심볼릭 링크가 있습니다.

png로 변경하려는 심볼릭 링크 내부의 확장 svg

모든 심볼릭 링크 내에서 확장자 svg를 png로 변경할 수있는 방법이 있으면 Fluxbox 메뉴 및 파일 관리자에서 아이콘 테마가 제대로 작동합니다. Xubuntu에서 사용하지만이 스페인어를 사용 하여이 아이콘 테마에 대한 항목을 만들었습니다.

신의 축복

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.