ปิดใช้งานการจัดเก็บไฟล์ที่มองไม่เห็น“ ._” ในที่เก็บข้อมูลเครือข่าย cfs หรือ smb ของฉัน


34

ฉันใช้ OS X Mavericks และติดตั้งไดรฟ์เก็บข้อมูลของ บริษัท ไว้ (โดยใช้ smb หรือ cfs) (SMB: //username@address.path.toserver.com/directory/data) เมื่อฉันทำงานกับไฟล์ในไดรฟ์หรือคัดลอกไฟล์ไปยังไดรฟ์ไฟล์ที่ซ่อนอยู่บางไฟล์จะถูกสร้างขึ้น ไฟล์เหล่านี้ส่วนใหญ่เริ่มต้นด้วย dot-dash ._จากนั้นชื่อไฟล์ของไฟล์ต้นฉบับเช่น:

._test001.png
._test002.png
._test003.png

และส่วนใหญ่แล้วชื่อเสียง._.DS_Storeและ.DS_Storeยังมี

ใน Mac ของฉัน.รายการจุดเหล่านี้จะมองไม่เห็น แต่เพื่อนร่วมงาน windows ของฉันจะเห็นไฟล์เหล่านี้ ฉันจะป้องกันไม่ให้ OS X สร้างไฟล์ที่มองไม่เห็นแปลก ๆ เหล่านี้ได้อย่างไร

ในsupport.apple.com (และแหล่งอินเทอร์เน็ตอื่น ๆ ) คุณสามารถค้นหา 'ค่าเริ่มต้นเขียน' เพื่อปิดการสร้างไฟล์. DS_Store ในไดรฟ์เครือข่ายของคุณ แต่นี่ไม่ได้ผลใน Mavericks:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

สำหรับตอนนี้ฉันใช้ออนไลเนอร์ตัวนี้ แต่การทำ a rm -rfจะรู้สึกผิดในกรณีนี้

find . -type f -name "._*" -exec rm "{}" \;

แก้ไข: ฉันไม่ต้องการลบไฟล์หรือแยกออกจากการคัดลอก ฉันไม่ต้องการให้พวกเขาสร้างขึ้นตั้งแต่แรก

แก้ไข: ฉันชอบโซลูชัน OS X แบบเนทีฟสำหรับแอปของบุคคลที่สาม

แก้ไข: คำถามนี้มีสองคำตอบหนึ่งคำตอบสำหรับไฟล์. _ และอีกข้อหนึ่งสำหรับไฟล์. DS_Store รางวัลนี้มอบให้สำหรับdot_cleanแอพบรรทัดคำสั่งดั้งเดิมนี้จะทำการล้างไฟล์. _ ทั้งหมด น่าเสียดายที่ไม่ได้ล้างไฟล์. DS_Store ซึ่งสามารถทำได้อย่างมีประสิทธิภาพด้วย Asepsis Asepsis เก็บ .DS_Stores ในตำแหน่งคงที่และไม่อยู่ในโฟลเดอร์


ฉันไม่แน่ใจว่าคำแนะนำเหล่านี้จะแก้ปัญหาของคุณได้หรือไม่ 1. ลอง TinkerTool bresink.com/osx/TinkerTool.htmlและใช้ Finder> "อย่าสร้างไฟล์ที่ซ่อนไว้. DS_Store ผ่านการเชื่อมต่อเครือข่าย" 2. ลองใช้การตั้งค่าระบบความลับบานหน้าต่างsecret.blacktree.comและ untick Finder> ใช้. DS_Stores บนเครือข่าย

@gentlemanhog ฉันจะลองทำตามคำแนะนำของคุณ แต่ฉันชอบโซลูชัน OS X แบบ "ดั้งเดิม" มากกว่าแอปของบุคคลที่สาม
CousinCocaine

@gentlemanhog น่าเสียดายที่โซลูชันของคุณไม่ทำงานใน Mavericks
CousinCocaine

คำตอบ:


31

ฉันจะยอมรับว่าฉันไม่ได้สังเกตว่าdefaults writeคำสั่งหยุดทำงานใน Mavericks อย่างไรก็ตามเมื่อฉันทำความสะอาดเครือข่ายแทนการใช้สายการบินเดียวfindและrmฉันใช้สิ่งนี้:

dot_clean .

manfile อธิบาย:

dot_clean -- Merge ._* files with corresponding native files.

ฉันไม่ใช้แฟล็ก -m แต่คุณอาจพบว่ามีประโยชน์ในสถานการณ์ของคุณ

-m      Always delete dot underbar files.

นี่คือบุคคลอื่นที่พยายามหยุดไม่ให้สร้างไฟล์ DS_Store: http://www.aorensoftware.com/blog/2011/12/24/death-to-ds_store/ - ดูเหมือนว่าเขาไม่ต้องการให้พวกเขาอยู่ในไดรฟ์ เท่าที่เขาไม่ต้องการในเครือข่าย!


นี่เป็นเครื่องมือที่เหมาะสมสำหรับงาน น่าเสียดายที่โซลูชันนี้ใช้การติดตั้ง 'โพสต์' และต้องทำงานหลังจากการติดตั้งเกิดขึ้น asepsis ทำงานได้ดีขึ้น ( apple.stackexchange.com/a/136558/55028 ) แต่เป็นแอปของบุคคลที่สามและใช้งานได้เฉพาะกับไฟล์. DS_Store เท่านั้นและใช้ได้กับไฟล์. DS_Store ทั้งหมดในทุกการเชื่อมต่อ
CousinCocaine

12

เพิ่งลองและนี่ใช้งานได้ใน Mavericks (อย่างน้อยก็ปิดการใช้งาน. DS_Store ไม่ใช่เครือข่ายแชร์):

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

คุณต้องจำไว้ว่าให้รีสตาร์ท Finder ด้วย:

killall Finder

1
สิ่งนี้ใช้ไม่ได้กับ El Capitan สำหรับไดรฟ์ Samba .DS_Storeไฟล์ยังคงถูกสร้างขึ้น
Sébastien

.DS_Storeไม่ได้ไฟล์ AppleDouble พวกเขากำลังเพียง "ปกติ" มองไม่เห็นไฟล์ที่สร้างขึ้นโดยการค้นหา ดังนั้นการเห็นไฟล์. DS_Store เหล่านั้นของคุณจึงไม่มีข้อบ่งชี้ว่าจะใช้DSDontWriteNetworkStoresงานได้หรือไม่
Thomas Tempelmann

4

._ไฟล์เป็นไฟล์ AppleDouble ที่ใช้ในการจัดเก็บข้อมูลเมตาเช่นคุณสมบัติการขยาย, ACL ของธงไฟล์และส้อมทรัพยากร

หากต้องการลบออกให้เรียกใช้:

find . -name ._\* -delete

คุณสามารถดูว่าไฟล์มีแอ็ตทริบิวต์ส่วนขยาย, ACL หรือแฟล็กไฟล์ด้วยls -l@eOหรือไม่ ._ไฟล์มักจะสร้างเพราะไฟล์มีคุณลักษณะเพิ่มเติม คุณสามารถใช้xattr -cเพื่อลบคุณสมบัติเพิ่มเติมหรือchmod -Nเพื่อลบ ACL cp -Xและrsyncคัดลอกไฟล์โดยไม่มีคุณสมบัติเพิ่มเติม, ACLs, แฟล็กไฟล์หรือส้อมทรัพยากร


ฉันไม่ต้องการลบไฟล์หรือแยกออกจากการคัดลอก ฉันไม่ต้องการให้พวกเขาสร้างขึ้นตั้งแต่แรก
CousinCocaine

2
หากคุณใช้ Finder คุณจะไม่สามารถป้องกันไม่ให้สร้างขึ้นมาได้
Fyrefly

@Frerefly แต่คุณสามารถสร้างมันได้ที่อื่น ดู Asepsis, apple.stackexchange.com/a/136558/55028 ดังนั้นวิธีการแก้ปัญหา 'ดั้งเดิม' อาจเป็นไปได้เช่นกัน
CousinCocaine

3

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

สิ่งที่คุณต้องทำคือแก้ไขการกำหนดค่าการแชร์ของคุณ (ตัวอย่างเช่นใน Linux ใน /etc/samba/smb.conf) และเพิ่มตัวเลือกต่อไปนี้ในการกำหนดค่าการแชร์ของคุณ:

veto files = /._*/.DS_Store/ 

ในตอนนี้ไม่มีไคลเอ็นต์ Mac ที่สามารถบันทึกไฟล์ใด ๆ


1
'ยับยั้งไฟล์' ไม่ได้ป้องกันการเขียนไฟล์มันป้องกันผู้ใช้จากการดูไฟล์ โปรดอ้างถึงsamba.org
Justin Catterall

1
แซมบ้ามีตัวเลือก "ลบไฟล์ยับยั้ง = ใช่" ซึ่งยังลบไฟล์เหล่านั้นด้วย
rwenz3l

1
น่าเสียดายที่delete veto files = yesไม่ลบไฟล์ dot เหล่านั้นมันเพียงแค่มั่นใจว่าคุณสามารถลบโฟลเดอร์ที่มีไฟล์ที่ถูกซ่อนจากมุมมองโดยveto filesตัวเลือกดังนั้นจึงไม่บรรลุสิ่งที่ OP ดำเนินการหลังจาก (และสำหรับสิ่งที่ฉันค้นหาด้วย สำหรับ).
xmnboy

2

ฉันไม่ได้ลองด้วยตัวเองและฉันรู้ว่า OP ชอบวิธีการแก้ปัญหาทั่วไป แต่ถึงกระนั้น:

มีแอพที่ชื่อว่าAsepsisซึ่งทำงานโดยการเปลี่ยนเส้นทางการสร้างไฟล์เหล่านั้นไปยังโฟลเดอร์พิเศษนั่นคือวิธีการป้องกันไม่ให้ปรากฏ


นี่เป็นเครื่องมือที่ดีสำหรับงาน น่าเสียดายที่โซลูชันนี้เป็นแอปของบุคคลที่สามและใช้งานได้เฉพาะกับไฟล์. DS_Store (ไม่ใช่ไฟล์. _) เท่านั้นและใช้ได้กับไฟล์. DS_Store ทั้งหมดในทุกการเชื่อมต่อเท่านั้น นี่เป็นวิธีแก้ปัญหาที่ดี แต่ไม่ใช่ไฟล์ดั้งเดิมและไม่ใช่. และจึงไม่มีความโปรดปราน sry
CousinCocaine

1

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

BlueHarvest

BlueHarvest จะลบไฟล์ .DS_Store และ. _ AppleDouble ออกโดยอัตโนมัติจากคีย์ USB การ์ด SD เครื่องเล่นเพลงเซิร์ฟเวอร์ไฟล์หรือดิสก์ Mac ที่ไม่ใช่ BlueHarvest จะลบรายการเหล่านี้เมื่อสร้างหรือแก้ไขดังนั้นคุณจะได้รับเมทาดาทาฟรีโดยไม่จำเป็นต้องยกนิ้ว

ไม่มีส่วนเกี่ยวข้องฉันเพิ่งใช้มันสำเร็จมาหลายปีแล้ว


0

เท่าที่ฉันรู้คุณไม่สามารถป้องกันได้ว่าไฟล์เหล่านี้จะถูกสร้างขึ้น อย่างน้อย Finder จะสร้างพวกเขา

การลบไฟล์เหล่านี้จะไม่ช่วยได้เช่นกัน - ในครั้งต่อไปที่คุณเข้าถึงโวลุ่มและโฟลเดอร์ใน Mac ตัวค้นหาจะสร้างอีกครั้ง

ฉันประหลาดใจที่เพื่อนร่วมงาน Windows ของคุณเห็นไฟล์เหล่านี้ ฉันกำลังทำงานเป็นเวลาหลายปีในขณะนี้ด้วย Mac ของฉันโดยใช้ Mac และ Windows - และฉันไม่เคยเห็นไฟล์เหล่านี้ ไม่ว่าบน Mac หรือบน Windows

ไฟล์เหล่านี้ถูกทำเครื่องหมายว่า "ซ่อน" โดยค่าเริ่มต้นและจะไม่ปรากฏหากคุณตั้ง Windows ให้ซ่อนไฟล์และโฟลเดอร์ที่ซ่อน


ฉันตรวจสอบแล้วและพวกเขาปิดการใช้งาน 'ซ่อนไฟล์ที่ซ่อนอยู่' แต่สิ่งนี้ไม่ได้ป้องกันพวกเขาจากการถูกสร้างขึ้น ผมคิดว่าไม่มีทางที่จะแก้ไขปัญหานี้เป็นที่มีอยู่ใน OS 10.5 ค่าเริ่มต้นเขียน com.apple.desktopservices DSDontWriteNetworkStores -bool จริง
CousinCocaine

หากพวกเขาปิดการใช้งาน (ไม่ถูกตรวจสอบ) 'ซ่อนไฟล์ที่ซ่อนอยู่' ก็เป็นเพียงวิธีอื่น: เปิดใช้งาน :-) และอย่างที่ฉันพูดไป: เท่าที่ฉันรู้ว่าไม่มีทางออก "native OS X solution" และ: คุณเชื่อมโยงกับคำตอบจาก "support.apple.com" ซึ่งระบุว่า: "การปิดใช้งานการสร้างไฟล์. DS_Store บนเซิร์ฟเวอร์ไฟล์ระยะไกลอาจทำให้เกิดพฤติกรรมที่ไม่คาดคิดใน Finder" และ: ฉันจะไม่แนะนำให้ติดตั้งแอปพลิเคชั่นซึ่งสัญญาว่าจะป้องกันมัน เท่าที่ฉันรู้ว่าสิ่งนี้อาจเป็นอันตรายได้
มาร์ติน

2
"นี่อาจเป็นอันตรายอย่างยิ่ง" :) ตอนนี้ฉันต้องการให้ไฟล์เหล่านี้หายไปจริงๆ! อย่างจริงจังไฟล์. DS_Store จัดเก็บคุณสมบัติ Finder และไฟล์ DS_Store ที่เสียหายสามารถทำสิ่งแปลก ๆ ได้อย่างแน่นอน ฉันไม่ต้องการไฟล์ DS_Store ที่เสียหายฉันต้องการไฟล์ DS_Store ที่ไม่เสียหาย ฉันไม่กลัวที่จะลบออก และกลับไปที่คำถามเดิมของฉัน: ฉันจะป้องกัน OS X จากการสร้างไฟล์ที่มองไม่เห็นที่แปลกประหลาดเหล่านี้ได้อย่างไร? และด้วยความที่ฉันหมายถึงไฟล์. _ ทั้งหมดและ. DS_Store ไม่มีอะไรอีกแล้ว.
CousinCocaine

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

-1

ฉันพบวิธีที่ง่ายและฟรีมากในการกำจัดไฟล์. _ โดยเฉพาะจาก fat32 HD ภายนอก

เรียกใช้OnyX (ซอฟต์แวร์ฟรี) จากโปรแกรมอรรถประโยชน์ไปที่ AppleDouble เลือก ... โฟลเดอร์ แค่นั้นแหละ!!!


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