จำนวนโฟลเดอร์สูงสุดที่อนุญาตในโฟลเดอร์ใน Linux คือเท่าใด


17

ใช้ Redhat ถ้านั่นสร้างความแตกต่าง

มีขีด จำกัด เริ่มต้นหรือไม่ มันสามารถเปลี่ยนแปลงได้หรือไม่ ถ้าไม่มีวิธีแก้ไขปัญหาเพื่อเพิ่มจำนวนโฟลเดอร์ที่อนุญาตในไดเรกทอรีหรือไม่

คำตอบ:


22

ขึ้นอยู่กับระบบไฟล์ที่การกระจายของคุณใช้ หากคุณใช้การกระจายเดสก์ท็อปที่ใหม่กว่า (เช่น Ubuntu 9.10 ซึ่งเป็น Fedora รุ่นล่าสุด) คุณอาจใช้ ext4 ถ้าคุณใช้บางอย่างที่เก่ากว่ามันน่าจะเป็น ext3


11

ใน ext2, 32,768 ตามวิกิพีเดีย - http://en.wikipedia.org/wiki/Ext2fs#File_system_limits ขึ้นอยู่กับระบบไฟล์ที่คุณใช้


3
อ๋อ จำนวนโฟลเดอร์นั้นเชื่อมต่อกับระบบไฟล์ไม่ใช่ระบบปฏิบัติการ
Satanicpuppy

ดูเหมือนกระแทก ext4 ที่ จำกัด ไป 64k ยาก แต่สนับสนุนมากขึ้นกว่าที่ผ่านแสตมป์
basszero

4

คุณอาจต้องการพิจารณาทางเลือกสำหรับสิ่งที่คุณพยายามทำ แม้ว่าคุณจะอยู่ภายใต้ขีด จำกัด ของระบบไฟล์ (เช่น 32k สำหรับ ext2) การจัดเก็บไฟล์หลายหมื่นไฟล์ในไดเรกทอรีเดียวอาจทำให้ยุ่งยากน้อยที่สุด

ความเป็นไปได้อย่างหนึ่งคือคุณกำลังพยายามใช้ระบบไฟล์เพื่อสิ่งที่เหมาะกับฐานข้อมูลมากขึ้น พิจารณาจัดเก็บข้อมูลของคุณใน PostgreSQL, MySQL หรือแม้แต่ฐานข้อมูล sqlite มีระบบไฟล์ไม่มากเกินไปที่รับมือกับไฟล์จำนวนมาก - การย้ายหรือสำรองข้อมูลของคุณจะช้า

หากคุณต้องการจัดเก็บไฟล์จำนวนมากให้พิจารณาโครงสร้างไดเรกทอรีทางเลือก ตัวอย่างเช่นคุณอาจแยกไฟล์ตามตัวอักษรเช่น:

a/aaron.dat
a/alex.dat
a/alan.dat
b/bill.dat
b/brian.dat

วิธีนี้สามารถปรับขนาดได้โดยการเพิ่มความลึกของการแยกของคุณเช่น:

a/a/aaron.dat
a/l/alex.dat
a/l/alan.dat

หรือถ้าคุณกำลังเข้าสู่ล็อกไฟล์รายวันหรือรับการจัดส่งรายวันคุณสามารถแยกพวกเขาตามวันเช่น:

2009-10-04/logfile-01.txt
2009-10-05/logfile-01.txt
2009-10-05/logfile-02.txt

ในกรณีพิเศษนี้คุณอาจต้องการ cron งานเพื่อทำแพ็กเกจบันทึกเก่าลงใน tarballs ซิปเพื่อลดจำนวนไฟล์


1

ข้อ จำกัด ของโฟลเดอร์คือสาเหตุที่ระบบขององค์กรที่ต้องจัดการกับจำนวนไฟล์โดยพลการจะเก็บไว้ในไดเรกทอรีย่อยหนึ่งหรือสองไดเรกทอรีตามแฮชของชื่อไฟล์ ตัวอย่างเช่น md5 () ชื่อไฟล์และใช้สี่ไบต์แรกเป็นโฟลเดอร์ย่อยเพื่อจัดเก็บไฟล์ สำหรับระดับเพิ่มเติมให้ใช้ 4 ถัดไปสำหรับโฟลเดอร์ย่อยเพิ่มเติมหรือ 4 ถัดไปหลังจากนั้นเป็นต้นระบบส่วนใหญ่จะไม่เกิน 2 ระดับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.