Gizli dosyaları kaldırmak için bir Mac Terminal komut dosyası var mı?


10

Araba stereo cihazım USB flash sürücülerden müzik çalabilir, bu yüzden bir iTunes çalma listesinden MP3 kopyalamayı sordum . Bu iyi çalıştı, ancak stereom MP3 dosyalarını çalmayacaktı. Sonunda flash sürücüyü Windows 7 çalıştıran iş bilgisayarıma koydum ve sorunu buldum: formattaki bir dizi gizli dosya ._[filename].mp3da yüklendi.

Windows'da dosyaları özniteliklere göre silebileceğinizi biliyorum ve aynı şeyi Terminal'de yapıp yapamayacağınızı merak ediyordum. Muhtemelen Birim ile parametre olarak çalıştırabileceğim bir komut dosyası ile?


Ben de aynı problemi yaşadım. Eğer oradaki ._ dosyalar varsa, stereom "Kötü Medya" derdi ki bu tamamen yanlıştı. Düzgün adlandırılmış dosyaları oynatır, ancak her ._ dosyası hakkında şikayet eder. Medyanın kötü olmadığını doğrulamak biraz zaman aldı, araba stereo'su!
Eric

Ama bu berbat bir hata değil ... Lol. İşe müzik koymak için Win7 bilgisayarıma koydum ve hepsini gördüm: Her biri 4KB olan bir grup gizli dosya
Kanadalı Luke

Car stereo bu dosyaları görmezden gelmelidir . Sizin durumunuzda gerekli herhangi bir bilgi içermiyorlar. Ama her yerde aynı problem. DLNA ortam yürütücüm, tarama yaparken bunları da gösteriyor.
slhck

Yanıtlar:


21

Bu dosyalar OS X'te gizlidir, çünkü bunlar .varsayılan olarak Finder'da başlar ve bu nedenle Finder'da gösterilmez. Bu dosyalarda bunun dışında özel bir özellik ayarlanmamıştır.

Çok basit bir yaklaşım, bir nokta ve alt çizgi ile başlayan tüm dosyaları silmek olacaktır:

find /Volumes/<your-volume-name> -name '._*' -type f -delete

Güvenlik notu:-delete Hangi dosyaların kaldırılacağını görmek için bunu olmadan çalıştırın . Ve bunu hiçbir zaman tüm Mac HD'nizde değil, sadece USB sürücünüzde yapmayın .


Bazı ek bilgiler için: Bu dosyalara "Kaynak Çatalları" denir ve bazen silmek istemediğiniz bilgileri içerir. Kullanım durumunda, bu iyi olmalı. BlueHarvest kullanarak bu dosyaların oluşturulmasını kalıcı olarak devre dışı bırakabilirsiniz . Ayrıca, bunların hacimlerini temizlediğini iddia eden bir uygulama var, ancak denemedim ve beta, bu yüzden dikkatli kullanın: Gizli Temizleyici .


Farkında değildim ... Bilmek güzel. Eve geldiğimde bunu deneyeceğim, sonra cevabını işaretle. Teşekkürler
Kanadalı Luke

8

Terminal tipinde benim için çalışan bir çözüm daha (MacOS 10.6.8):

dot_clean "/Volumes/<your-volume-name>"

3

Benim araba stereo ile aynı sorunu vardı, 1 dosya / 2 oynanamaz, çünkü oyuncu MAC OS tarafından oluşturulan nokta dosyasının bir müzik dosyası olduğunu düşünüyor ... Sonra bu yazı gerçekten yararlı buldum, teşekkürler.

Şimdi Mavericks için geliştirilmiş ve ücretsiz bir çözümle geri dönüyorum:

  1. AppleScript komut dosyasını çalıştırmak için bir Automator Uygulaması oluşturma
  2. Bu komut dosyasını kullanın:

    on run {input, parameters}
        try
            tell application "Finder" to set allDrives to the name of every disk whose local volume is true and startup is false
            set driveName to {choose from list allDrives with title "DiskCleaner" with prompt "Disk to Clean and Eject:" OK button name "Clean and Eject" cancel button name "Abort"} as text
            set getDriveIdentifier to "diskutil info " & quoted form of driveName & " | grep Ident | awk '{print $3}'"
            set driveIdentifier to do shell script getDriveIdentifier
            try
                do shell script "find /Volumes/" & quoted form of driveName & " -name '.DS_Store' -type f -delete"
                do shell script "find /Volumes/" & quoted form of driveName & " -name '.FBC*' -type f -delete"
                do shell script "find /Volumes/" & quoted form of driveName & " -name '._*' -type f -delete"
                do shell script "rm -rf /Volumes/" & quoted form of driveName & "/.{,_.}{fseventsd,Spotlight-V*,Trashes}"
                display notification "Disk Cleaned"
            on error
                try
                    do shell script "sudo find /Volumes/" & quoted form of driveName & " -name '.DS_Store' -type f -delete" with administrator privileges
                    do shell script "sudo find /Volumes/" & quoted form of driveName & " -name '.FBC*' -type f -delete" with administrator privileges
                    do shell script "sudo find /Volumes/" & quoted form of driveName & " -name '._*' -type f -delete" with administrator privileges
                    do shell script "sudo rm -rf /Volumes/" & quoted form of driveName & "/.{,_.}{fseventsd,Spotlight-V*,Trashes}" with administrator privileges
                    display notification "Disk Cleaned"
                on error
                    display notification "Can't Clean, Permission Denied"
                end try
            end try
            delay 1
            try
                do shell script "diskutil eject " & driveIdentifier
                display notification "Disk Ejected"
            on error
                display notification "Can't Eject, Disk in Use"
            end try
        on error
            display notification "No Disk to Clean and Eject"
        end try
    end run
    
  3. Uygulamayı örneğin DiskCleaner.app kaydedin

Bu komut dosyası sizden temizlemek ve çıkarmak için USB diski seçmenizi ister. Ardından USB diski temizler (geçerli olanlarla başarısız olursa yönetici kimlik bilgileriyle çalışır), ardından mümkünse çıkarın.

Tabii ki hala iyileştirilecek bir yer var, bu senaryoyu kendim için yaptım!

Ayrıca daha fazla dosyayı temizlemek için kod satırları ekleme esnekliğine sahipsiniz.

Zevk almak!


Bu gerçekten yararlı, tam Automator iş akışını göndermeyi düşünür müsünüz?
Konrad

Harika, çok teşekkürler! {input, parameters}1. satırdan kaldırırsam OSX10.12.1'de çalışır (yalnızca ayrılır on run). @Konrad: 'Script Editor'ı açtım, yukarıda belirtilen düzenlemeyi yaptım ve / Applications'a bir uygulama olarak kaydettim; iş bitmiş. Ne olduğunu tam olarak görebilmeyi seviyorum, ki bu da diğer ücretsiz çözümlerle daha zordur.
ptim

Teşekkürler. Senaryonuzu denedim. Bunu test etmek için Automator uygulamasından çalıştırdığımda, disk seçimi iletişim kutusundaki iptal seçeneğini tıkladım ve hala bir sudo istemi ve diski çıkarma konusunda bir mesaj aldım. Bunun düzeltilmesi gerektiğini düşünüyorum. Finder'daki bir hizmetler menüsünden komut dosyasının nasıl test edileceğini ve yapılandırılacağını açıklayarak cevabınızda biraz daha ileri gitmenizi öneririm.
Mark Edington

2

Terminal sizi korkutuyorsa aynı şeyi gerçekleştirmek için Automator'u da kullanabilirsiniz:

Bir Automator iş akışında ._ *. Mp3 dosyasını silin.


Terminal rm -rf / ve Enter tuşuna basmadıkça beni korkutmuyor: P Ama Automator öğrenmek istiyorum, havalı görünüyor
Kanadalı Luke

Ah, evet, bu da iyi bir fikir.
slhck

Seçilen Bulucu Öğelerini Al burada yararlı mı?
Daniel Beck

Pek sayılmaz. Başkasının Mac'indeydim ve aceleyle çalışmak zorunda kaldım.
digitxp

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.