คำตอบสั้น ๆ
- Windows ไม่อนุญาตให้ใช้อักขระต่อไปนี้:
<>:"/\|?*
( แหล่งที่มา )
- อักขระอื่น ๆ ที่ท้อแท้คือ: space
และ dot .
( source )
- เครื่องมือบรรทัดคำสั่งนั้นยากต่อการใช้งานเมื่อคุณมีช่องว่างในชื่อ (ยากกว่านั้นเป็นไปไม่ได้)
- มีการใช้จุดใน RegEx (เช่นเมื่อคุณต้องการใช้
grep
) จุดนำทำให้ไฟล์ถูกซ่อนโดยการประชุมใน Linux ใน Windows มีการใช้จุดในส่วนขยายของไฟล์ซึ่งใช้สำหรับการตรวจจับประเภทไฟล์
- ของ Windows ยังจะไม่อนุญาตให้ชื่อไฟล์
CON
, PRN
, AUX
, CLOCK$
, NUL
COM1
, COM2
, COM3
, COM4
, COM5
, COM6
, COM7
, COM8
, COM9
LPT1
, LPT2
, LPT3
, LPT4
, LPT5
, LPT6
, LPT7
, และLPT8
LPT9
(ที่มา )
- อักขระเท่านั้นที่ไม่ได้รับอนุญาตในระบบไฟล์ Unix ที่ฉันรู้จักคือ
/
และ null (null null \0
)
- ดูเพิ่มเติมที่: ขีด จำกัด ของระบบไฟล์ (ฉันไม่รู้ว่าคุณต้องการใช้งาน Windows รุ่นไหน)
คำตอบที่ยาว
พื้นหลังทางเทคนิค: ระบบไฟล์
Ubuntu ใช้ประโยชน์จากext4
ระบบไฟล์ ระบบไฟล์ติดตามว่าไฟล์ถูกเก็บไว้ในที่เก็บข้อมูลพื้นฐาน (ดิสก์หรือ SSD หรืออะไรก็ตาม) การอนุญาตในรูปแบบของเจ้าของ / กลุ่ม / อื่น ๆ สามารถอ่าน / เขียน / ดำเนินการประทับเวลาชื่อ
ระบบไฟล์จัดโครงสร้างหน่วยความจำที่มีอยู่ บล็อกแรกเรียกว่า "superblock" บล็อกนี้ใช้เพื่อเมานต์ระบบไฟล์ เท่าที่ฉันรู้ทุกระบบไฟล์ที่ทันสมัยแบ่งเป็นพื้นที่ในบล็อก ฉันคิดว่า (และฉันก็ไม่แน่ใจเหมือนกัน) ว่าระบบไฟล์ส่วนใหญ่มีขนาดบล็อกคงที่แม้ว่าขนาดบล็อกนั้นสามารถกำหนดค่าได้เมื่อสร้างระบบไฟล์ ext4 (และ ext2 และ ext3) ใช้ประโยชน์จากสิ่งที่เรียกว่า "inodes" สำหรับไฟล์และไดเรกทอรี inodes เหล่านั้นมีตัวชี้ไปยังบล็อกอื่น ๆ (ซึ่งอาจเป็น inodes หรือเป็น "data block") และ inode "แรก" ของไฟล์ที่มีข้อมูลทั้งหมดที่ฉันกล่าวถึงข้างต้น
ข้อมูลอื่นหนึ่งคือ "ประเภท" ของไฟล์ "Type" สามารถ:
- ไฟล์ปกติ
- ไดเรกทอรี
- ไฟล์อุปกรณ์ (อุปกรณ์บล็อกหรือตัวละคร)
- ...
ที่จริงแล้วคุณยังสามารถเปิดไดเรกทอรีด้วยเครื่องมือแก้ไข:
vim /home
เป็นไดเรกทอรีไม่ได้มีเส้นทางแบบเต็ม /
แต่เพียงชื่อของเนื้อหาที่ผมไม่เห็นเหตุผลว่าทำไมไฟล์ไม่สามารถมี ฉันคิดว่ามันอาจจะสะดวก (ไม่มีใครรู้ว่าทำไม/
ไม่ได้รับอนุญาต?)
อย่างไรก็ตามสิ่งต่าง ๆ สำหรับระบบไฟล์อื่น FAT16 และ FAT32 ใช้ชื่อ "ตารางการจัดสรรไฟล์" ซึ่งหมายความว่ามีตารางที่มีไฟล์ทั้งหมดที่เก็บไว้ในไฟล์ของคุณซึ่ง "คลัสเตอร์" จะเริ่มและที่กลุ่มที่พวกเขาสิ้นสุดเป็นรายการเชื่อมโยงโดยลำพัง
สิ่งสำคัญที่ฉันต้องการจะบอกคุณก็คืออักขระที่ไม่อนุญาตอาจขึ้นอยู่กับระบบไฟล์
พื้นหลังทางเทคนิค: ประเภทไฟล์
- Windows ใช้นามสกุลไฟล์เพื่อตรวจจับประเภทไฟล์
- Linux ใช้ "Magic Bytes" เพื่อตรวจหาประเภทไฟล์ Bytes Magicเป็นส่วนหนึ่งของเนื้อหาของไฟล์และจึงเป็นอิสระจากชื่ออย่างสมบูรณ์ ไบต์เหล่านี้เป็นส่วนหนึ่งของข้อมูลจำเพาะของประเภทไฟล์ (ดูข้อมูลจำเพาะ pngเป็นตัวอย่าง) นอกจากนี้ยังใช้ส่วนขยายชื่อไฟล์สำหรับไฟล์ที่มีคาถาไบต์เดียวกันเช่น
.txt
หรือ.html
(ทั้งคู่เป็นไฟล์ข้อความ)
ที่เกี่ยวข้อง