ดังที่ @ sergiy-kolodyazhnyy กล่าวว่าความยาวชื่อไฟล์สูงสุดจะขึ้นอยู่กับระบบไฟล์และความยาวส่วนใหญ่ของชื่อไฟล์ที่ จำกัด คือ 255 ไบต์
การละเว้นที่น่าทึ่งจากแผนภูมิของเขาคือสื่อออปติคัล ในขณะที่ส่วนขยาย UDF และ Rock Ridge นั้นมีขีด จำกัด 255 ตัวอักษรสำหรับชื่อไฟล์ ISO9660 ที่ไม่มี Rock Ridge และ Joliet ต่างก็มีข้อ จำกัด ที่เข้มงวดกว่าซึ่งคุณอาจเรียกใช้งานได้จริงหากคุณกำลังสำรองข้อมูลการyoutube-dl
ดาวน์โหลด
ชื่อไฟล์โจเลียตถูก จำกัด ไว้ที่ 64 UTF-16 codepoints หรือ 103 ไฟล์หากโปรแกรมการควบคุมดิสก์ของคุณมีตัวเลือกที่จะแยกจากสเป็คในลักษณะที่ดูเหมือนจะไม่ก่อให้เกิดอันตรายในทางปฏิบัติ
ในทำนองเดียวกัน ISO 9660 ระดับ 2 และ 3 ที่ไม่มีส่วนขยาย Rock Ridge จะถูก จำกัด ชื่อไฟล์ที่มีอักขระ 31 ตัวหรือ 37 ตัวหากคุณเล่นเร็วและหลวมด้วยสเป็ค
การรับรองมาตรฐาน ISO 9660: 1999 ซึ่งจะได้รับการสนับสนุนโดย genisoimage แต่ไม่ frontends เช่น K3B มีขีด จำกัด ของทั้ง 207 ไบต์ (โดยไม่ต้องร็อคริดจ์) หรือ 197 ไบต์ (กับร็อคสัน)
(ที่มา: genisoimage
manpage)
สำหรับความยาวเส้นทางสูงสุดนั่นเป็นความเข้าใจผิดที่ยิ่งใหญ่ ไม่มีหนึ่งสำหรับระบบไฟล์ Linux ส่วนใหญ่
มีชื่อคงเป็นPATH_MAX
แต่มันก็เป็นเพียงสูงสุดสำหรับบาง POSIX API ที่ซึ่งคุณสามารถทำงาน รอบ
ข้อยกเว้นที่ตามมาเพียงอย่างเดียวสำหรับการประชุม "ไม่ จำกัด ความยาวเส้นทาง" นี้คือ FAT32 และ exFAT (32,760 อักขระ Unicode), NTFS และ ReFS (32,767 อักขระ Unicode), UDF (1,023 ไบต์) และ ISO 9660 (ไม่ชัดเจน แต่ฉันเห็นแล้ว มันระบุว่าเป็น 180, 207, 212 หรือ 222 ไบต์)
สิ่งนี้สามารถแสดงให้เห็นได้อย่างง่ายดายโดยการเรียกใช้โปรแกรม Python ขนาดเล็กแล้วสำรวจไดเรกทอรีผลลัพธ์
import os
for X in range(20):
os.mkdir('x' * 255)
os.chdir('x' * 255)
ฉันbash
ซึ่งแสดงเส้นทางทั้งหมดในพร้อมท์จะมีปัญหากับมัน อย่างไรก็ตามของฉันzsh
ซึ่งแสดงเฉพาะโฟลเดอร์ปัจจุบันในพรอมต์จะไม่มีปัญหาและยังมีpwd
builtin ที่สามารถแสดงพา ธ 5000 + -byte ทั้งหมดโดยไม่มีปัญหา