Kısa cevap
- Windows aşağıdaki karakterlere izin vermiyor:
<>:"/\|?*
( kaynak )
- Cesareti kırılan diğer karakterler şunlardır: boşluk
ve nokta .
( kaynak )
- Komut satırı araçlarının adlarda boşluk varken kullanımı daha zordur (daha zor, imkansız değil)
- Noktalar RegEx'te kullanılır (örneğin kullanmak istediğinizde
grep
). Önde gelen bir nokta, Linux'ta kongre tarafından gizlenen bir dosya yapar. Windows'ta, dosya türü tespiti için kullanılan dosya uzantısında noktalar kullanılır.
- Windows ayrıca izin vermez dosya adları
CON
, PRN
, AUX
, CLOCK$
, NUL
COM1
, COM2
, COM3
, COM4
, COM5
, COM6
, COM7
, COM8
, COM9
LPT1
, LPT2
, LPT3
, LPT4
, LPT5
, LPT6
, LPT7
, LPT8
, ve LPT9
. ( kaynak )
- Unix dosya sistemlerinde izin verilen tek karakter
/
, null ve null (null byte \0
).
- Ayrıca bkz: Dosya sistemi sınırları (Hangi Windows ile uyumlu olmak istediğinizi bilmiyorum).
Uzun cevap
Teknik arka plan: Dosya sistemi
Ubuntu ext4
dosya sistemini kullanır. Bir dosya sistemi, dosyaların temel alınan depoda nerede depolandığını izler (disk veya SSD veya her neyse), sahip / grup / diğer biçimindeki izinler okuyabilir / yazabilir / çalıştırılabilir, zaman damgaları, ad.
Dosya sistemi kullanılabilir depolamayı yapılandırır. İlk bloğa "süper blok" denir. Bu blok bir dosya sistemini monte etmek için kullanılır. Bildiğim kadarıyla her modern dosya sistemi, alanını bloklar halinde ayırıyor. Dosya sistemi oluşturulduğunda blok boyutu yapılandırılabilse de, çoğu dosya sisteminin de sabit bir blok boyutuna sahip olduğunu düşünüyorum (ve bundan pek emin değilim). ext4 (ve ayrıca ext2 ve ext3), dosyalar ve dizinler için "inodes" den yararlanır. Bu inode'lar diğer bloklara yönelik işaretçiler içerir (bu aynı zamanda inode'lar olabilir veya "data blokları" olabilir). Ve bir dosyanın "ilk" inode yukarıda bahsettiğim tüm bilgileri içerir.
Diğer bir bilgi de dosyanın "tipi" dir. "Tip" olabilir:
- normal dosya
- rehber
- cihaz dosyası (blok veya karakter cihazı)
- ...
Aslında, dizinleri bir editörle de açabilirsiniz:
vim /home
Dizin tam yolu içermediğinden, yalnızca içeriğin adları, dosyaların neden bulunamamasına sebep göremiyorum /
. Sanırım kolaylık olabilir. (Neden /
izin verilmediğini bilen var mı ?)
Ancak, diğer dosya sistemleri için işler farklıdır. FAT16 ve FAT32 "dosya ayırma tablosu" olarak adlandırılır. Bu, dosyanızda depolanan tüm dosyaları içeren, hangi "küme" nin başladığı ve hangi kümede tek bir bağlantılı liste olarak sonlandıkları bir tablo olduğu anlamına gelir.
Size söylemek istediğim önemli şey, izin verilmeyen karakterlerin de dosya sistemine bağlı olabileceğidir.
Teknik arka plan: Dosya Türleri
- Windows dosya türlerini algılamak için dosya uzantılarını kullanır
- Linux dosya türlerini tespit etmek için "Magic Bytes" kullanır. Magic Bytes , dosyanın içeriğinin bir parçasıdır ve bu nedenle adından tamamen bağımsızdır. Bu bayt, dosya türünün belirtiminin bir parçasıdır ( örnek olarak png belirtimine bakın ). Ayrıca dosya adı uzantılarını,
.txt
veya gibi .html
her ikisi de metin dosyaları olan aynı sihirli baytlık dosyalar için kullanır .
İlgili