Mengapa file dot garis bawah ._ dibuat, dan bagaimana saya bisa menghindarinya?

156

Saya menggunakan sistem operasi yang berbeda pada mesin yang berbeda di lokasi berbeda. Saya menggunakan USB flash disk untuk menyimpan file saya (kode sumber dll.).

Saya baru mengenal Mac OS X dan sekarang saya menyadari ada banyak file yang dibuat dengan ._awalan titik garis bawah .

Pertanyaan

Mengapa ._file dibuat?

Apa tujuan mereka?

Bagaimana saya bisa menghindarinya?

nimcap
sumber
3
Saya juga tidak menyukai mereka, tetapi saya telah belajar hidup bersama dengan mereka secara damai.
boehj
1
Jika flash drive diformat dalam format HFS +, itu akan menekan pembuatan ._file, tapi saya tidak tahu opsi apa yang ada pada sistem operasi lain Anda yang tidak ditentukan untuk membaca volume HFS +.
Daniel
Tidak ideal, tetapi ls --ignore="._*"sebagai alias atau pengikat tombol berjalan jauh.
Sridhar Sarnobat

Jawaban:

107

Anda tidak dapat menghindarinya (tetapi lihat jawaban dot_clean oleh Saeid Zebardast --mereka dapat dihapus dari direktori jika itu yang Anda butuhkan). Mereka dibuat untuk menyimpan informasi file yang jika tidak masuk ke atribut diperluas pada volume HFS + (Apple asli) atau Unix / UFS; di Mac OS sebelumnya ini akan menjadi garpu sumber daya. Operasi file Finder akan membuatnya secara otomatis untuk menyimpan informasi ikon, ditambah Time Machine menyimpan beberapa informasi di dalamnya sehingga jika Anda menyalin file yang didukung melalui TM, informasi itu juga akan disalin.

(Ini bukan hal yang baru; Saya perhatikan bahwa XP dan kemudian meninggalkan berbagai kotoran juga, meskipun tidak cukup banyak.)

geekosaurus
sumber
50
Saya setuju, "turd" adalah deskripsi yang akurat :)
Drahcir
2
Saya perhatikan bahwa Mac saya meninggalkan turds di server samba linux saya ketika saya menggunakan label warna (menggunakan Path Finder 7). Ada file ._ <coloreditem> untuk setiap item berwarna.
Jonathan Komar
5
Kami memiliki situasi yang sama di server file samba linux kami di tempat kerja. Karena kami tidak memerlukan metadata warna untuk file, kami menggunakan veto files = /._*/dan delete veto filesopsi di kami smb.confuntuk mencegah pembuatan file seperti itu. Alih-alih, kami membiarkan .DS_STOREfile apa adanya, karena berguna untuk mengatur pengurutan file, dan hanya ada satu untuk setiap dir.
gerlos
5
Setidaknya pada Windows Anda dapat mematikan ini!
totymedli
7
Terpilih untuk penggunaan "turds" untuk menggambarkan ini.
George P
60

Anda dapat menggunakan perintah dot_clean untuk menghapus atau menggabungkan file ._:

dot_clean PATH_OF_FOLDER_OR_DRIVE

Jika Anda memindahkan file ke linux, atau menggunakan Git BashPC Anda, dan memiliki akses ke findperintah, Anda mungkin juga dapat melakukan ini:

find . -type f -name '._*' -delete

Dan mereka pergi!

Saeid Zebardast
sumber
3
Jawaban lain tidak benar-benar menjawab "Bagaimana saya bisa menghindarinya?" bagian. Ini tidak. Terima kasih!
Ninja Fist
11
Dari man dot_clean: For each dir, dot_clean recursively merges all ._* files with their corresponding native files according to the rules specified with the given arguments. By default, if there is an attribute on the native file that is also present in the ._ file, the most recent attribute will be used.Perintah ini tidak hanya menghapus file dot tertentu, tetapi juga dapat menimpa atribut sebelumnya / asli untuk setiap folder. Gunakan dengan hati-hati.
William Isted
Tidak yakin apakah ini disebutkan di sini atau tidak, tapi harap berhati-hati dalam menghapus sejumlah besar ._file. Mereka mungkin menghapus ikon file / folder, komentar, label dll. Pastikan bahwa di mana pun Anda menghapusnya, ini bukan masalah
leetbacoon
26

Tujuan file .DS_Store dan ._

http://diigo.com/0qiwp untuk tampilan beranotasi http://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html di mana Matt Deatherage ( mantan insinyur di Apple ) menawarkan penjelasan. Juga arnotify »Tentang asal-usul .DS_Store  (2006-10-01).

Karena saya telah melihat kehilangan data pengguna (konten dokumen) di mana ._mitra dicegah atau hilang, saya setuju bahwa itu:

  • tidak dapat diterima untuk memiliki hal-hal "lenyap ke dalam eter".

Tujuan file ._

Selain tujuan yang dijabarkan dalam jawaban geekosaur yang diterima , berikut adalah beberapa contoh bagaimana Apple dan aplikasi pihak ketiga baik menggunakan atau membutuhkan ._ dalam beberapa situasi ...


Mengarsipkan bisnis selama penyalinan dengan Finder

Lihat jawaban saya untuk pertanyaan tentang Stack Overflow.


NeoOffice menggunakan kode usang

Kode jenis HFS NO%Ftanpa kode pembuat adalah:

  • digunakan dengan penuh pertimbangan, hanya jika sesuai.

Contoh NeoOffice 1

NeoOffice 3.2.1 Patch 5 simpan ke JHFS +:

[macbookpro08-centrim:~] gjp22% xattr -l /Users/gjp22/Desktop/product\ of\ NeoOffice\ 3.2.1\ Patch\ 5.docx 
com.apple.FinderInfo:
00000000  4E 4F 25 46 00 00 00 00 00 00 00 00 00 00 00 00  |NO%F............|
00000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00000020

Contoh NeoOffice 2

NeoOffice 3.2.1 Patch 5 simpan ke USB flash drive dengan MS-DOS FAT32, pembersihan oleh BlueHarvest:

2012-05-12 06:42:08.349 BlueHarvest[31146]: Deleted ._product of NeoOffice 3.2.1 Patch 5.docx in /Volumes/FAT32/example.

Contoh NeoOffice 3

NeoOffice 3.2.1 Patch 5 simpan ke volume yang dipasang oleh OS X dengan tipe sistem file webdav, bukan SharePoint, pembersihan oleh BlueHarvest:

[macbookpro08-centrim:~] gjp22% mount | grep dav
https://www.box.net/dav/ on /Volumes/dav (webdav, nodev, noexec, nosuid, mounted by gjp22)
[macbookpro08-centrim:~] gjp22% xattr -l /Volumes/dav/product\ of\ NeoOffice\ 3.2.1\ Patch\ 5.docx 
[macbookpro08-centrim:~] gjp22% 
  • save oleh NeoOffice ke webdavsistem file tidak melibatkan atribut yang diperluas
  • BlueHarvest tidak diperlukan.

Petunjuk : di mana Microsoft Office gagal webdavmenyimpan ke Microsoft SharePoint (lihat di bawah), NeoOffice berhasil.


Microsoft menggunakan kode yang sudah tidak digunakan lagi

Versi terbaru dari Office memerlukan suatu jenis kode HFS dan kode pencipta HFS ketika format seperti Microsoft Word ( .docx) dipilih. Jadi - tampaknya ketika menyimpan ke sistem file yang tidak mendukung nilai-nilai itu dalam com.apple.FinderInfoatribut yang diperluas:

  • Microsoft Office tidak dapat menyimpan dengan andal tanpa membuat banyak ._file.

Microsoft contoh 1

Word 2011 14.2.1 simpan ke volume yang dipasang oleh OS X dengan tipe sistem file webdav, bukan SharePoint, pembersihan oleh BlueHarvest:

May 11 18:32:49 macbookpro08 BlueHarvest[14649]: BlueHarvest started.
May 11 18:38:37 macbookpro08 BlueHarvest[14649]: Deleted ._Word Work File D_1.tmp in /Volumes/dav.
May 11 18:39:57 macbookpro08 BlueHarvest[14649]: Deleted ._Hello world, this is Microsoft.docx in /Volumes/dav.
May 11 18:42:28 macbookpro08 BlueHarvest[14649]: Deleted ._Hello world, this is Microsoft.docx in /Volumes/dav.

Microsoft contoh 2

Word 2011 14.2.2 (120421) menyimpan example.docxdi lingkungan yang sama:

2012-05-12 08:01:07.692 BlueHarvest[41131]: Deleted ._Word Work File D_769960778.tmp in /Volumes/dav.

Microsoft contoh 3

Word 2011 14.2.2 (120421) menyimpan another.docxdi lingkungan yang sama, berhenti kemudian membuka kembali, mengedit kemudian menyimpan, mengedit kemudian menutup dan menyimpan:

2012-05-12 08:15:04.252 BlueHarvest[41131]: Deleted ._Word Work File D_.tmp in /Volumes/dav.
2012-05-12 08:18:48.735 BlueHarvest[41131]: Deleted ._another.docx in /Volumes/dav.
2012-05-12 08:21:12.658 BlueHarvest[41131]: Deleted ._Word Work File D_2.tmp in /Volumes/dav.

Petunjuk : Microsoft Office 2011 gagal menyimpan ke Microsoft SharePoint ketika jenis sistem file webdavkarena SharePoint tidak mendukung nama file yang dimulai dengan titik .( titik ). Lihat Tanya berbagai jawaban untuk Apakah mungkin me-mount SharePoint sebagai volume di 10.6?


Ketik dan kode pembuat: latar belakang, Pengembang Apple

Apple mulai mendorong pengembang pihak ketiga menjauh dari kode jenis dan kode pembuat lebih dari satu dekade lalu. Dalam Lampiran B dari Panduan Pemrograman Sistem File , Jenis File dan Kode Pembuat menyarankan bahwa kodenya adalah:

umumnya sudah usang, Anda mungkin melihatnya di file dan aplikasi lawas dan di beberapa tempat dalam sistem.

Graham Perrin
sumber
Bacaan yang disarankan: Atribut yang diperluas: yang baik, yang tidak begitu baik, yang buruk. (2015-07-14)
Graham Perrin
10

File-file ini dibuat oleh sistem operasi untuk mempercepat pencarian, menyimpan metadata (data yang digunakan oleh OS) tentang preferensi folder, dll. Windows dan OS X keduanya memiliki jenis file ini. Berikut ini, deskripsi file-file ini diambil dari http://annoying-file-be-gone.snack.ws/faq.html :

.DS_Store- Nama file dalam sistem operasi Apple OS X untuk menyimpan atribut khusus folder seperti posisi ikon atau pilihan gambar latar belakang (Baca selengkapnya )

.Spotlight-V100- File ini menyimpan informasi untuk mempercepat fitur 'Pencarian Spotlight'. Menghapus hanya akan memaksa informasi ini untuk diindeks ulang jika Anda melakukan Pencarian Spotlight lain untuk item dalam folder ini.

.apDisk - File ini menyimpan informasi tentang folder bersama dan dapat dihapus dengan aman karena akan dibuat ulang secara otomatis jika Apple membutuhkannya.

.VolumeIcon.icns- File ini digunakan untuk menyimpan ikon volume (perangkat USB) jika volume menggunakan ikon khusus dan bukan ikon default. Jika Anda ingin perangkat terus menggunakan ikon default ini, atau jika folder / perangkat yang ingin Anda bersihkan berisi aplikasi, Anda mungkin ingin menyimpan file ini di sistem Anda. Sebagai catatan tambahan, jika Anda ingin membuat ikon khusus untuk perangkat Anda, Anda dapat membuat / mengunduh .icnsfile dan mengganti nama .VolumeIcon.icnsdan menempatkannya di folder / perangkat Anda.

.fseventsd- File ini digunakan sebagai buffer untuk daemon Acara Sistem File. Jika Anda menggunakan program yang memantau folder / perangkat ini, file ini mungkin digunakan untuk menyimpan data sementara.

.Trash& .Trashes- Folder ini digunakan untuk menyimpan item yang dihapus dengan cara yang sama seperti ikon 'Sampah' dari dermaga berfungsi. Jika Anda tidak memerlukan fitur ini di folder / perangkat Anda, Anda dapat membersihkan folder ini untuk menghemat ruang.

.TemporaryItems- File ini digunakan oleh OS untuk menyimpan data sementara ketika file sedang disalin / dipindahkan / ditambahkan. Jika Anda menjalankan program apa pun yang mengakses folder / perangkat yang ingin Anda bersihkan, dan Anda tidak menyalin atau memindahkan file apa pun, maka file ini dapat dengan mudah menyimpan data lama untuk cache.

pengguna149666
sumber
7

Untuk meminimalkan keberadaan file titik garis bawah pada drive yang diformat non-HFS +, Anda dapat menggunakan panel preferensi BlueHarvest .

calum_b
sumber
3
BlueHarvest adalah produk yang sangat baik tetapi beberapa ulasan pihak ketiga menyesatkan. Hasil pengujian menunjukkan bahwa penciptaan tidak dicegah; ciptaan itu diizinkan, dan sesuai dengan preferensi pengguna, BlueHarvest dapat membersihkan sebagian dari apa yang dibuat.
Graham Perrin
5

masalahnya adalah seperti yang dikatakan @geekosaur dan sangat sulit untuk dihindari jika Anda menggunakan alat file Apple.

Namun jika Anda hanya menggunakan alat-alat baris perintah dan beberapa yang pihak ke-3 dan tidak pernah menulis ke USB dengan Finder, mereka tidak akan dibuat.

pengguna151019
sumber
Perilaku ini tidak terbatas pada perangkat lunak Apple. Contoh: Microsoft Office 2011 memerlukan ._file saat menyimpan ke sistem file yang tanpa dukungan untuk kode jenis HFS dan kode pembuat.
Graham Perrin
5
@ GrahamPerrin - Maksud saya alat file Apple untuk menyalin dll - ya aplikasi apa pun yang menggunakan garpu file (yaitu perpustakaan Apple) akan memilikinya. Jika Anda menggunakan alat yang hanya menggunakan pustaka file BSD maka tidak ada file _.
user151019
3

Gunakan find . -name "._*" -type funtuk mengajukan file dari jalur lokal dan gunakan find . -name "._*" -type f -deleteuntuk menghapus semua file.

pengguna3636223
sumber
Selamat Datang di Tanya Berbeda! Meskipun jawaban Anda menunjukkan cara menghapus file, itu tidak menjawab Mengapa, Apa dan Bagaimana menghindari di OP.
bjbk
@ bjbk Jawaban ini memberi tahu cara menghapus file, seperti halnya jawaban Saeid Zebardast yang sangat populer. Saya setuju tidak ada yang benar-benar membahas bagaimana cara menghindarinya , atau mengapa mereka muncul.
LarsH
1

Sangat sederhana, NTFS (Windows saat ini) FAT32 (Windows Lama) memiliki struktur data yang sangat spesifik untuk hal-hal seperti izin, program apa yang ditugaskan untuk membuka file ini, tanggal pembuatan, tanggal modifikasi, tag, komentar file, ikon, dan lainnya metadata. Anda juga akan melihat bahwa properti yang sama tidak akan ditampilkan di OS lain. (Tanggal pembuatan IE mungkin mengatakan itu di 1/1/1990 dan metadata lainnya tidak dapat diakses dari OS lain. Setiap kali Anda menggunakan kedua mesin menulis dari HFS ke NTFS atau FAT32 bersama dengan mesin yang menulis FAT32 asli atau NTFS ini. atau file ._ bersama dengan file toko DS akan muncul. Ini menunjukkan kesepakatan OS dengan faktor ketidakcocokan berbagai elemen di atas yang tidak konsisten. Jadi, Anda mungkin ingin menyimpan file-file ini di sekitar jika Anda berpindah-pindah di antara OS ' untuk menggunakan file-file ini. Jika Anda hanya menggunakan satu OS atau yang lain pastikan Anda memiliki media (hard drive, kartu sd, dll) yang diformat dengan benar atau memiliki driver yang memungkinkan OS Anda untuk menulis ke format drive bukan asli OS Anda. (Ini tersedia untuk kedua OSX untuk memungkinkannya menulis file NTFS & FAT32 menggunakan properti Native dan untuk Windows 7 & 8 untuk menulis ke drive HFS + & EXFat (linux) menggunakan properti asli.) Mereka tidak gratis, tetapi jika Anda lakukan banyak bolak-balik itu memotong data duplikat berlebih mengacaukan drive.

pengguna44674
sumber
-1

Anda dapat menghapusnya melalui FileZilla atau manajer file serupa.

Mazzieh71
sumber
Tidak yakin mengapa ini dibatalkan karena sebagian besar jawaban yang diputuskan tidak benar-benar memberikan solusi. Ini menurut saya solusi termudah ... Karena ._ dan .DS_Store adalah file terkait Finder solusi yang jelas adalah untuk menghindari finder. Secara pribadi saya lebih suka menggunakan Transmit, tetapi Filezilla adalah alternatif gratis yang bagus.
Bryan Willis
3
Saya tidak mengundurkan diri tetapi itu adalah saran yang tidak diinginkan dan melewatkan maksud pertanyaan yang meminta pencegahan daripada penyembuhan. Siapa yang mau menghabiskan setengah waktunya menghapus file-file ini yang terus dihasilkan? T: "Apa yang harus saya lakukan tentang masalah sampah kota kami?" A: "Ambil dan masukkan ke tempat sampah, ya."
Sridhar Sarnobat
-1

Saya telah menggunakan metode berikut ini dengan mudah. * penghapusan file awalan pada drive flash: Hapus flash drive dari komputer Apple, masukkan ke dalam mesin Windows, cari flash drive untuk ". *. *", maka ketika pencarian menampilkan file dengan awalan ._, hapuslah. Saya tidak pernah menghapus .Rash atau .DS Menyimpan file. Sejauh ini tidak ada masalah. Saya harap saya tidak menyebabkan masalah di masa depan untuk diri saya sendiri.

Jim VdPas
sumber
1
Penghapusan manual? Kepemilikan komputer Windows saat Anda pengguna Mac? Saya tahu Anda hanya mendokumentasikan apa yang cocok untuk Anda, tetapi saya tidak bisa membayangkan orang mengikuti metode Anda.
Sridhar Sarnobat
-1

Ya, sebagian dari kita memiliki kegunaan untuk Mac dan mesin windows, dan saya menggunakan metode itu. Dan jika Anda memiliki USB dengan sekelompok .jpgs yang ingin Anda mainkan sebagai peragaan slide, Anda harus menyingkirkan file ._ sial itu untuk melakukannya. Setelah banyak mencari, saya menemukan cara untuk menggunakan mac saya untuk menghapus file ._:

menggunakan Terminal:

  • ls -a akan mencantumkan semua file, termasuk yang dimulai dengan ._
  • untuk menghapus hanya satu file dari direktori: rm -rf ._whateveryourfilenameis.jpg
  • untuk menghapus semua ._file:rm -rf ._*
  • untuk menghapus direktori yang tidak diinginkan termasuk .Trashes :rm -r .Trashes*

Bersihkan USB saya tepat untuk digunakan sebagai input TV

T. Parlemen
sumber
-2

Hati-hati saat menghapus ._ yang terkait dengan Git, Visual Studio, dan Xcode! Saya memiliki aplikasi dengan banyak .mov dan gambar dan file "._" ini muncul untuk dikomit. Saya menghapusnya melalui perubahan Visual Studio Team Explorer dan entah bagaimana folder proyek itu membengkak dari sekitar 500MB hingga 40GB tanpa menambahkan file ... masih tidak yakin apa yang sebenarnya terjadi, tapi saya kira itu terkait dengan menghapus file-file itu sehingga setiap komit di-cache masing-masing .mov dan gambar beberapa kali sebelum saya tertangkap. Saya melihat masing-masing .mov dan .png diulang 20-30 kali ketika di Finder> All Files.

Cukup tambahkan "._ *" ke file .gitignore Anda dan mereka tidak akan muncul sebagai file yang diubah saat menggunakan TFS untuk proyek iOS Xcode Anda.

whyoz
sumber