2
วิธีจัดการไฟล์จำนวนมากในเชลล์?
$ ls ./dir_with_huge_amount_of_files/errors/ สมมติว่าไดเรกทอรีเต็มไปด้วยรูปภาพที่มียูนิกซ์ประทับเวลาฉันหมายถึงมีหน่วยวัดเป็นกิกะไบต์หรือมากกว่านั้น คำสั่งเชลล์เช่นlsจะได้รับคำเตือนแบบล้นเนื่องจากไม่ได้ออกแบบมาให้ทำงานกับรูปภาพนับล้าน (หรือมากกว่า) ฉันจะจัดการไฟล์จำนวนมากได้อย่างไร ตัวอย่างเช่นถ้าฉันต้องการค้นหารูปภาพที่อยู่ตรงกลาง (ตามเวลาในชื่อและเวลาสร้าง) มีระบบไฟล์บางส่วนที่มีคุณสมบัติการค้นหาในตัวหรือไม่? คุณจะใช้คำสั่งใด ฉันพยายามอย่างสบายlsและfindด้วยการตั้งค่าสถานะที่จำเป็น แต่พวกเขาก็ช้ามากหรือสร้างคำเตือนดังนั้นฉันคิดว่าฉันต้องการระบบไฟล์หรือ db ที่ดีกว่าหรืออะไรทำนองนั้นเพื่อจัดทำดัชนีรูปภาพ โดยทั่วไปฉันต้องการอาร์เรย์หนึ่งชุดที่จะจัดวางรูปภาพ inodes ตามลำดับเวลา ทำอย่างไร ต่อมาสามารถเพิ่มข้อมูลเมตาที่มียูนิกซ์ - เวลา [Update] มีข้อบกพร่องที่ร้ายแรงในคำตอบปัจจุบันผู้คนเพียงโพสต์เรียงลำดับของคำตอบโดยไม่ต้องทดสอบเชิงประจักษ์ หากพวกเขาทดสอบข้อเสนอแนะของพวกเขาพวกเขาอาจจะล้มเหลว ดังนั้นฉันจึงสร้างเครื่องมือบรรทัดคำสั่งให้คุณซึ่งคุณสามารถสร้างแซนด์บ็อกซ์เพื่อสร้างไฟล์จำนวนมากและทดสอบข้อเสนอแนะของคุณเช่นเดียวกับไฟล์จำนวน 1e7 อาจใช้เวลานานในการสร้างไฟล์ดังนั้นต้องอดทน หากมีคนรู้วิธีที่รวดเร็วกว่านี้โปรดแก้ไขรหัส พิมพ์python code.py --helpเพื่อรับความช่วยเหลือ มีความสุข! ตัวอย่างการใช้งานเพื่อสร้างไฟล์ dirred จำนวนมาก $ ls ./data2 ls: ./data2: No such file or directory $ python testFill.py -n …