Örneğin, içinde My Documents
, aşağıdaki klasörler vardır:
.ssh
.subversion
Bu, bilmediğim bir tür adlandırma kuralı mı?
Örneğin, içinde My Documents
, aşağıdaki klasörler vardır:
.ssh
.subversion
Bu, bilmediğim bir tür adlandırma kuralı mı?
Yanıtlar:
Bu adlandırma kuralı, "gizli" bir dosya veya dizin anlamına gelen Unix benzeri işletim sistemlerinden (Linux veya OS X gibi) gelir. Her yerde çalışır, ancak birincil kullanımı ana dizininizdeki yapılandırma dosyalarını gizlemektir (örneğin ~/.cache/
veya ~/.plan
- sık sık "dotfiles" olarak adlandırılır).
Dotfiles, bir şekilde Windows'taki "AppData" dizinine eşdeğer olan geleneksel Unix olarak adlandırılabilir. (Birçok Linux programları izleyin değiştirilmeye çalışılmaktadır XDG taban dizin şartname kendi yapılandırmasını hareketli, ~/.config/
ve diğer veri ~/.cache/
& ~/.local/share/
- Bu biraz daha benzer hale getirir AppData\Roaming
ve AppData\Local
.)
Bunları .ssh
ve .subversion
dizinleri Windows'ta kullanıyorsunuz, çünkü POSIX'lerden ziyade Windows sistem API'lerini kullanmak için yerleştirilmiş bazı programlar (özellikle de OpenSSH ve Subversion) kullandınız, ancak bazı Windows sözleşmeleri için ayarlanmadı.
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 ls
, Windows "gizli" bayrağını yok sayan ve yalnızca .dotfile
adları alan standart Unix benzeri araçlar grubunu yükler . Ayrıca, aynı konumun kullanılması (örneğin <home>/.ssh
), birinin Windows ve Linux / BSD / OSX bilgisayarları arasındaki yapılandırmayı senkronize etmeyi kolaylaştırabilir.
Ayrıca: Genelde bu dosyalar kullanıcının ev dizininde bulunur , örneğin Linux'ta veya Windows 7+'da. "Belgeler" veya "Belgelerim" alt dizinlerine konmaları oldukça nadirdir./home/name/.ssh
C:\Users\name\.ssh
Rob Pike Google + 'da yazarken , bu yanlışlıkla bir özellik oldu:
Uzun zaman önce, Unix dosya sisteminin tasarımı yapıldığı için, gezinmeyi kolaylaştırmak için girişler
.
ve..
çıktı. Emin değilim ama..
dosya sistemi hiyerarşik hale geldiğinde 2. versiyonun yeniden yazılması sırasında girdiğine inanıyorum (daha önceleri çok farklı bir yapıya sahipti). Ancak, ls yazıldığında, bu dosyalar göründüğü için, Ken ya da Dennis programa basit bir test ekledi. O zaman assembler'deydi, fakat söz konusu kod bunun gibi bir şeye denkti:
if (name[0] == '.') continue;
Bu ifade, olması gerekenden biraz daha kısaydı.
if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) continue;
ama hey, kolaydı.
İki şey sonuçlandı.
İlk önce kötü bir emsal belirlendi. Diğer tembel programcıların çoğu, aynı sadeleştirmeyi yaparak hatalar ortaya koydu. Periyotlarla başlayan gerçek dosyalar genellikle sayılması gerektiğinde atlanır.
İkincisi ve daha da kötüsü, "gizli" veya "nokta" dosyası fikri yaratıldı. Sonuç olarak, daha tembel programcılar dosyaları herkesin ana dizinine bırakmaya başladı. Makinede yüklü bu kadar çok şey yok, bunu yazmak için kullanıyorum, ancak ana dizimde yaklaşık yüz nokta dosya var ve bunların çoğunun ne olduğunu veya hala ihtiyaç duyup duymadıklarını bile bilmiyorum . Ana dizinime giren her dosya adı değerlendirmesi, bu biriken çamur yüzünden yavaşlar.
ls
sahiptir -a
.
LOGIN.COM
ya DECW$MAIL.DAT
ev dizininde . (O sırada başka hangi sistemlerin popüler olduğundan emin değilim.) Unix daha yeni oluşturulmuştu; hiç bir sözleşmesi yoktu.
..
, "up dir" dahil olmak üzere hiyerarşik bir dosya sistemi ve Unix kurallarından bazılarını ekledi ; Microsoft aslında bu "gelişmiş Unix özelliklerinin" reklamını yaptı.