Có bao nhiêu tập tin tôi có thể có trên một thư mục?


21

Câu hỏi này có liên quan đến câu hỏi này .

Tôi làm việc với hình ảnh động, tạo ra RẤT NHIỀU tệp (+/- 1.000.000) thường được lưu trữ trên một thư mục. Trên Mac Os X, một số lỗi xuất hiện với hơn +/- 30.000 tệp, vì vậy tôi đã sử dụng để chia hoạt hình thành các thư mục khác nhau.

Trên Ubuntu, có giới hạn số lượng tệp mà một thư mục có thể chứa không?

Câu trả lời:


32

Ubuntu không giới hạn kích thước của một thư mục, nó được áp đặt bởi hệ thống tệp. Mỗi tập tin và thư mục là một cái gọi là inode. Bạn có thể sử dụng df -iđể kiểm tra số lượng inodes đang sử dụng và có sẵn cho tất cả các hệ thống tập tin được gắn kết.

Tôi mới tạo 1 triệu và một tệp mà không gặp sự cố nào vì giới hạn inode của tôi cho phân vùng nhà ext4 là 50 GB (46 GiB) là đủ lớn.

Tôi đã sử dụng mở rộng shell để tạo các tệp, kết hợp với touchtiện ích:

mkdir test
cd test
touch {0..300000}
touch {300000..600000}
touch {600000..900000}
touch {900000..1000000}

Điều này tạo ra 1000001 tập tin có thể được xác minh với ls | wc -l. Tại sao 300000..600000và không 300001..600000? Bởi vì tôi đã quá lười biếng để đặt 1 cái đó vào cuối.

df -i giống như:

/dev/sda6            3055616 1133635 1921981   38% /home

Bây giờ hãy xóa các tệp kiểm tra ( cd ..&&rm -f testmất nhiều thời gian hơn, vì vậy hãy sử dụng rmvới tên tệp):

rm {0..300000}
rm {300000..600000}
rm {600000..900000}
rm {900000..1000000}
cd ..
rmdir f

và số lượng nút được sử dụng giảm ngay sau khi xóa các tệp:

/dev/sda6            3055616  133634 2921982    5% /home

Lưu ý rằng ngay cả khi hệ thống tệp cho phép số lượng tệp lớn như vậy, thì việc lưu trữ các tệp lớn như vậy trong một thư mục là một ý tưởng khủng khiếp. Ít nhất là sử dụng một số thư mục con có cấu trúc như thế nào f/i/l/e/filename.ext. Các chương trình thường không mong đợi số lượng lớn các tập tin như vậy.


1
ext4là một loại hệ thống tập tin, không phải là một phần mở rộng tập tin. Bạn không thể tạo một thư mục để xếp hàng chỉnh sửa? Tôi nghi ngờ rằng những chương trình đó có thể chạy tốt với số lượng tệp lớn như vậy.
Lekensteyn

1
Chắc chắn tôi có thể. Tôi chỉ đang tưởng tượng vấn đề trước khi tôi gặp họ. Bạn nói đúng về Adobe After Effects, chắc chắn sẽ sụp đổ, nhưng đừng nghi ngờ các anh chàng Autodesk, họ tạo ra những đoạn mã tuyệt vời ... =) trông giống như sử dụng một chiếc Ferrari. Rất dễ gặp sự cố, rất nhanh và mạnh mẽ vì bị chặn trên mặt đất. Hy vọng tiếng Anh của tôi có ý nghĩa.
H_7

1
Tôi hiểu rôi. Yay, chính xác là 17.000 danh tiếng ^^
Lekensteyn

1
Trước khi xóa các tệp, hãy thử và mở thư mục này trong Nautilus và xem điều gì xảy ra;).
Mario

1
@bzero Hãy mở một câu hỏi mới cho điều đó.
Lekensteyn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.