เหตุใดจึงต้องมีไดเรกทอรีว่างนี้ 3.5MB


16

ฉันเพิ่งอ่านคำถามนี้: ขนาดของไดเรกทอรีหมายถึงอะไรในเอาต์พุตของคำสั่ง 'ls -l'?

... ซึ่งไม่ค่อยตอบคำถามของฉัน โดยพื้นฐานแล้วฉันกำลังย้ายไฟล์ไปยัง NAS โฟลเดอร์ที่ฉันย้ายไปแล้วนั้นว่างเปล่าอย่างสมบูรณ์โดยไม่มีไฟล์ที่ซ่อนอยู่หรืออะไรเลยและยังduคงรายงานขนาดของไฟล์นั้นที่ 3.5MB ก่อนหน้านี้เป็นที่ยอมรับว่ามีไฟล์จำนวนมากพร้อมชื่อไฟล์ยาว

ขนาดนี้เป็นเพียงเพราะปริมาณและความยาวชื่อของไฟล์ที่อยู่ในไดเรกทอรีนั้นหรือไม่? ทำไมขนาดจึงไม่ลดลงเมื่อโฟลเดอร์ว่างเปล่า (ระบบไฟล์ ext4)


1
หากคุณคิดว่าแตกต่างจากคนทั่วไปมันจะให้รายงานตามการตั้งค่าระบบไฟล์บางอย่าง คุณสามารถตรวจสอบกับ '--apparent ขนาด' ที่นี่: gnu.org/software/coreutils/manual/html_node/du-invocation.html
Hermann Ingjaldsson

เมื่อคุณคัดลอกไดเรกทอรีว่างที่สร้างขึ้นใหม่ไปยัง NAS สิ่งที่รายงานขนาดของพวกเขาจะเป็นอย่างไร นอกจากนี้คุณยังสามารถเข้าถึง NAS ที่คุณสามารถเรียกใช้ tune2fs ได้หรือไม่
slm

คุณคิดว่าเป็นภาพรวม?
mdpc

@slm - พวกเขาออกมาที่ขนาด 4096 (ไบต์?) ปกติ
shearn89

@mdpc - สแนปชอตหรือไม่
shearn89

คำตอบ:


16

เมื่อคุณลบไฟล์ทั้งหมดจากไดเรกทอรีสำหรับระบบไฟล์ส่วนใหญ่ไดเรกทอรีจะยังคงมีขนาดเท่าเดิม

หากไดเรกทอรีว่างเปล่า

rmdir ./directory_name; mkdir ./directory

ไดเรกทอรีใหม่ที่ได้จะมีขนาดเล็กลง แต่เมื่อไฟล์ถูกเพิ่มมันจะขยายใหญ่ขึ้น ไม่ต้องกังวลเกี่ยวกับขนาดไฟล์ไดเรกทอรีเท่ากับจำนวนไฟล์ในไดเรกทอรีเดียว ไฟล์จำนวนมากในประสิทธิภาพการค้นหาไฟล์ไดเรกทอรีเดียวส่งผลลบ แม้จะมีการแคชไอโหนดที่เพียงพอ


4
ไฟล์จำนวนมากใน 1 ไดเรกทอรีมีความสำคัญต่อระบบไฟล์ ext เท่านั้น อื่น ๆ เช่น xfs, btrfs, reiser และอื่น ๆ ไม่มีปัญหาเดียวกัน
แพทริค

2
ถูกต้อง. อย่างไรก็ตาม ufs มีปัญหาเช่นเดียวกับคนอื่น ๆ ในขณะที่คำถามนี้เป็นอย่างเคร่งครัด ext4 ปัญหาคือแพร่หลายดังนั้นฉันพูดถึงมัน
jim mcnamara

นอกเหนือจากปัญหาด้านประสิทธิภาพการวางไฟล์มากเกินไปในไดเรกทอรีอาจทำให้เกิดปัญหาอื่น ๆ การทำrm *อาจทำให้เกิดปัญหาหากคุณมีมากกว่า 1024 ไฟล์
Sean McSomething

@SeanMcSomething คุณหมายถึงปัญหาอะไร
Hatshepsut

1
@SeanMc บางสิ่งบางอย่างฉันไม่รู้ว่าคุณรับอึนี้จากที่ไหน บรรทัดคำสั่งของกระบวนการอาจเป็นครึ่งเมกะไบต์หรือมากกว่า มันไม่มีอะไรเกี่ยวข้องกับการนับจำนวนของไฟล์ขนาดรวมของบรรทัดคำสั่งมีขีด จำกัด ซึ่งสูงกว่าที่คุณพูด
peterh - Reinstate Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.