터미널에서 Snow Leopard의 휴지통으로 파일 이동


13

Snow Leopard를 사용하면 Finder에서 휴지통으로 이동 한 파일을 "Put Back"할 수 있습니다. 그러나 mv <file> ~/.Trash명령 줄에서 할 때 "뒤로"옵션을 얻지 못합니다.

Snow Leopard에 파일을 휴지통으로 옮기는 동안 여전히 "Put Back"기능을 사용할 수있게하는 기본 명령이 있습니까?

답변:


2

파일을 휴지통으로 옮길 때 OS X은 .DS_Store파일을 ~/.Trash"Put back"정보로 업데이트합니다 . (자세한 내용은 이 질문을 참조하십시오 )

이를 업데이트하려면 .DS_Store파일을 터미널의 휴지통으로 옮길 때 파일 도 업데이트해야 합니다.


감사. 내가 바랐던 것이 아니라 진실입니다.
matpie

9

Ruby gem osx-trash 설치를 권장합니다 .

어떻게?

sudo gem install osx-trash

용법?

Usage: trash [OPTIONS] <file> [<file> ...]
       trash [-e | --empty]
       trash [-l | --list]
Specific options:
    -e, --empty                      Empty the trash
    -l, --list                       List items in the trash
    -h, --help                       Show this message
    -v, --version                    Show version

Manipulate to the Finder's trash.

2
좋은! Finder와 통신 할 때 와일드 카드로 파일을 휴지통에 버릴 때마다 모든 파일에 대해 휴지통 사운드가 재생됩니다.
Jari Keinänen

1
나는 이것이 여전히 효과가 있다고 생각하지 않습니다. 문서에서 : osx-trash에는 Mac OS X 10.5, Leopard가 필요합니다. 나는 그것을 시도하고 내가 얻는 것은bash: trash: command not found
yourfriendzak

OS X 10.9에 나던 작품은 여기를 해결하는 방법에 대한 새로운 질문 질문 superuser.com/questions/694433/...
simbo1905

2

MacOSX SDK에는 기능 FSPathMoveObjectToTrashSync과 관련이 있습니다. 파이썬 (또는 무엇이든) 스크립트를 작성하는 것이 쉬워야합니다.

편집 : 방금 코딩했습니다. rm-trash.py 에서 찾을 수 있습니다 .


참고-FSPathMoveObjectToTrashSync는 10.8에서 더 이상 사용되지 않으며 문서에 따라 trashItemAtURL : resultingItemURL : error :를 사용해야합니다.
Lester Cheung

2

rmtrash 프로그램 이 필요 합니다.

마치 마치 파인더에서 마치 휴지통에 항목을 추가하는 데 사용할 수 있습니다.

편집 : 방금 rmtrash를 사용하여 삭제하고 복구하려고했습니다. 파인더에서 삭제하는 것과 똑같이 작동합니다. 파일은 휴지통에 표시되며, 드래그하여 똑같이 비울 수 있습니다. '06 년 이후부터 사용되었습니다.


rmtrash의 코드에서와 같은 것으로 보입니다 mv file ~/.Trash/. 이 도구에서 파일을 복구 할 수 있습니까?
Albert

0

대안을 살펴본 후 나는 그것을 발견했다.

  • rmtrash 프로그램은 시스템 API를 사용하지 않고 파일을 휴지통 디렉토리로 이동하므로 .DS_Store 파일은 업데이트되지 않습니다 . 또한 리사이클 사운드를 트리거하지 않습니다.
  • 파이썬 스크립트는 마운틴 라이온에서 더 이상 사용되지 않는 메소드를 호출하여 재활용 사운드를 트리거하지 않습니다.
  • 루비 스크립트는 작동하지만 파이썬과 같은 sloooooow입니다.

그래서 Nimrod 프로그래밍 언어로 구현 된 내 자신의 휴지통 명령을 작성 했으므로 백그라운드 프로세스에서 휴지통 사운드를 빠르게 트리거합니다. 즉, 명령을 입력하고 실행하면 사운드가 재생 될 때까지 기다릴 필요가 없으므로 즉시 종료됩니다. 단점은 nimrod를 컴파일 한 다음이 프로그램을 컴파일해야한다는 것입니다 (바이너리 죄송합니다!).

추신 : 최선의 구현이 rmtrash의 내가 니므롯에서 사용하고 공식 API를 사용한다는 것 정직하게하려면 일반 목적-C입니다 .


0

확인하십시오 trash-cli. 크로스 플랫폼에서 작동하며 휴지통 사운드가 없으며 Put Back을 지원합니다.

다음과 같이 설치할 수 있습니다 ( Node.js 필요 ) .

$ npm install --global trash-cli

또는 Node.js를 사용하지 않으려면 기본 바이너리를 osx-trash수동으로 설치할 수 있습니다.


-1

나는 오늘 같은 문제가 있었고 위에서 주어진 rmtrash 프로그램을 확인했다. 불행히도 지금까지 본 모든 솔루션은 파일을 홈 디렉토리의 .Trash로 옮깁니다.

반면에 Finder는 파일 파일 시스템의 마운트 지점에 따라 다른 휴지통 폴더로 폴더를 이동합니다.

따라서 내가 얻을 수있는 가장 쉬운 해결책은 10.5.8에서 작성되었습니다. 최신 버전의 OS X에서 테스트하려면 다음과 같습니다.

osascript -e 'tell application "Finder" to delete POSIX file "'FULL FILENAME HERE'"'

여기 내가 만든 쉘 스크립트가있다 :

#!/bin/bash
declare -a files
for f in "$@" ; do
    if [ -r "$f" ] ; then
        case "$f" in
        /*) ;;
        *) f="$( pwd )/$f" ;;
        esac
        files=("${files[@]}" "$f")
    else
        echo "Can't find '$f'" >&2
    fi
done
if [ ${#files[@]} -gt 0 ] ; then
    osascript -e '
    on run argv
        repeat with f in argv
            set x to (POSIX file f) as string
            tell application "Finder" to delete x
        end
    end
    ' "${files[@]}" > /dev/null
fi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.