วิธีหยุด OS X จากการเขียนไฟล์ Spotlight และ Trash ไปยังการ์ดหน่วยความจำและ USB sticks?


126

เมื่อเสียบแท่ง USB ลงใน Mac OS X จะสร้างไฟล์ที่ซ่อนอยู่หลายแท่งรวมถึงดัชนี Spotlight และโฟลเดอร์ถังขยะ

ตัวอย่างจากเทอร์มินัลสำหรับแท่ง USB "ไม่มีชื่อ":

$ ls -a /Volumes/Untitled
.Spotlight-V100
.Trashes
._.Trashes
.disk
.fseventsd

มันทำเช่นนี้บนการ์ดหน่วยความจำ xD สำหรับกล้องของฉันดังนั้นหลังจากคัดลอกรูปภาพและลบออกจากการ์ดการ์ดยังคงเต็ม

เป็นไปได้ไหมที่จะปิดการทำงานนี้สำหรับ USB และการ์ดหน่วยความจำดังนั้น OS X จึงสามารถเขียนไฟล์เหล่านี้ไปยังดิสก์หลักหรือไม่สามารถเขียนได้เลย?


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
bmike

คำตอบ:


20

อัปเดตมีนาคม 2561 ดูเหมือนว่าโซลูชันของฉันจะไม่สามารถใช้งานได้อีกต่อไปโซลูชันที่ใช้งานได้ในขณะนี้ถูกเสนอโดย @ElmerCat ในหนึ่งในคำตอบด้านล่าง

เขาแนะนำให้ใช้CleanMyDrive 2

โซลูชันที่เลิกใช้แล้ว

อย่างที่ฉันรู้ว่าคุณมี 2 ทางเลือก:

  1. TinkerTool (ฟรี)

ข้อความแสดงแทน

  1. BlueHarvest (เชิงพาณิชย์)

ข้อความแสดงแทน


1
โอเคขอบคุณ. หวังเป็นอย่างยิ่งว่าจะมีการตั้งค่าในตัว แต่อย่างน้อยก็มีวิธีแก้ปัญหา
jg-faustus

3
@Philip: น่าเสียดายที่ Tinkertool จัดการเฉพาะไฟล์. DS_Store ตามหน้ารายละเอียดของพวกเขาซึ่งน่าจะหมายความว่านี่เป็นไฟล์ที่ถูกซ่อนเฉพาะที่สามารถปิดการใช้งานผ่าน CLI - ไฟล์อื่น ๆ ต้องการเครื่องมือที่กำหนดเอง แต่ BlueHarvest ดูดีและทำในสิ่งที่ฉันต้องการ (ค้นหารายละเอียดเพิ่มเติมเกี่ยวกับปัญหาได้ที่นี่และที่นี่ )
jg-faustus

1
outdate! คำตอบในภายหลังจะดีกว่า
Dima Tisnek

1
@ JG-เฟาสตุสไม่เพียง แต่ข้อเสนอเพียง Tinkertool กับไฟล์ .DS_store แต่มันไม่ได้เป็นเพียงสำหรับ fileysystems เครือข่าย
nhed

2
ทดสอบแล้ว Tinkertool ไม่สามารถใช้งานได้กับไดรฟ์ USB (อย่างน้อย 10.9)
ปลาปักเป้า

106

สำหรับไดรฟ์ข้อมูลที่เมานต์เฉพาะ - เช่นแฟลชไดรฟ์ที่เรียกyourUSBstickในตัวอย่างนี้คำสั่งเหล่านี้จะลบ cruft ที่มีอยู่หยุดการจัดทำดัชนี Spotlight ทันทีและในอนาคตหยุดการบันทึก fsevents ที่เกี่ยวข้องและปิดใช้งานคุณลักษณะถังขยะ

mdutil -i off /Volumes/yourUSBstick
cd /Volumes/yourUSBstick
rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes}
mkdir .fseventsd
touch .fseventsd/no_log .metadata_never_index .Trashes
cd -

สิ่งที่ไม่คุ้นเคยอื่น ๆ ที่คุณอาจเห็นว่าคุณอาจต้องการเก็บไว้เช่นไฟล์ Apple. และไฟล์ crt ของ Apple DS อื่น ๆ ที่เกี่ยวข้องกับไอคอนและการจัดวางหน้าต่าง


8
แม้ว่าสิ่งนี้อาจปิดใช้งานการจัดทำดัชนีไฟล์และไดเรกทอรีเหล่านั้นจะยังคงปรากฏอยู่ในไดรฟ์ข้อมูล (ซึ่งเป็นส่วนที่น่ารำคาญในตอนแรก) และหากคุณลบออก. Spotlight * และ. eseventd จะกลับมา ในความเป็นจริงเป็นหนึ่ง .metadata_never_index เพิ่มเติมรายการในรายชื่อไฟล์กว่า cruft ปกติ
ShreevatsaR

1
+1 จริง ๆ แล้วฉันคิดว่าเขาจะทิ้งถังขยะด้วยตัวเองและไปที่นี่เพื่อหาทางออกที่ดีกว่า แต่การได้เห็นสิ่งนี้ไม่สามารถต้านทาน +1 ได้ มันแก้ปัญหาที่แท้จริง - หยุดเสียงรถยนต์จากการเล่นไฟล์ในถังขยะ;)
Michael Krelin - แฮกเกอร์

+1 รู้ว่ามีสิ่งนี้อยู่ แต่จะต้องพบมันเสมอเมื่อฉันต้องการมัน สิ่งนี้มีประโยชน์หากคุณเข้าถึงไดรฟ์ USB ได้มากกว่าระบบ OSX
mlhDev

2
ขอบคุณฉันไม่รู้เกี่ยวกับ "cd -" ฉันยังดัน pushd / popd :)
studgeek

สิ่งที่เกี่ยวกับไดเรกทอรี ".DS_Store"? ยังคงมีอยู่ เหตุผลใดที่ไม่รวมอยู่ในบรรทัด "rm -rf"?
Marnix A. van Ammers

30

ในการป้องกันไม่ให้สปอตไลท์จัดทำดัชนีระบบที่ไม่ใช่โวลุ่มให้เพิ่ม / ปริมาณในรายการความเป็นส่วนตัวในการตั้งค่าระบบ> สปอตไลต์

/ Volumes เป็นจุดในระบบไฟล์ที่มีการติดตั้งดิสก์ที่ไม่ใช่ระบบทั้งหมดโดยค่าเริ่มต้น

ป้อนคำอธิบายรูปภาพที่นี่


เป็นไปไม่ได้ที่จะเพิ่ม / ปริมาณใน 10.8; เป็นไปได้ที่จะเพิ่มแต่ละเล่มทีละครั้ง ฉันสงสัยว่ามันคล้ายกับmdutil -i off /Volumes/xxx
Dima Tisnek

15
@qarma เป็นไปได้มากที่จะเพิ่ม / ปริมาณใน 10.8 หรือใหม่กว่า เพียงเปิดหน้าต่าง Finder ให้กดShift+ Command+ Gเพื่อเปิดหน้าต่าง"ไปที่โฟลเดอร์ ... " พิมพ์/Volumesแล้วลากไอคอนโฟลเดอร์เล็ก ๆ ที่ด้านบนของหน้าต่าง Finder (ถัดจากคำว่า "เล่ม") ลงใน รายการในภาพหน้าจอด้านบน
Chris Mukherjee

ฉันจะต้องลองสิ่งนั้น ...
Dima Tisnek

1
คุณสามารถเพิ่ม/Volumesได้ แต่ก็ใช้งานไม่ได้
kenny

1
ในเครื่องของฉันฮาร์ดไดรฟ์ในตัวอยู่ที่/Volumes/Macintosh HDดังนั้นถ้าใช้งานได้จะไม่หยุด Spotlight ไม่ให้จัดทำดัชนี HD หรือไม่
LarsH

17
  1. ใส่ไดรฟ์ USB
  2. นำทางไปยังMacintosh HD > Applications > Utilitiesและเปิด Terminal
  3. ที่พรอมต์ Terminal ให้พิมพ์คำสั่งต่อไปนี้แทนที่path_to_volumeด้วยเส้นทางจริง:

    sudo mdutil -i off /path_to_volume

  4. กดปุ่มย้อนกลับ

  5. หากได้รับแจ้งให้ใส่รหัสผ่านให้พิมพ์รหัสผ่านผู้ดูแลระบบของคุณแล้วกดกลับ คุณจะได้รับการตอบกลับ:

    /path_to_volume/: Indexing disabled for volume. ใน Mac OS X 10.4 หรือ

    /path_to_volume: Indexing disabled. ภายใต้ Mac OS X 10.5 หรือใหม่กว่า

    สปอตไลท์จะหยุดการทำดัชนีในระดับที่ระบุ

  6. หากคุณใช้ Mac OS X 10.5 ขึ้นไปให้ข้ามไปที่ขั้นตอนที่ 9

  7. ที่พรอมต์เทอร์มินัลพิมพ์คำสั่งต่อไปนี้แทนเส้นทางที่ถูกต้องอีกครั้ง:

    sudo mdutil -E /path_to_volume และกดปุ่มย้อนกลับ

  8. หากได้รับแจ้งให้ใส่รหัสผ่านให้พิมพ์รหัสผ่านผู้ดูแลระบบของคุณแล้วกดกลับ คุณจะได้รับการตอบกลับ:

    /path_to_volume/: Volume index removed.

  9. ที่พรอมต์ Terminal ให้พิมพ์exitจากนั้นกด Return
  10. ออกจาก Terminal

ขอบคุณthexlab.comการแก้ไขปัญหาหนังสืออิเล็กทรอนิกส์ Mac OS X และเว็บไซต์ของพวกเขาสำหรับคำอธิบายโดยละเอียดว่าทำไมวิธีการอื่น ๆ


1
หมายเหตุ sudo ขอรหัสผ่านของผู้ใช้ปัจจุบัน
user151019

สิ่งนี้ใช้ได้สำหรับฉัน การใช้งานดิสก์โดย Spotlight เปลี่ยนจาก 2GB เป็น 200k ความจริงที่ว่าปอตไลท์จะขึ้นการใช้งานดิสก์มากในดิสก์ที่ว่างเปล่าเป็นคนบ้า ฉันสงสัยว่าเราสามารถดึงโซลูชันนี้มาพร้อมกับสคริปต์ทริกเกอร์แบบ USB ซึ่งตรวจพบว่ามีอุปกรณ์ USB ชนิดใดอยู่ในนั้นและเรียกใช้คำสั่งนี้โดยอัตโนมัติ ความคิดใด ๆ
Otheus

15

อีกวิธีในการจัดการกับไฟล์สปอตไลท์ (เพียงแค่) คือการเพิ่มระดับเสียงนั้นในรายการที่ไม่รวมสปอตไลต์ของคุณ เสียบอุปกรณ์เข้าและไปที่ Spotlight prefpane ใน System Preferences เลือกแท็บ Privacy ตอนนี้ลากโวลุ่มนั้นจากเดสก์ท็อปของคุณไปยังรายการความเป็นส่วนตัว .. หรือใช้ปุ่ม + ที่ด้านล่างเพื่อเพิ่ม จะไม่มีการทำดัชนีสปอตไลท์อีกต่อไปในปริมาณ


น่าเสียดายที่ดูเหมือนว่าปริมาณจะถูกลบออกจากรายการความเป็นส่วนตัวเมื่อใดก็ตามที่ยกเลิกการต่อเชื่อม ดังนั้นจะต้องมีการทำซ้ำทุกครั้งที่คุณเสียบการ์ดหน่วยความจำหรืออุปกรณ์ USB ของคุณกลับเข้ามา
LarsH

9

2017 ธันวาคม

คุณคงคิดมาหลายปีแล้วว่า Apple จะสร้างบางสิ่งบางอย่างใน Finder เพื่อจัดการกับสิ่งนี้ ยังคงเป็นปัญหาที่พบบ่อยมากสำหรับผู้ที่ใช้ดิสก์ USB หรือการ์ด SD ในการเล่นสื่อในรถยนต์หรืออุปกรณ์อื่น ๆ

อย่างไรก็ตามนักพัฒนาซอฟต์แวร์ได้เติมช่องว่างด้วยแอพที่ได้รับการรับรองโดย Apple มากมาย แอพที่แสดงไว้ในคำตอบก่อนหน้านี้อาจใช้งานได้ดี แต่ก็ไม่ได้รับการปรับปรุงให้ใช้งานได้กับ macOS รุ่นใหม่

ฉันยังต้องระวังการติดตั้งบางอย่างที่จะควบคุมการใช้งานระบบไฟล์ทั้งหมดซึ่งเขียนโดยนักพัฒนาที่ไม่รู้จัก การไม่ต้องการจัดการกับ App Store เป็นสิ่งหนึ่ง แต่ไม่ต้องการลงทะเบียนกับ Apple เนื่องจากนักพัฒนาเป็นอีกสิ่งหนึ่ง ยิ่งไปกว่านั้นบางสิ่งจาก AppStore นั้นผ่านการตรวจสอบน้อยที่สุดจาก Apple และสามารถลบออกจากคอมพิวเตอร์ของคุณได้อย่างง่ายดายเช่นเดียวกับที่ติดตั้งไว้

ดังนั้นเมื่อใดก็ตามที่คุณอ่าน "คำตอบ" นี้คำแนะนำของคุณคือค้นหา App Store เพื่อรับข้อมูลล่าสุดตรวจสอบได้ดีและฟรี

TL; DR:

ตัวเลือกของฉันในวันที่ 20 ธันวาคม 2017คือ "CleanMyDrive 2" จาก App Store แก้ปัญหาอินเตอร์เฟซที่น่ารักฟรีอย่างสมบูรณ์ (เสนอซื้อไอคอนที่ปรับแต่งเองในแอปมิฉะนั้นทุกอย่างใช้งานได้ฟรี)

พรุ่งนี้สิ่งที่ดีกว่าอาจตามมา แต่ข้อสรุปคือ: App Store มีวิธีแก้ปัญหาฟรีสำหรับคำถามดั้งเดิม แต่ยั่งยืนของ jg-faustus ฟรีวางที่นี่เมื่อหลายปีก่อน - คำถามที่ฉันมีในวันนี้

ดังนั้นฉันจึงต้องขออภัยถ้าสิ่งนี้ดูเหมือนคำพูดรุนแรงมากกว่าคำตอบ แต่แน่นอนคำตอบก่อนหน้านี้ทั้งหมดล้าสมัยและไม่ได้นำไปสู่การแก้ปัญหาที่เป็นประโยชน์ การไม่พูดอะไรบางอย่างจะทำให้ผู้คนจำนวนมากต้องเสียเวลาเล่นกับเทอร์มินัลหรือติดตั้งแอพที่น่าสงสัย เพียงไปที่App Storeคุณไม่จำเป็นต้องจ่ายเงิน


6

ฉันใช้บรรทัดคำสั่ง MacOS Terminal เพื่อแสดงรายการและลบไฟล์และโฟลเดอร์ทั้งหมดก่อนที่จะดีดอุปกรณ์ออกจากเดสก์ท็อป สำหรับบางไฟล์คุณอาจต้อง sudo คำสั่ง / bin / rm


นั่นคือสิ่งที่ฉันทำ แม้ว่ามันจะดีกว่านี้หากฉันไม่ต้องการดังนั้นฉันจึงตรวจสอบทางเลือกอื่น
jg-faustus

โดยวิธีการที่อุปกรณ์จะพบที่ไหนสักแห่งที่ / Volumes / <name>
DerMike

4

ฉันใช้Clean Eject (ฟรี) และบริการ Automator แบบกำหนดเอง (ยังเป็นแบบส่วนตัว) เพื่อให้ฉันสามารถกำหนดปุ่มลัดเพื่อล้าง & เปิดไดรฟ์ข้อมูลโดยใช้แอป


หากไม่สามารถเข้าถึงบริการอัตโนมัติได้คุณพูดถึงคำตอบนี้ไม่ได้มีประโยชน์จริงๆ คุณสามารถแบ่งปันบริการได้หรือไม่?
nohillside

คำตอบนั้นมีประโยชน์อย่างยิ่ง - คุณสามารถใช้แอพได้โดยไม่ต้องมีการกระทำของ Automator หากคุณต้องการเพิ่มปุ่มลัดพิเศษสำหรับ Clean Eject คุณมีตัวเลือกมากมาย: Alfred, Keyboard Maestro การทำงานอัตโนมัตินั้นไม่สำคัญ แต่มีประโยชน์ ฉันจะอัปโหลดเมื่อฉันสามารถทำได้: gingerbeardman.com/services
Matt Sephton

บริการที่ฉันใช้ในการล้างข้อมูลในไดรฟ์ข้อมูลตัวค้นหาที่เลือกถูกอัปโหลดไปยังเว็บไซต์ (ดูลิงก์ด้านบน)
แมตต์ Sephton

ขอบคุณสำหรับการอัปโหลดทำให้คำตอบสมบูรณ์ยิ่งขึ้น
nohillside

4

โพสต์ของ @ Miles Leacy

และความคิดเห็นของ @ qarma:

ไม่สิ่งนี้ยังคงเป็นไปได้แม้ใน OSX 10.9 แต่คุณต้องทำขั้นตอนเพิ่มเติมสองสามขั้นตอน:

1) ในการค้นหาคลิกไปแล้วคลิกไปที่โฟลเดอร์ ...

2) พิมพ์/ ปริมาณและคลิกไป

3) หน้าต่าง Finder จะเปิดขึ้นมาและควรจะบอกปริมาณที่ด้านบน

นี่คือขั้นตอนที่สำคัญที่สุด:

4) ถัดจากที่บอกว่าVolumesที่ด้านบนของหน้าต่าง Finder จะมีไอคอนโฟลเดอร์สีฟ้าเล็ก ๆ คลิกและลากไอคอนนี้ไปไว้ในแผงรายการโปรดของคุณ

5) ตอนนี้คุณจะสามารถเข้าถึงโฟลเดอร์เล่มของคุณได้ทุกที่รวมถึงการตั้งค่า Spotlight เช่น Miles Leacy ที่แนะนำ (เมื่อใดก็ตามที่คุณต้องการเพียงคลิกที่ลิงค์รายการโปรดเพื่อเลือก)

หวังว่าจะช่วยได้

ที่ดีที่สุด

วลาด :)

~ ~ ~

วิธีเพิ่มโฟลเดอร์เล่มในรายการโปรดของคุณเพื่อให้คุณสามารถเข้าถึงได้ในการตั้งค่า Spotlight

~ ~ ~

สิ่งที่ดูเหมือนว่าหลังจากเพิ่มโฟลเดอร์เล่มไปยังรายการข้อยกเว้น Spotlight:

สังเกตเห็นในพื้นหลังคุณสามารถเห็นโพสต์ของฉันใน Safari ;)

ดูเหมือนว่าหลังจากเพิ่มโฟลเดอร์ Volumes ไปยังรายการข้อยกเว้น Spotlight


1
FWIW ฉันคิดว่านี่เป็นคำตอบที่ดีและไม่จำเป็นต้องแสดงความคิดเห็น ฉันจะลบส่วนนั้นออกจากมันแล้วปล่อยให้มันเป็นอย่างนั้น
Mark Edington

เนื่องจาก Mac HD เป็นโฟลเดอร์ย่อยของ Volumes สิ่งนี้ไม่ได้ปิดใช้งาน Spotlight บน Mac HD ด้วยใช่ไหม
LarsH

@ LarsH คำถามที่ดี ฉันไม่ชอบสปอตไลท์และปิดการใช้งานบน mac ของฉันอย่างสมบูรณ์ในปัจจุบันดังนั้นฉันจึงไม่แน่ใจ : 3
Vladimir

3

การแตะที่ไฟล์. ถังขยะจริงๆแล้วจะเป็นวิธีที่ดีที่สุดในการแก้ปัญหาหลักของคุณเนื่องจากไฟล์. ถังขยะตอนนี้เป็นไฟล์แทนที่จะเป็นโฟลเดอร์ ซึ่งหมายความว่า Apple ไม่สามารถย้ายไฟล์ไปยังโฟลเดอร์. ถังขยะเมื่อคุณลบไฟล์และไดรฟ์ของคุณจะไม่เต็ม

อีกตัวเลือกหนึ่งคือกด Cmd-Opt-Shift-Backspace เพื่อบังคับให้ Finder ลบเนื้อหาที่อยู่ในการ์ดออกก่อนที่จะทำการดีดออก

วิธีแรกดีที่สุดเนื่องจากวิธีที่สองมีผลกับเนื้อหาถังขยะทั้งหมดในไดรฟ์ทั้งหมด

อย่างไรก็ตามดูเหมือนว่าจากการโพสต์ของคุณว่าคุณมีความกังวลเกี่ยวกับมลพิษของไดรฟ์มากขึ้นจากไฟล์ dot ต่างๆ หากคุณทำตามขั้นตอนที่กล่าวถึงข้างต้นคุณจะประหยัดพื้นที่ดิสก์ของคุณ แต่จะมีการสร้างไฟล์จุดต่ำสุด


3

ตอนนี้ MacOS ให้การตั้งค่าสถานะโดยตรงนี้ซึ่งคุณสามารถสลับจากเทอร์มินัล:

defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

1
คำตอบที่ดีสำหรับส่วนหนึ่งของคำถาม นี่เป็นการปิดการใช้งาน DSStore แต่คำถามนั้นเกี่ยวกับไฟล์ Trash และ Spotlight โดยเฉพาะซึ่งโซลูชันของคุณ (จากสิ่งที่ฉันอ่านได้) นั้นไม่เกี่ยวกับ
Otheus

2

วิธีง่ายๆในการหยุดเสียงรถยนต์ที่พยายามอ่านไฟล์ Mac OS ที่ซ่อนอยู่คือการลบออกใน Windows OS เพียงคัดลอกเพลง MP3 ของคุณไปยัง USB stick จาก iTunes สลับไม้กับ Windows OS และเลือกดูไฟล์ที่ซ่อนจากตัวเลือกโฟลเดอร์ วิธีนี้จะช่วยให้คุณสามารถลบไฟล์ที่ซ่อนอยู่ทุกไฟล์ที่ Mac ที่ไว้ใจของคุณวางไว้บนแท่ง USB ของคุณรวมถึงไฟล์. trash ที่น่ารำคาญ ในที่สุดใช้สำหรับ Windows OS!


+1 มันค่อนข้างน่าเบื่อ แต่แน่นอนว่าทำไมมันไม่ทำงานเลยฮ่าฮ่า
Vladimir

2

ฉันลงเอยด้วยการใช้แอพฟรี " Hidden Cleaner " เครื่องเล่น MP3 ในรถยนต์ของฉันพยายามอ่าน (ไฟล์ MP3 ชื่อไฟล์) .mp3 (ไฟล์กลวงที่ว่างเปล่า mp3) เช่นกัน ไปที่ Macintosh HD ในส่วนอุปกรณ์ในเมนู Finder ด้านซ้ายแล้วลากไดรฟ์ USB ของคุณและวางลงในแอพ Hidden Cleaner มันจะล้างไฟล์ที่กลวงและปล่อย MP3 จริงและจะนำ USB ของคุณออก

หมายเหตุ: นั่นไม่ใช่วิธีแก้ไขปัญหาอย่างถาวร คุณต้องทำข้างต้นทุกครั้งที่คุณคัดลอกไฟล์ ฉันไม่รังเกียจ


อีกโปรแกรมที่คล้ายกัน: เลื่อนออกสำหรับ Windows www011.upp.so-net.ne.jp/decafish/EjectForWindows/ …
Vinicius Pinto

เมื่อพูดถึงการเล่นกับระบบไฟล์คุณไม่ควรวางใจคอมพิวเตอร์ของคุณกับผู้พัฒนาที่ไม่ระบุชื่อ ฉันแค่พูดว่า
ElmerCat

2

คำถามเดิม แต่ฉันในที่สุดก็ค้นพบAsepsis นี่คือยูทิลิตี้โอเพนซอร์สที่ช่วยแก้ปัญหาวัยชราโดย จำกัด.DS_STOREไดเรกทอรีทั้งหมดไว้ในที่เดียวโดยค่าเริ่มต้น/usr/local/.dscage
หลังจากการติดตั้งและการรีบูตไม่มีอีกต่อไป. DS_STORE บนไดรฟ์ USB ที่มีข้อดี (สำหรับบางคน) ต้องปิดการใช้งานการจัดทำดัชนีในไดรฟ์ภายนอก ตั้งแต่เวอร์ชัน 1.4 มันยังรองรับ OS X Mavericks

อัปเดตจากเว็บไซต์ Aepsis: "คำเตือน: Asepsis ไม่ได้อยู่ภายใต้การพัฒนาและสนับสนุนภายใต้ OS X 10.11 (El Capitan) และในภายหลัง


เย็น! ฉันสงสัยว่าโปรแกรมนี้จะจัดการกับความผิดพลาดของระบบหรือโหลดซีพียูที่รุนแรงได้อย่างไร ในคำอื่น ๆ ฉันสงสัยว่าการยกเลิกการปฏิเสธจะเดิมพันโดยอัตโนมัติจัดการหรือจะต้องทำด้วยตัวคุณเอง? Automaticlly ดีเพราะเราไม่จำเป็นต้องกังวล แต่มันก็หมายความว่าโปรแกรมจะต้องทำการตรวจสอบมากขึ้น
วลาดิมีร์

2

โซลูชันส่วนใหญ่ที่นี่คือ 'ล้าง dotfiles ก่อนนำออก' แทนที่จะ 'ป้องกันการสร้าง dotfile'

ในการค้นหาวิธีแก้ปัญหาฟรีสำหรับอดีตฉันได้ลองใช้ตัวเลือกสองสามตัวและตัดสินบน applescript ที่นี่: SuperUser: มีใครมีสคริปต์ Mac Terminal เพื่อลบไฟล์ที่ซ่อนอยู่หรือไม่ เพราะมันทำให้ฉันเห็นว่าเกิดอะไรขึ้นระหว่างทาง

หมายเหตุในความคิดเห็นของฉันเกี่ยวกับคำตอบนั้นฉันได้ทำการแก้ไขเล็กน้อยเพื่อให้ทำงานบน OSX 10.12.1 (ฉันไม่ได้โพสต์แหล่งที่มาในกรณีนี้อีกครั้งเพราะนี่เป็นคำถาม 'ลิงก์ที่เป็นมิตร' ที่น่าสนใจ)


2

สิ่งที่โง่ที่สุดที่ฉันไม่สามารถมีส่วนร่วมกับคำตอบของ Metaxis ได้ แต่มันง่ายที่จะสร้างสคริปต์ทุบตีที่จัดการสิ่งนี้โดยอัตโนมัติสำหรับทุกโฟลเดอร์ใน / เล่ม (หรือเฉพาะถ้าคุณระบุ) ควรจะสามารถเรียกใช้ด้วย Automator หรือ Applescript เมื่อโฟลเดอร์ปรากฏภายใต้ / Volumes จากนั้นคุณจะปิดการใช้งานการทำดัชนีโดยอัตโนมัติ

#!/bin/bash

if [ -n "$1" ]; then
    if [ ! -e "${1}/.metadata_never_index" ]; then
        echo "mdutil -i off $1"
        mdutil -i off "$1"
        cd "$1"
        rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes}
        mkdir .fseventsd
        touch .fseventsd/no_log .metadata_never_index .Trashes
    fi
else
#    echo "finding Volumes"
    find /Volumes -type d -maxdepth 1 -mindepth 1 -print0 | xargs -0 -n 1 "$0"
fi

0

ฉันพบแอพนี้ใน Apple App Store ได้ฟรีและใช้งานได้และมันก็ใช้ได้ดีสำหรับฉัน คุณต้องค้นหา "cleanusbdrive" ทั้งหมดหนึ่งคำโดยไม่มีเครื่องหมายอัญประกาศใน App Store

มันเป็นของJosé A. Jiménez Campos



0

ปัจจุบันCleanmydrive2มีให้บริการบนแอพสโตร์ฟรีและจัดการปัญหานี้สำหรับผู้ใช้ที่มีเซียร่าสูงถึงสูง


-1

ฉันได้สิ่งนี้เพื่อทำงานกับ Sierra 10.12.3 ใน Automator

ก่อนอื่นฉันสร้างสคริปต์เวอร์ชันนี้: มันทำงานในลักษณะเดียวกับของ freefly42 เพียงวิธีการเขียนแบบเดียวกัน

หากต้องการแปลลำโพงที่ไม่ใช่เจ้าของภาษาสิ่งที่มันทำคือ:

หากรันด้วยอาร์กิวเมนต์ commandline จะพยายามดูว่าอาร์กิวเมนต์นั้นเป็นไดเรกทอรีหรือไม่และถ้าไดเรกทอรีนั้นมีไฟล์ชื่อ ".disable_osx_metadata"

หากไฟล์พิเศษไม่อยู่ที่นั่นแสดงว่าไม่มีอะไรเกิดขึ้น ไดรฟ์นั้นถูกละเว้น

หากมีไฟล์พิเศษสคริปต์จะลบข้อมูลเมตาของ osx ทั้งหมดและสร้างรายการใหม่เล็ก ๆ น้อย ๆ ซึ่งป้องกันสิ่งอื่น ตัวอย่างเช่นการสร้างไฟล์ที่ชื่อว่า. ถังขยะทำให้ระบบปฏิบัติการไม่สามารถสร้างไดเรกทอรีที่ชื่อว่า. ถังขยะจากนั้นจึงเขียนไฟล์ในนั้น

หากรันโดยไม่มีอาร์กิวเมนต์มันจะรันตัวเองหนึ่งครั้งสำหรับแต่ละไดเร็กทอรีใน / Volumes

ดังนั้นหากคุณรันด้วยตนเองหรือคลิกที่มันมันจะตรวจสอบไดรฟ์ที่แนบมาทั้งหมด หากคุณสร้างเวิร์กโฟลว์ใน Automator ดังนั้น Automator จะเรียกใช้เมื่อใดก็ตามที่มีการเชื่อมต่อไดรฟ์สำหรับไดรฟ์นั้นเท่านั้น

#!/bin/bash
x=.disable_osx_metadata
[[ "$1" ]] || exec find /Volumes -type d -maxdepth 1 -mindepth 1 -exec $0 {} \;
[[ -e "$1/$x" ]] || exit 0
mdutil -i off "$1"
rm -rf "$1"/.{,_.}{fseventsd,Spotlight-V*,Trashes}
mkdir "$1/.fseventsd"
touch "$1/.fseventsd/no_log" "$1/.Trashes" "$1/$x"

บันทึกเป็น "disable_osx_metadata", chmod 755, คัดลอกไปยัง / usr / local / bin

$ cd Documents/disable_osx_metadata/
$ chmod 755 disable_osx_metadata
$ sudo cp disable_osx_metadata /usr/local/bin

จากนั้นเปิด Automator, New, Folder Action

จากนั้นฉันก็พบว่าแม้ใน Sierra 10.12.3 คุณยังคงสามารถเพิ่มไดเรคทอรี / ไดรฟ์ข้อมูลใน Automator โดยวิธีที่ไม่ชัดเจน

ไปที่ตัวค้นหาไฟล์ "ไปที่โฟลเดอร์ ... " เขียนด้วยตนเองใน "/ เล่ม" แล้วกด Enter

ตอนนี้จะแสดงหน้าต่างที่มีไดรฟ์ HD และยูเอสบีของคุณ แต่ไม่มีโฟลเดอร์ "/ Volumes" ที่ชัดเจนให้คลิก แต่แถบหัวเรื่องพูดว่า "/ เล่ม" และจะปรากฏที่ด้านล่างด้วย

คุณสามารถลากไอคอนโฟลเดอร์ที่อยู่ถัดจาก "/ เล่ม" จากแถบชื่อเรื่องหรือจากด้านล่างไปยัง Automator และวางไว้ที่ "การกระทำของโฟลเดอร์จะรับไฟล์และโฟลเดอร์ที่เพิ่มไปที่: [______]"

ลาก / เล่มจากแถบชื่อเรื่อง Finder

ปิดตัวค้นหา

ย้อนกลับไปใน Automator: ทางด้านซ้ายเลื่อนลงและลาก "รับเนื้อหาของโฟลเดอร์" ไปทางขวาแล้วปล่อย

จากนั้นทางซ้ายอีกครั้งเลื่อนลงและลาก "เรียกใช้สคริปต์เชลล์" ไปทางขวาและวางลงใต้ "รับเนื้อหาโฟลเดอร์"

เปลี่ยน "Pass input:" เป็น "as arguments" Shell: [/ bin / bash] Pass input: [as arguments]

จากนั้นลากสคริปต์จาก / usr / local / bin ไปที่กล่องภายใต้ "Run Shell Script" ดังนั้นจึงระบุว่า "/ usr / local / bin / disable_osx_metadata"

ไฟล์บันทึก, disable_osx_metadata.workflow

Automator Folder Action เวิร์กโฟลว์

สำหรับการอ้างอิงสิ่งนี้จะได้รับการบันทึกใน: / Users / YOUR_NAME / Library / Workflows / Applications / Folder Actions หากคุณบันทึกบางอย่างผิดปกติฉันคิดว่าคุณต้องไปที่ Finder ใน Finder เพื่อลบมันด้วยตัวเอง

สุดท้ายสำหรับไดรฟ์ usb ใหม่ที่คุณต้องการป้องกันคุณต้องสร้างไฟล์ชื่อ ".disable_osx_metadata" ในโฟลเดอร์รูท

คุณสามารถทำได้ในเทอร์มินัล: $ touch / เล่ม / NO \ NAME / .disable_osx_metadata

หรือเพียงแค่เก็บไฟล์ข้อความเล็ก ๆ โดยใช้ชื่อที่มองเห็นได้ (ไม่มีจุดนำ) แล้วคัดลอกไปยังรูทของไดรฟ์ usb ใหม่แล้วเปลี่ยนชื่อเป็น. disable_osx_metadata หลังจากคัดลอก

ตอนนี้ไดรฟ์นั้นจะได้รับการทำความสะอาดทุกครั้งที่คุณติดตั้งนับจากนี้เป็นต้นไป

ไม่สะอาดอย่างที่ฉันต้องการ คุณต้องทำให้สกปรกน้อยลงเพื่อบอกให้ OS ไม่ทำให้สกปรกมากขึ้น ดูเหมือนว่าไม่มีทางที่จะทำให้ระบบปฏิบัติการปล่อยทิ้งไว้เพียงอย่างเดียวและไม่เพิ่มไฟล์ใด ๆ ที่คุณไม่ได้ขอ

สิ่งที่ต้องทำ: เพิ่มฟังก์ชั่นเปิด / ปิดการใช้งานเพื่อสร้าง / ลบไฟล์ดอท

สิ่งที่ต้องทำ: สิ่งนี้ไม่ได้ป้องกันไฟล์. DS_Store ในทุก ๆ ไดเรกทอรี

สิ่งที่ต้องทำ: มันเป็นไปได้ที่จะจัดทำสคริปต์และไฟล์ foo.workflow เพื่อให้ผู้ใช้สามารถข้ามคำแนะนำส่วนใหญ่ได้หรือไม่? ฉันเห็นว่ามีตัวเลือก "ส่งออก" ใน Automator ที่สร้างไฟล์แพ็คเกจบางประเภท

สิ่งที่ต้องทำ: อาจล้าสมัยโพสต์ทั้งหมดนี้ เวิร์กโฟลว์ applescript + automator นี้อาจจะดีกว่า: https://superuser.com/questions/319553/does-anyone-have-a-mac-terminal-script-to-remove-have-files/814104#814104

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.