Kısa cevap
- Windows aşağıdaki karakterlere izin vermez:
<>:"/\|?*
( source )
- Önerilmeyen daha fazla karakter: alan
ve nokta .
( kaynak )
- Komut satırı araçları, adlarda boşluk olduğunda (daha zor, imkansız değil) kullanmak daha zordur
- Noktalar, RegEx'te kullanılır (ör.
grep
kullanmak istediğinizde). Önde gelen bir nokta, Linux'ta kongre tarafından gizlenmiş bir dosya oluşturur. Windows'da, dosya tipi algılamasında kullanılan dosya uzantısında noktalar kullanılır.
- Windows ayrıca dosya adlarına
CON
, PRN
, AUX
, CLOCK$
, NUL
izin vermez
COM1
, COM2
, COM3
, COM4
, COM5
, COM6
, COM7
, COM8
, COM9
LPT1
, LPT2
, LPT3
, LPT4
, LPT5
, LPT6
, LPT7
, LPT8
ve LPT9
. ( kaynak )
- Bildiğim Unix dosya sistemlerinde izin verilmeyen tek karakterler
/
ve null (boş bayt, ext4
).
Ayrıca bkz: Dosya sistemi sınırları (Hangi Windows ile uyumlu olmasını istediğinizi bilmiyorum) .
Uzun cevap
Teknik arkaplan: Dosya Sistemi
Ubuntu, /
dosya sistemini kullanır. Bir dosya sistemi, dosyaların altta yatan depoda (disk veya SSD veya herhangi bir şekilde) depolandığı, sahip / grup / diğer biçimindeki izinlerin okuma / yazma / yürütme, zaman damgaları, ad olarak kaydedilebildiği parçaları izler.
Dosya sistemi mevcut depolama alanını yapılandırır. İlk bloğa "süper blok" denir. Bu blok bir dosya sistemi monte etmek için kullanılır. Bildiğim kadarıyla, her modern dosya sistemi bu alanı bloklara ayırır. Dosya sistemi oluşturulduğunda blok boyutu yapılandırılabilir olsa da çoğu dosya sisteminin sabit bir blok boyutuna sahip olduğunu düşünüyorum (ve bundan emin değilim). ext4 (ve ayrıca ext2 ve ext3), dosyalar ve dizinler için "inode" denilenleri kullanır. Bu düğümler diğer bloklara işaretçiler içerir (bunlar ayrıca inode veya "veri blokları" olabilir). Ve bir dosyanın "ilk" inode'si, yukarıda bahsettiğim tüm bilgileri içerir.
Diğer bir bilgi, dosyanın "tipi" dir. "Tür" şu şekilde olabilir:
- normal dosya
- dizin
- 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ını göremiyorum neden dosyalarının /
içermemesinin bir nedeni. Sanırım kolaylık olabilir. (% Co_de% neden izin verilmediğini bilen var mı?)
Ancak, diğer dosya sistemleri için farklı şeyler vardır. FAT16 ve FAT32, "dosya ayırma tablosu" olarak adlandırıldı. Bu, dosyanızda saklanan tüm dosyaları, hangi "kümenin" başladığı ve hangi kümede tek başına bağlı bir liste olarak bittiğini içeren bir tablo olduğu anlamına gelir.
Size söylemek istediğim önemli olan, izin verilmeyen karakterlerin de dosya sistemine bağlı olabileceğidir.
Teknik arkaplan: Dosya Türleri
- Windows, dosya türlerini algılamak için dosya uzantılarını kullanır
- Linux, dosya türlerini algılamak için "Sihirli Bayt" kullanır. Sihirli Baytlar , dosyanın içeriğinin bir parçasıdır ve dolayısıyla addan tamamen bağımsızdır. Bu baytlar, dosya türünün belirtiminin bir parçasıdır (bkz. png belirtimi olarak Bir örnek). Ayrıca,
.txt
veya .html
(her ikisi de metin dosyaları) gibi aynı sihirli bayt içeren dosyalar için dosya adı uzantılarını kullanır.
İlgili