it-swarm.asia

Dosya adlarında boşluk karakterleri kullanmamak için hangi teknik sebepler var?

Tanıdığım birileri bugün, dosya adlarımızda boşluk kullanmaya eğilimli olmayanlarımızla ilgili olarak tahriş ettiğini belirtti. NamingThingsLikeThis.txt - dosya adlarındaki boşlukları destekleyen çoğu modern işletim sistemine rağmen.

teknik nedenler var mı? Dosya adlarını (uygun olmayan) boşluk olmadan görmek hala yaygın mı? Öyleyse, dosya adlarındaki boşlukların engellenmesi veya cesareti kırılmaması için bu teknik nedenler nelerdir ve bunlar hangi durumlarda ilişkilidir?

Düşünebilmemin en belirgin nedeni ve genellikle neden bunlardan kaçındığım, bu tür dosyalarla uğraşırken komut satırında gereken fazladan alıntılardır. Başka önemli teknik sebepler var mı?

75
Chris W. Rea

Dosya adlarındaki boşluk karakterleri, komut satırındaki birçok bağlamda ve komut satırlarında atasözünde sağda bir acı olabilir, burada doğru şekilde kaçtıklarından emin olmak için dikkatli olmalısınız, bu nedenle komutları ayırıcı gibi görünmeyin çalışan.

/ Dir/ne-her zaman böyle bir bağlamda kullanılmayacağından emin olsanız bile, orada bulunmamaları daha güvenlidir.

Bu ve eski alışkanlıklar zor ölür.

65
David Spillett

Komut satırı ve eski alışkanlıklar hakkındaki diğer cevaplara ek olarak, boşluk içeren dosya adlarıyla çalışırken özel dikkat gerektiren birçok ağ protokolü de vardır.

(Bir web sitesinden "Product List.pdf" dosyasını indirmeyi denediyseniz ve "Product" adlı bir dosyayla sonlandıysanız, diğer taraftaki programcı bilmediği veya yapamadığı için bundan ısırdınız Content-Disposition başlığı için alıntılama kurallarını çözmeyin.)

30
Stobor

Sebeplerin çoğu tarihseldir. Bu, bugün anlam ifade etmedikleri anlamına gelmez.

Taşınabilirlikte Konular

Bir dosyayı adlandırırken, diğer (dosya) sistemlerinin bu dosya adına nasıl davranacağını da düşünmeniz gerekebilir. Dosya adındaki bir karakter sisteminiz için iyi olabilir, ancak başka bir sistem için bir sorun olabilir.

Bu nedenle, dosyaya daha eski bir sistemden kolayca erişmek isteyebileceğiniz en ufak bir olasılık olduğu sürece, yalnızca güvenli karakter. Bu, tuttuğunuz eski bir kurtarma sistemine önyüklemeyi veya en son Windows sürümlerinin hala bir şekilde MS-DOS'a dayanması korkusunu içerebilir.

Uzunluk

Bir dosya sistemi bir dosyanın sahip olabileceği uzunluğu sınırlayabilir. Bu, MS-DOS'un 8.3 dosya isimleri ile sınırlı olduğu günlerde daha da ciddiydi. Böylece, boşluk bırakmamak isme daha anlamlı karakterler eklemenizi sağladı.

Diğer bazı dosya sistemleri de dosya adlarının uzunluğu için katı sınırlar tanımlamıştır. Wikipedia'da ayrıntıları içeren bir tablo var dosya sistemi karşılaştırması hakkında makale .

Ayrılmış Karakterler

MS-DOS ayrıca boşluk karakterini ayrılmış bir karakter olarak tanımladı. Bu, boşluk karakterinin FAT'de doldurma için kullanılmasından kaynaklanmaktadır. Ek olarak, MS-DOS, Kabuk'ta kaçan bir sistem sağlamadı.

Komut Satırı Yorumlama

Bildiğim çoğu komut satırı parametresini sınırlayıcı olarak boşluk karakteri kullanmaktadır. Bir dosya adından düzgün bir şekilde kaçmayı ihmal ederken, dosya adının bölümlerini aramak istediğiniz uygulamaya parametreler olarak yorumlanabileceği için korkunç sonuçları olabilir.

Arasındaki farkı düşünün

rm foo bar

ve

rm "foo bar"

Yukarıda bağlanan WikiPedia makalesi, bir komuttan düzgün bir şekilde kaçmak için eksik tarafından ortaya konan belirsizliği işaret eder:

Belirsizlik, ilk önce dosya ve dizin adlarındaki gömülü boşlukları yasaklayarak (örneğin, bunları '_' alt çizgi ile değiştirerek) ya da komut satırı yorumlayıcısı ve bu parametreleri aşağıdaki gibi alan programlar tarafından destekleniyorsa önlenebilir. argümanlar, alıntı karakterlerinin arasına gömülü boşluklar içeren bir ad ekleyerek veya boşluktan önce bir çıkış karakteri kullanarak genellikle ters eğik çizgi ('\'). Örneğin

Long path/Long program name Parameter one Parameter two ...

belirsizdir ("program adı", program adının bir parçası mı yoksa iki parametredir?); ancak

Long_path/Long_program_name Parameter_one Parameter_two ...,
LongPath/LongProgramName ParameterOne ParameterTwo ...,
"Long path/Long program name" "Parameter one" "Parameter two" ...

ve Uzun\yol/Uzun\program\isim Parametre\bir Parametre\iki ...

belirsiz değildir.

Tekdüzen Kaynak Konumlandırıcıları (URL)

Bir dosyanın konumunu tanımlamaya çalışırken, bir URL kullanarak, boşluklardan kaçmak gerekir.

Karakterler birçok nedenden dolayı güvensiz olabilir. Boşluk karakteri güvensizdir, çünkü önemli alanlar kaybolabilir ve URL'lerin kopyalanması veya dizilmesi veya Word işleme programlarının tedavisine maruz kalması durumunda önemsiz boşluklar eklenebilir.

Kaynak: RFC1738

Bu nedenle, bunun yerine bir boşluk %20 ile değiştirilmelidir. Bu, URL'nin dosya adını daha az okunabilir hale getirir ve böylece insanları ilk etapta onlardan uzak tutar.

28
Der Hochstapler

Boşluklar, web'deki dosya adlarında %20 biçimine dönüştürülür veya sitenin varlıklarını yönetmeyi zorlaştırabilir.

Image 1.png ve Image%201.png sahip olmak kafa karıştırıcıdır. Bunun yerine Image001.png kullanmak daha kolaydır.

Bu gerçekten komut satırı için kaçış dizileriyle aynı kategoriye giriyor.

25
user7012

Bazen, komut satırında çalışırken ya da eski işletim sistemlerini kullanırken ya da farklı işletim sistemlerinde derlenecek programları yazarken ya da ... sorunlu olabilecek birçok neden olduğunda boşluklar sorun yaratabilir ve ben Dosyayı şöyle yazmak gerçekten de zor bir durum değil: file-without-blanks.txt veya file_without_blanks.txt. Veritabanını tercih ediyorum çünkü alt çizgi, örneğin altı çizili yazı tipiyle çalışırken bazen görünmez olabilir.

Ama çoğunlukla, yaşlılıktan itibaren bir alışkanlık meselesidir. Hangi hissetmediğimi yeterince pro terk etmek için sebepler var.


Belki ilgili olmayan, ancak yine de buraya ekleyeceğim bir not. Dosyalarını boşlukla adlandıran insanlar genellikle bunun çok fazla olduğunu düşünmezler; Sık sık bilmeyenler, dosya isimlerinde onlardan kaçınmanın neden iyi olduğunu bilirler.
Ve hepimiz aynı fikirdeyiz, "Sevgili Efendim veya Bayan, sizi bu konuyu size bildirmek için bu mektubu yazıyorum" adında bir dosyadan daha kötü bir şey yok.

Sadece boşluklar değil - dosya uzunluğu da bir şey için sayılır ve IMHO, diyelim ki, 30 karakterden daha uzun olmamalıdır. İçinde boşluk olan uzun dosya adları CD'leri, DVD'leri ve daha eski işletim sistemlerinde okunması gereken ve Win ve * nix plaformları arasında kaydederken bir nimettir.

5
Rook