Linux ve diğer Unix ile ilgili sistemlerde, bir dosya veya dizin adına görünmeyen yalnızca iki karakter vardır ve bunlar NUL '\0'
ve eğik çizgi şeklindedir '/'
. Eğik çizgi, elbette, dizin bileşenlerini ayırarak bir yol adında görünebilir.
Söylentiye 1 , Steven Bourne'un ('kabuk' şöhretinden) 254 dosya içeren bir dizine sahip olduğunu, bir dosya adında görünebilen her bir harf (karakter kodu) için bir dizin olduğunu (hariç /
, '\0'
adın .
geçerli dizin olduğu elbette) ). Bourne kabuğunu test etmek için kullanıldı ve yedekleme programları gibi istenmeyen programlara rutin olarak zarar verdi.
Diğer insanlar Windows kurallarını karşıladı.
MacOS X'in büyük / küçük harfe duyarlı olmayan bir dosya sistemi olduğunu unutmayın.
1 Programlama Uygulamasında Kernighan & Pike , Bölüm 6, Test, §6.5 Stres Testleri'nde söylenenler:
Steve Bourne Unix kabuğunu yazarken (Bourne kabuğu olarak bilinir), '\0'
Unix'te görünmeyen iki karakter hariç, bir bayt değeri için bir bayt değeri olan 254 dosyadan oluşan bir dizin oluşturdu. dosya adları. Bu dizini her türlü kalıp eşleme ve belirteç testleri için kullandı. (Test dizini elbette bir program tarafından oluşturuldu.) Yıllar sonra, bu dizin dosya-ağaç-yürüyüş programlarının bane idi; onları yıkım için test etti.
Dizinin giriş içermesi gerektiğini .
ve ..
bu nedenle 254 dosya yerine 253 dosya (ve 2 dizin) veya 255 ad girişi olması gerektiğini unutmayın. Bu, fıkraların etkililiğini veya açıkladığı dikkatli testleri etkilemez.
echo abc > "ab.;,=[1]"