Neden Bazı Windows Dosya ve Klasör Adlarının Önünde Bir Nokta Var?
Windows sistemlerimizde çoğumuz normal dosya ve klasör adlarını görmemize rağmen, diğer insanlar biraz daha beklenmedik bir şeyle karşılaşmış olabilir - dosya ve klasör adları önünde bir nokta ile. Bu neden oluyor? Bugünün Süper Kullanıcı Soru-Cevap yazısı çok meraklı bir okuyucunun sorusuna cevap verdi.
Bugünün Soru ve Cevap oturumu bize topluluk tarafından yönlendirilen bir soru-cevap web sitesi grubu olan Stack Exchange'in bir alt birimi olan SuperUser'ın izniyle geliyor..
Fotoğraf Domiriel (Flickr) izniyle.
Soru
SuperUser okuyucu Niko Bellic, bazı Windows dosya ve klasör adlarının önünde neden bir nokta olduğunu bilmek istiyor:
Örneğin, Benim dökümanlarım Windows sistemimde aşağıdaki klasörleri buldum:
- .sSH
- .yıkılma
Bu, bilmediğim bir tür adlandırma kuralı mı??
Neden bazı Windows dosya ve klasör adlarının önünde nokta var??
Cevap
SuperUser katkıda bulunan kişinin katılımı bizim için bir cevabı var:
Bu adlandırma kuralı, Unix benzeri işletim sistemlerinden (Linux ya da OSX gibi) gelir. gizli dosya veya rehber. Her yerde çalışır, ancak birincil kullanım şekli, ev dizininizdeki yapılandırma dosyalarını gizlemektir.. ~ / .cache / veya ~ / .plan) Sık sık denir nokta dosyaları.
Nokta dosyaları Bir şekilde, geleneksel Unix’e eşdeğer Uygulama verisi Windows'ta dizin. Bu arada, pek çok Linux programı XDG ana dizini şartnamesine uyarak değiştirildi ve yapılandırmalarını ~ / .Config / ve diğer veriler ~ / .Cache / ve ~ / .Local / share /. Bu daha benzer kılar Uygulama veri dolaşımı ve AppData \ Local.
Bunlar sende .sSH ve .yıkılma Windows’taki dizinler, POSIX’ler yerine Windows sistem API’lerini kullanmak için yerleştirilmiş bazı programlar (özellikle, OpenSSH ve Subversion) kullandığınızdan, ancak bazı diğer Windows kuralları için ayarlanmadığınızdan.
Bazen bu uyarlama, Windows sistemlerinde Cygwin gibi Unix benzeri ortamlar kullanan insanlar için hayatı kolaylaştırmak amacıyla kasıtlı olarak atlanır. Örneğin, Cygwin standart Unix benzeri araç setini yükler. ls, hangi Windows yok sayar gizli bayrak ve sadece onurlandırıyor nokta dosyası isimler. Aynı yerde paylaşılıyorsa, bireyin Windows ve Linux / BSD / OSX bilgisayarları arasındaki yapılandırmaları senkronize etmek de daha kolaydır.
Bu dosyalar genellikle kullanıcının giriş dizininde bulunur (yani. /home/name/.ssh Linux'ta veya C: \ Users \ isim \ .ssh Windows 7 ve sonrasında). Onlar koymak için oldukça nadirdir evraklar veya Benim dökümanlarım alt dizinler (sonuçta belge içermezler).
Rob Pike Google + 'da yazarken, bu yanlışlıkla bir özellik oldu:
Uzun zaman önce, Unix dosya sisteminin tasarımı çalışılıyorken, . ve ... navigasyonu kolaylaştırmak için belirdi. Emin değilim ama inanıyorum ... Dosya sistemi hiyerarşik hale geldiğinde Sürüm 2'nin yeniden yazılması sırasında devreye girdi (erken saatlerde çok farklı bir yapıya sahipti). Ne zaman yazılır ls, ancak, bu dosyalar göründüğü için, Ken ya da Dennis programa basit bir test ekledi. O zaman assembler'deydi, ancak söz konusu kod bunun gibi bir şeye denkti:
- if (name [0] == '.') devam ederse;
Bu ifade olması gerekenden biraz daha kısaydı, yani:
- eğer (strcmp (name, “.”) == 0 || strcmp (name, “…”) == 0) devam ederse;
Ama hey, kolaydı ve iki şey sonuçlandı..
İlk önce kötü bir emsal belirlendi. Birçok başka tembel programcı da aynı sadeleştirmeyi yaparak hatalar ortaya koydu. Periyotlarla başlayan gerçek dosyalar genellikle sayılması gerektiğinde atlanır.
İkincisi ve çok daha kötüsü, fikir gizli veya nokta dosyası yaratıldı. Sonuç olarak, daha tembel programcılar dosyaları herkesin ana dizinine bırakmaya başladı. Bunu yazmak için kullandığım bilgisayarda yüklü bir yazılımım yok, ancak giriş dizinimde yaklaşık yüz var nokta dosyaları ve çoğunun ne olduğunu ya da hala ihtiyaç duyup duymadıklarını bile bilmiyorum. Ana dizinime giren her dosya adı değerlendirmesi, bu biriken çamur yüzünden yavaşlıyor.
Açıklamaya eklemek için bir şey var mı? Yorumlarda ses kesiliyor. Diğer teknoloji meraklısı Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Burada tüm tartışma konusuna göz atın.