यूएसबी ड्राइव का खाली कचरा


41

मेरे पास एक USB ड्राइव है जो मेरे मैक में प्लग की गई है। जो मैंने पाया वह .Trashesखाली नहीं किया गया था जब यूएसबी ड्राइव के लिए खाली कचरा (राइट ट्रैश आइकन पर क्लिक करें और "खाली कचरा" चलाएं)

क्या गलत हो सकता है? क्या USB ड्राइव को खाली करने का कोई और तरीका है?


9
दिलचस्प है, कचरा खाली करना हमेशा मेरे यूएसबी ड्राइव के लिए सफलतापूर्वक होता है। इसके बारे में मेरी एकमात्र शिकायत यह है कि अक्सर मैं अपने यूएसबी ड्राइव पर केवल कचरा खाली करना चाहता हूं और सिस्टम पर प्रत्येक ड्राइव के लिए ऐसा नहीं करना है।
मैथ्यू फ्रेडरिक

4
@ मट्टू कोशिशrm -R /Volumes/volumename/.Trashes/$UID
गॉर्डन डेविसन

@Gordon बिल्कुल सही, धन्यवाद! कमांड को चलाने के लिए एक-लाइन अप्पस्क्रिप्ट तैयार किया और यह क्विकसिल्वर कीस्ट्रोक का एक जोड़ा है।
मैथ्यू फ्रेडरिक

जवाबों:


36

यह संभव है कि किसी अन्य उपयोगकर्ता के ट्रैश में फाइलें हों । .Trashesप्रत्येक खंड के शीर्ष पर फ़ोल्डर प्रत्येक अलग उपयोगकर्ता के लिए उप-, यूजर आईडी नंबर (502 के जैसे उपयोगकर्ता ट्रैश में है द्वारा है .Trashes/502)।
आप देख सकते हैं कि क्या यह अपने लिए इस तरह से एक कमांड का उपयोग कर रहा है ( VolumeNameअपने ड्राइव नाम के साथ बदलें ):

ls -la /Volumes/VolumeName/.Trashes/
total 0
d-wx-wx-wt@  3 _unknown  _unknown   102 10 Feb 18:15 .
drwxrwxrwx@ 21 root      wheel      782 13 Feb 14:17 ..
drwx------@ 35 _unknown  _unknown  1190 13 Feb 14:18 502

जैसा कि आप देख सकते हैं, मेरे USB डिस्क .Trashesफ़ोल्डर पर 502उपयोगकर्ता आईडी 502 (संदर्भ के लिए, मेरी वर्तमान उपयोगकर्ता आईडी 501) के स्वामित्व वाला एक उप फ़ोल्डर है । चूंकि यह उपयोगकर्ता मेरे सिस्टम पर मौजूद नहीं है, इसलिए मैं इसे देखता हूं _unknown, और मेरा उपयोगकर्ता इसके अंदर नहीं देख सकता है, न ही इसे हटा सकता है। उस फ़ोल्डर के अंदर देखने के लिए हमें इसे प्रशासक (यानी उपयोग sudo) के रूप में करने की आवश्यकता है ।

आप यकीन है कि आप, आप नष्ट कर सकते हैं करना चाहते हैं, तो हर किसी को पूरे हटा कर के कचरा .Trashesजैसी कमांड के साथ फ़ोल्डर:

sudo rm -R /Volumes/volumeName/.Trashes

चेतावनी: कुछ भी शामिल होने के साथ sudo( "सुपर उपयोगकर्ता के रूप में" , अर्थात सिस्टम प्रशासक) और rm -R, इसे सावधानी से उपयोग करें। यदि आप इसे गलत लिखते हैं, तो यह हो सकता है ... अप्रिय परिणाम।


"किसी और के ट्रैश में हो सकता है" बिल्कुल वही मुद्दा है जो मैं चला रहा था। यह बेहतर विज्ञापन होना चाहिए!
cdeszaq

-F स्विच को कमांड में जोड़ने से एक्शन को बल मिलेगा। "*" के साथ "वॉल्यूम" को प्रतिस्थापित करने से आप कई यूएसबी ड्राइव कनेक्ट कर सकते हैं और सभी ट्रैश को एक साथ सभी पर खाली कर सकते हैं। 1-बाय -1 से जुड़ना नहीं है और फिर से करना है।
डेनिजेल-जेम्स डब्ल्यू

कमांड चलाना खतरनाक हो सकता है जिसमें दोनों शामिल हैं sudo rmऔर /Volumes/*/something, क्योंकि यह आपके सिस्टम ड्राइव को भी प्रभावित कर सकता है, और एक टाइपो के बुरे परिणाम हो सकते हैं।
17

8

सामान्य व्यवहार:
जब आप USB ड्राइव से कुछ हटाते हैं, तो इसे .Trashesउस वॉल्यूम पर एक फ़ोल्डर में ले जाया जाता है । जब आपके कंप्यूटर में प्लग किया जाता है, तो हटाए गए आइटम आपके ट्रैश बिन में बाकी सब चीजों के साथ दिखाई देंगे।

जब आप इसे अनप्लग करते हैं, तो उस ड्राइव से हटाए गए आइटम अब आपके ट्रैश UNTIL में दिखाई नहीं देंगे, जिसे आप फिर से प्लग इन करते हैं। फिर, आप कचरा खाली कर सकते हैं। यह वास्तव में उन्हें उस ड्राइव से हटा देगा ।

अगर यह आपके लिए नहीं हो रहा है, तो यहां मेरा सुझाव है:

  1. अपने खोजक साइडबार में ड्राइव का चयन करें।
  2. कुछ और चुनने के बिना, cmd-i(या मेनू आइटम का उपयोग करें FileGet Info) दबाएँ ।
  3. अनुमति Sharing and Permissionsदेने Everyoneके लिए उस विंडो के अनुभाग का उपयोग करें Read and Write

यह स्वीकार किया जाना चाहिए
zsitro

7

मुझे नहीं पता कि यह सबसे अच्छा जवाब है, लेकिन कम से कम यह काम करने वाला जवाब है।

कमांड लाइन, cd को USB वॉल्यूम (/ मेरे केस के लिए वॉल्यूम / USB) खोलें, और टाइप करें:

/bin/rm -rf ./Trashes/* works fine with me.

इसके लिए उपयोगकर्ता को प्रत्येक बार विशिष्ट वॉल्यूम पर जाना होगा। आपके उत्तर के आधार पर, मैं बैश स्क्रिप्ट और AppleScript समाधान के साथ आया हूं।
डेनिजेल-जेम्स डब्ल्यू

2

2 समाधान। 1 ऐप्पलस्क्रिप्ट में लिपटे बैश का उपयोग करके अन्य बैश का उपयोग करना।

समाधान # 1

  1. एक नया AppleScript बनाएँ /Applications/Utilities/AppleScript Editor
  2. निम्न कोड टाइप करें:

    शेल स्क्रिप्ट करें "rm -rf /Volumes/*/.Trashes/*" व्यवस्थापक विशेषाधिकारों के साथ

  3. फ़ाइल को कहीं सुविधाजनक रूप से सहेजें और जब भी आपको USB कचरा साफ़ करने की आवश्यकता हो, उसे चलाएं
  4. इसे डबल क्लिक करके निष्पादित किया जा सकता है

नोट: यह आपकी आंतरिक हार्ड डिस्क सहित सभी कनेक्टेड वॉल्यूम के लिए ट्रैश को खाली कर देगा। यदि आपने 5 यूएसबी ड्राइव और एक फायरवायर हार्ड डिस्क कनेक्ट किया है, तो यह उन सभी के लिए कचरा खाली कर देगा।


समाधान # 2

  1. आग अपने पसंदीदा पाठ संपादक (मेरा नैनो है)
  2. निम्नलिखित कोड को अपने टेक्स्ट एडिटर में पेस्ट करें और फाइल को सेव करें

    # /! बिन / बाश
    सूदो rm -rf /Volumes/*/.Trashes/*

  3. एक्सटेंशन के साथ फ़ाइल को कहीं सुविधाजनक रूप से सहेजें .shऔर फिर इसे chmod +x {filename}.shटर्मिनल से निष्पादित करें

  4. उसी के साथ दौड़ो ./{filename}.sh

नोट: ऊपर के रूप में एक ही नोट। यह टर्मिनल से निष्पादन योग्य है।


2

मैं इस स्क्रिप्ट AppleScript का उपयोग करता हूं, इसे एप्लिकेशन के रूप में सहेजें:

on open these_volumes
    set t_id to user ID of (system info)
    repeat with i in these_volumes
        if (kind of (info for i without size)) is "Volume" then
            set tPath to (POSIX path of i) & ".Trashes/" & t_id
            do shell script "/bin/rm -Rf  " & (quoted form of tPath) & "/*"
        end if
    end repeat
end open

एप्लिकेशन पर ड्रैग / ड्रॉप वॉल्यूम (एस)।

यह स्क्रिप्ट वॉल्यूम पर आपके ट्रैश (उपयोगकर्ता आईडी) फ़ोल्डर से आइटम निकालती है। यदि अन्य उपयोगकर्ता वॉल्यूम का उपयोग करते हैं तो यह स्क्रिप्ट उनके ट्रैश फ़ोल्डर से आइटम नहीं हटाएगी, अन्यथा स्क्रिप्ट को ऐसा करने के लिए व्यवस्थापक पासवर्ड की आवश्यकता होगी।


यदि आप कचरे को खाली करने के बाद वॉल्यूम को अस्वीकार करना चाहते हैं, तो इस स्क्रिप्ट का उपयोग करें।

on open these_volumes
    set t_id to user ID of (system info)
    set volToEject to {}
    repeat with i in these_volumes
        if (kind of (info for i without size)) is "Volume" then
            set tPath to (POSIX path of i) & ".Trashes/" & t_id
            do shell script "/bin/rm -Rf  " & (quoted form of tPath) & "/*"
            set end of volToEject to contents of i
        end if
    end repeat
    if volToEject is not {} then tell application "Finder" to eject volToEject
end open

ऐप्पलस्क्रिप्ट काम करने के लिए, बस कनेक्ट किए गए डिवाइस को खींचें या ऐप्पलस्क्रिप्ट एप्लिकेशन को ड्राइव करें और ड्रॉप करें। आप अनुप्रयोग आइकन को साइड-डॉक में ड्रैग और ड्रॉप करके, सुविधा के लिए नियमित ट्रैश बिन के बगल में डॉक पर एक उपनाम बना सकते हैं।
टोनी_केन्या
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.