파인더에 하드 링크를 만드는 방법이 있습니까?


8

파인더에 하드 링크를 만드는 방법이 있습니까?

터미널의 하드 링크는 다음과 같이 만들어집니다.

ln /path/to/file /path/to/newpath

명령 및 옵션을 눌러 심볼릭 링크 / 별명을 수행 할 수 있습니다.

ln -s /path/to/file /path/to/newpath

(하지만 분명히 '별칭'과 'ln'의 행동 은 다릅니다 )

답변:


7

다음과 같이 Automator 서비스를 만들 수 있습니다.

여기에 이미지 설명을 입력하십시오

선택한 파일을 가져 와서 존재하는 디렉토리에 하드 링크를 만듭니다. 그런 다음 링크를 원하는 위치로 끌어서 놓을 수 있습니다.

이름에 공백이있는 파일에는 작동하지만 이름에 따옴표가 포함 된 파일에는 작동하지 않습니다.

Finder » 서비스 메뉴, 상황에 맞는 메뉴 에서 액세스 할 수 있으며 L별명 (아마도 L) 의 단축키와 유사한 키보드 단축키를 지정할 수 있습니다 .


1
대상 폴더를 제공하는 옵션 키와 같은 것을 누른 상태에서 한 폴더에서 다른 폴더로 끌어 놓기를 수행 할 때 적용되는 조치를 수행하여 하드 링크를 새 디렉토리에 직접 작성할 수 있습니까?
Michael

@Michael은 아마도이 답변에 대한 의견이 아닌 자체 질문으로 최선을 다할 것입니다.
다니엘

1
A로부터 bash관점 합니다 이름을 인용 부호로 파일에 작동합니다. 그렇지 않은 Automator 관련 이유가 있습니까? (실제로 따옴표가 작동하지 않는지 테스트 했습니까?)
Wildcard

유닉스 및 리눅스 스택 익스체인지 관련 : for 루프에서 $ 1 $ 2와 같은 인수를 사용하는 방법은 무엇입니까? (여러 가지 간단한 구문을 사용할 수 있습니다.)
Wildcard

@Daniel : 파일 형식 연결을 방해하는 "My File.txt Hardlink"대신 "My File Hardlink.txt"를 얻기 위해 세련된 코드로 솔루션을 확장했습니다. 감사합니다.
porg

2

Finder.app 자체에서는이를 수행 할 방법이 없습니다. 그러나 목표가 터미널 .app에 명령을 입력하는 것을 피하는 것이라면 Automator.app를 사용하여 명령을 수행하는 워크 플로를 만들 수 있습니다.


2

실제로 확장자가 유지 된 상태에서 이름 바꾸기의 링크 용어를 원했습니다. 그렇지 않으면 파인더가 파일 형식을 인식하지 못합니다.

그래서 Daniel의 답변 (고마워)을 사용하고 조금 변경했습니다.

for f in "$@"
 do  
  dir=$(dirname "$f")
  filename=$(basename "$f")
  extension=$([[ "$filename" = *.* ]] && echo ".${filename##*.}" || echo '')
  filename="${filename%.*}"
  ln "$f" "${dir}/$filename Hardlink$extension"
done

편집 : 더 나은 확장 처리 코드라고 생각하는 추가-확장이 없으면 비워 두어야합니다. 죄송합니다, 나는 스크립트를 잘 작성하지 못하므로 이것이 필요하다고 생각하는 수정 사항을 공유하십시오.


꽤 좋아요 주의 사항 : 확장명 이없는 파일 이 있으면 정말 놀라운 결과를 얻을 수 있습니다! (그리고 포함하는 디렉토리 중 하나에 이름에 마침표가 있으면 놀라움은 다른 형태로 나타납니다.)
Wildcard

1

네, 간접적 으로요

Automator를 사용하면 쉘 스크립트를 실행하는 서비스를 만들 수 있으며 하드 링크의 대상 경로를 요청할 수 있습니다 (원래 원래 위치와 동일한 위치에 있지 않기 때문에). 데스크탑과 같은 곳에서 링크 위치를 기본값으로 지정할 수 있다고 가정합니다.

단계를 추가하여 대화 상자를 팝업하여 대상을 입력하거나 달리 선택하여 ln명령에 전달하십시오 .


1

Daniel이 제공하는 멋진 솔루션이지만 파일 형식을 유지하는 스크립트 코드를 아래 코드로 바꾸는 것이 좋습니다.

for f in "$@"
do  
  ln "$f" "Plink-$(basename "$f")"
done

"파일 형식을 파괴하지 않는다"는 것은 무엇을 의미합니까?
user151019

나는 Finder의 "make alias"명령이 사용하는 patern을 따랐다. 물론 명명 규칙을 변경할 수는 있지만 적합하다고 생각됩니다.
Daniel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.