Mac: 별칭, 상징적 링크 또는 기타 아이디어를 사용하여 원본 파일을 삭제하는 방법

Mac: 별칭, 상징적 링크 또는 기타 아이디어를 사용하여 원본 파일을 삭제하는 방법

내 Mac에는 시작할 때마다 일부 파일을 계속 생성하는 몇 가지 앱이 있습니다.

지금은 수동으로 제거하기 위해 대상 디렉토리로 이동해야 하는데, 이는 해당 디렉토리가 어디에 있는지 기억해야 함을 의미합니다.

폴더에 있는 모든 파일에 대한 링크를 생성하여 해당 폴더에 액세스하고 링크를 삭제하면 연결된 파일도 지워질 수 있는 방법이 있습니까?

이상적인 시나리오에서는 실제로 내가 만든 링크가 그대로 유지되어야 하며 링크가 가리키는 파일만 제거되어야 합니다.

하지만 위의 어느 것도 가능한지 확실하지 않습니다!

고마워요, P.

답변1

요청한 작업을 정확히 수행할 수 있는 방법은 없지만 가까이 다가갈 수 있는 몇 가지 방법이 있습니다. 한 가지 옵션은 파일에 대한 폴더를 만든 다음 Finder에서 하나씩 선택하고 다음을 입력하는 것입니다 Command. R(원본 표시), Command- Delete(삭제), Command- [(별칭 폴더로 돌아갑니다); 그런 다음 다음 것을 선택하고 반복하십시오. 상상했던 것보다 작업량이 조금 더 많지만(특히 파일이 많은 경우), 직접 찾아 삭제하는 것보다 쉽습니다.

또 다른 옵션은 한 번에 모두 삭제하는 스크립트를 만드는 것입니다. AppleScript나 쉘 스크립트로 수행할 수 있지만 이 특정 작업에는 Automator가 가장 쉬울 것입니다. Automator(응용 프로그램 폴더)를 실행하고 "응용 프로그램" 템플릿을 선택합니다. 다음으로, 두 번째 열에서 "지정된 Finder 항목 가져오기" 작업을 찾아(상단에 전체 목록을 스크롤하는 것보다 훨씬 쉬운 검색 필드가 있음) 해당 작업을 오른쪽의 작업 흐름 열로 드래그합니다. 마찬가지로, "Finder 항목을 휴지통으로 이동" 작업을 찾아 "가져오기..." 작업 아래 작업 흐름에 추가합니다. "가져오기..." 작업에서 추가를 클릭하고 삭제해야 하는 다양한 파일을 추가합니다. 워크플로우(/application)를 편리한 곳에 저장하세요. 이를 사용하려면 워크플로를 두 번 클릭하기만 하면 파일이 사라집니다.

답변2

C 프로그램을 사용할 수 있습니다.getTrueNameMac OS 별칭이 참조하는 실제 위치를 가져옵니다. 일단 그것을 어딘가에 컴파일하면 $PATH다음과 같이 말할 수 있습니다.

rm -r "$(getTrueName "$locationOfAlias")"

원본을 삭제하려면. 별칭은 그대로 유지되지만 이후에는 깨집니다. 그러나 별칭이 원본과 동일한 이름 및 위치의 폴더와 폴더를 다시 생성하면 별칭은 내 시스템(Mac OS X 10.10.5)에서 다시 해당 폴더를 가리키기 시작합니다. 신뢰할 수 있는 일이 아니며 이것이 파일이나 다른 것에 적용되는지도 모릅니다. 예:

~$ cd /tmp
/tmp$ mkdir foo
/tmp$ test -d foo
/tmp$ echo $?
0
/tmp$ # manually created alias of foo called 'foo alias' in finder
/tmp$ getTrueName 'foo alias'
/private/tmp/foo/
/tmp$ rm -r "$(getTrueName 'foo alias')"
/tmp$ test -d foo
/tmp$ echo $?
1
/tmp$ getTrueName 'foo alias'
/tmp$ mkdir foo
/tmp$ getTrueName 'foo alias'
/private/tmp/foo/

관련 정보