टर्मिनल से स्नो लेपर्ड पर ट्रैश में फ़ाइल ले जाएँ


13

स्नो लेपर्ड उपयोगकर्ताओं को "पुट बैक" फाइलों को अनुमति देता है जिन्हें फाइंडर से ट्रैश में ले जाया गया था। हालाँकि, जब मैं mv <file> ~/.Trashकमांड लाइन से करता हूं तो मुझे "पुट बैक" विकल्प नहीं मिलता है।

क्या स्नो लेपर्ड में एक देशी कमांड है जो एक फाइल को कूड़ेदान में ले जाती है, जबकि मुझे अभी भी "पुट बैक" करने में सक्षम है?

जवाबों:


2

जब आप किसी फ़ाइल को ट्रैश में ले जाते हैं तो OS X "पुट बैक" जानकारी के साथ .DS_Storeफाइल को अपडेट करता है ~/.Trash। ( अधिक विवरण के लिए यह प्रश्न देखें )

इसे अपडेट करने के लिए आपको .DS_Storeफ़ाइल को टर्मिनल में ट्रैश में ले जाते समय फ़ाइल को भी अपडेट करना होगा ।


धन्यवाद। नहीं, जो मैं उम्मीद कर रहा था, लेकिन यह सच्चाई है।
मैटपी

9

मैं रूबी मणि osx- कचरा स्थापित करने की सलाह देता हूं ।

कैसे?

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
अच्छा! हालांकि, जैसा कि यह खोजक के साथ संचार करता है, वाइल्डकार्ड के साथ फ़ाइलों को ट्रैश करना हर फ़ाइल के लिए ट्रैशिंग ध्वनि चलाता है।
जरी कीनानलेन

1
मुझे नहीं लगता कि यह अभी भी काम करता है। डॉक्स से: ओएसएक्स-कचरा को मैक ओएस एक्स 10.5, तेंदुए की आवश्यकता होती है। मैंने इसे आज़माया और मुझे जो कुछ मिला वह हैbash: trash: command not found
yourfriendzak

ओएस एक्स 10.9 पर काम नहीं करता है इसे यहाँ कैसे ठीक करने के लिए के बारे में नए सिरे से प्रश्न पूछा superuser.com/questions/694433/...
simbo1905

2

MacOSX SDK में, फ़ंक्शन FSPathMoveObjectToTrashSyncऔर संबंधित हैं। इसके आसपास एक पायथन (या जो भी) स्क्रिप्ट लिखना आसान होना चाहिए।

संपादित करें : बस इसे कोडित किया गया है। यहां पाया जा सकता: rm-trash.py


FYI करें - FSPathMoveObjectToTrashSync 10.8 में पदावनत है और डॉक्टर के अनुसार आपको trashItemAtURL: परिणामस्वरूप itememURL: त्रुटि: का उपयोग करना होगा।
लेस्टर चेउंग

2

आप rmtrash प्रोग्राम चाहते हैं ।

आप इसे ट्रैश में आइटम जोड़ने के लिए उपयोग कर सकते हैं जैसे कि यह खोजक में किया गया था।

संपादित करें: मैंने बस हटाने और पुनर्प्राप्त करने के लिए rmtrash का उपयोग करने की कोशिश की। यह बिल्कुल खोजक से हटाने की तरह काम करता है। फ़ाइलें कचरा में दिखाई देती हैं, उन्हें बाहर खींचा जा सकता है और बिल्कुल उसी तरह खाली किया जा सकता है। '06 या उसके बाद से इसका इस्तेमाल कर रहे हैं।


Rmtrash के कोड से, ऐसा लगता है कि यह इसके बराबर है mv file ~/.Trash/। क्या आप वाकई इस उपकरण से फ़ाइलों को पुनर्प्राप्त कर सकते हैं?
अल्बर्ट

0

विकल्प देखने के बाद मुझे पता चला कि:

  • Rmtrash प्रोग्राम सिस्टम API का उपयोग किए बिना फ़ाइलों को ट्रैश निर्देशिका में ले जाता है, इसलिए .DS_Store फ़ाइल अपडेट नहीं की जाएगी । इसके अलावा, रीसायकल साउंड को ट्रिगर नहीं करता है।
  • अजगर लिपि पर्वत सिंह पर एक पदावनत विधि का आह्वान करती है जो रीसायकल साउंड को भी ट्रिगर नहीं करता है।
  • रूबी स्क्रिप्ट काम करती है, लेकिन स्लोवू है (अजगर की तरह)।

इसलिए मैंने निम्रॉड प्रोग्रामिंग भाषा में कार्यान्वित अपने स्वयं के कचरा आदेश को लिखा , इसलिए इसका तेज़ और यह पृष्ठभूमि प्रक्रिया में ट्रैशन ध्वनि को ट्रिगर करता है। इसका मतलब यह है कि कमांड टाइप करना और इसे चलाना तुरंत बाहर निकल जाता है क्योंकि इसमें साउंड को चलाने के लिए इंतजार करने की जरूरत नहीं होती है। कोन आपको निमरॉड संकलित करने की आवश्यकता है और फिर इस कार्यक्रम (कोई बाइनरी सॉरी!)।

पुनश्च: ईमानदारी से कहें तो सबसे अच्छा कार्यान्वयन यह होगा कि मैं आधिकारिक एपीआई का उपयोग कर रहा हूं जो निम्रोद से उपयोग कर रहा है, जो सादे उद्देश्य-सी है


0

जांच करें trash-cli। यह क्रॉस-प्लेटफ़ॉर्म, नो ट्रैश साउंड और पुट बैक को सपोर्ट करता है।

आप इसे स्थापित कर सकते हैं ( Node.js की आवश्यकता है ) :

$ npm install --global trash-cli

वैकल्पिक रूप से, यदि आप Node.js का उपयोग नहीं करना चाहते हैं, तो आप मूल बाइनरी को osx-trashमैन्युअल रूप से स्थापित कर सकते हैं ।


-1

मुझे आज भी यही समस्या थी और ऊपर दिए गए rmtrash प्रोग्राम की भी जाँच की। दुर्भाग्य से सभी समाधान अब तक घर निर्देशिका के लिए फ़ाइलें ले जाएँ।

दूसरी ओर खोजक इसे अलग-अलग फ़ोल्डर में ले जाता है, जो फ़ाइल के फाइल सिस्टम के आरोह बिंदु के आधार पर होता है।

तो सबसे आसान उपाय जो मैं कर सकता हूं (10.5.8 पर बनाया गया है। ओएस एक्स के नए संस्करणों पर परीक्षण किया जाना है) यह है:

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.