อนุญาตให้ใช้อักขระใดได้บ้างและต้องใช้อักขระใดในบรรทัดคำสั่งในระบบปฏิบัติการอื่น
อนุญาตให้ใช้อักขระใดได้บ้างและต้องใช้อักขระใดในบรรทัดคำสั่งในระบบปฏิบัติการอื่น
คำตอบ:
มีการอภิปรายของตัวละครชื่อไฟล์ในบทความวิกิพีเดียเป็นชื่อไฟล์
คุณอาจพบนี้ข้อมูลเรียงความ: Fixing Unix / Linux / POSIX ชื่อไฟล์
บทความนี้เปรียบเทียบ OS X และ Windows XP: X กับ XP: อักขระต้องห้ามในชื่อไฟล์ (PDF ดู pp ประมาณ 64-66)
สิ่งที่ไม่ควรอยู่ในชื่อไฟล์สำหรับอเล็กซ์ $ 1,000
ฉันไม่ทราบว่าอักขระตัวใดที่ต้องมีการยกเว้นภาพ แต่ใน Linux อาจไม่ใช่ความคิดที่ดีที่จะหลีกเลี่ยงอักขระที่อาจมีความหมายพิเศษเช่น "n" (ขึ้นบรรทัดใหม่), "t" (แท็บ) และอื่น ๆ แต่โดยทั่วไปจะไม่มีปัญหาในการใช้งานไฟล์ บางทีคุณอาจหมายถึง "หลบหนี" มากกว่า "ไม่หลบหนี" สิ่งที่พบได้บ่อยที่สุดคือสิ่งที่เชลล์จะตีความเช่นช่องว่าง ">", "<" ฯลฯ ดูบทความบางส่วนที่ฉันเชื่อมโยงสำหรับการอภิปรายของสิ่งเหล่านั้น
ตัวละครเพียงไม่ได้รับอนุญาตในชื่อไฟล์ในระวัง * เป็นและNUL
/
ใน Windows เท่านั้นNUL
, :
และ\
อย่างแท้จริงไม่ได้รับอนุญาต แต่หลายแอป จำกัด ที่ต่อไปยังการป้องกัน?
, *
, และ+
%
ไม่มีที่จุดที่ตัวอักษรใด ๆ ในชื่อไฟล์ที่จำเป็นที่จะหนียกเว้นตามที่จำเป็นเพื่อที่จะไม่ได้รับการตีความโดยเปลือก
หากคุณสร้างไฟล์บน Windows ด้วย Explorer โดยใช้หนึ่งในตัวละครต่อไปนี้มันจะบ่นว่าตัวละครนั้นไม่ได้รับอนุญาต:
\ / : * ? " < > |
การอ้างอิงที่ดีอยู่ที่นี่:
การตั้งชื่อไฟล์เส้นทางและเนมสเปซ
http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx
Microsoft ระบุเพิ่มเติม:
"... บนแพลตฟอร์มเดสก์ท็อปที่ใช้ Windows อักขระพา ธ ที่ไม่ถูกต้องอาจประกอบด้วยอักขระ ASCII / Unicode 1 ถึง 31 เช่นเดียวกับ quote (") น้อยกว่า (<) มากกว่า (>), ไปป์ (|), backspace (\ b), null (\ 0) และแท็บ (\ t) "
http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars.aspx
\ / : * ? " < > |
พวกเขาทั้งหมดและสร้างพวกเขาด้วย mkdir บนระบบ GNU / Linux ของฉัน คุณสามารถใช้mkdir '?'
เพื่อสร้าง?
ไดเรกทอรีได้เช่นกัน ฉันได้ใช้ระบบไฟล์ ramdisk และ XFS เพื่อทดสอบว่า
บน Linux และระบบที่รองรับ POSIX อื่น ๆ "/" ถูกสงวนไว้เนื่องจากเป็นตัวคั่นไดเรกทอรีและ "\ 0" (อักขระ NULL) กำหนดจุดสิ้นสุดของสตริง ทุกอย่างอื่นที่ได้รับอนุญาต