Bu biraz geç, "Terminalde açılan harfsiz dosyaların nasıl önleneceği" sorusu biraz eski. Ancak:
Yukarıdaki çözümler, istenmeyen yan etkileri olabilecek mevcut kuralları değiştirmeyi içerir. En kolay olanı, yazımsız dosyalar için varolan kuralları kullanmak ve istediğim sonucu elde etmek için dosya izinlerini değiştirmek olduğunu bulmak.
Özellikle: Dosyadaki yürütülebilir bit'i kapatın, çünkü dosya hizmetinin "chmod -x dosyaadı" ile terminal ile açılmasını söyleyen şey budur; burada dosyaadı ... dosyaadıdır.
Bu bir dereceye kadar otomatikleştirilebilir (dikkatle): Benim durumumda, bir makinede çok sayıda README dosyam var. Tüm "README" dosyalarını bulmak için "find" komutunu kullanabilirim. Ve sonra "awk" komutunu kullanarak çalıştırılabilir bit'in hepsini kaldırmaya yarayan bir komut oluşturun:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }'
hangi dosyaların değiştirileceğini kontrol etmek istiyorsanız, bunu terminale yazın: Çıkış, aşağıdaki gibi görünen her README için bir listeden oluşacaktır:
chmod -x //Users/jimpsmith/things/README
Ve tüm bu izinleri değiştirmek için, bu satırları aşağıdaki şekilde bash olarak ücretlendirerek uygulayın:
find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }' | bash
Joker karakterleri çok liberal bir şekilde kullanmaya dikkat edin ve çalıştırılabilir bit'in yanlışlıkla eşleşen bazı yürütülebilir dosyalardan yanlışlıkla kaldırıldığını tespit edin.
Daha kolay bir yol kaçmak olur.
find /$HOME -iname 'README' -exec chmod -x '{}' \;`
veya (ne olacağını görmek için)
find /$HOME -iname 'README' -exec echo chmod -x '{}' \;`