Tại sao thư mục trống này là 3,5 MB?


15

Tôi vừa đọc câu hỏi này: Kích thước của một thư mục có ý nghĩa gì trong đầu ra của lệnh 'ls -l'?

... mà không trả lời câu hỏi của tôi. Về cơ bản, tôi đang di chuyển các tập tin vào một NAS. Các thư mục tôi đã di chuyển hoàn toàn trống rỗng, không có tệp ẩn hoặc bất cứ thứ gì, và duvẫn báo cáo kích thước của chúng ở mức 3,5 MB. Phải thừa nhận rằng trước đây chúng chứa một số lượng lớn tệp, với tên tệp dài.

Có phải kích thước này chỉ đơn giản là do số lượng và độ dài tên của các tệp trong thư mục đó? Tại sao bây giờ kích thước không giảm mà các thư mục trống (hệ thống tập tin ext4)?


1
du có xu hướng suy nghĩ khác với mọi người, nó đưa ra một báo cáo dựa trên một số cài đặt hệ thống tập tin. bạn có thể kiểm tra với '--apparent-size' tại đây: gnu.org/software/coreutils/manual/html_node/du-invocation.html .
Hermann Ingjaldsson

Khi bạn sao chép các thư mục trống mới được tạo vào NAS, chúng sẽ báo cáo kích thước của chúng là bao nhiêu? Ngoài ra, bạn có quyền truy cập vào NAS, nơi bạn có thể chạy Tune2fs chẳng hạn?
slm

Bạn đã chiếm các snapshot?
mdpc

@slm - chúng xuất hiện ở kích thước 4096 (byte?) bình thường.
shearn89

@mdpc - Ảnh chụp nhanh?
shearn89

Câu trả lời:


16

Khi bạn xóa tất cả các tệp khỏi một thư mục, đối với hầu hết các hệ thống tệp, thư mục vẫn giữ nguyên kích thước.

Nếu thư mục trống,

rmdir ./directory_name; mkdir ./directory

Thư mục mới kết quả sẽ nhỏ hơn. Nhưng khi các tập tin được thêm vào, nó sẽ phát triển lớn hơn. Đừng lo lắng về kích thước tệp thư mục nhiều như số lượng tệp trong một thư mục. Số lượng lớn các tệp trong một thư mục tác động tìm kiếm hiệu quả tìm kiếm tiêu cực. Ngay cả với bộ nhớ đệm inode rộng rãi.


4
Số lượng lớn tệp trong 1 thư mục thực sự chỉ quan trọng đối với hệ thống tệp ext. Những người khác như xfs, btrfs, reiser, v.v. không có cùng một vấn đề.
Patrick

2
Đúng rồi. Tuy nhiên, ufs có vấn đề như những người khác. Trong khi câu hỏi này là ext4, vấn đề có mặt khắp nơi nên tôi đã đề cập đến nó.
jim mcnamara

Ngoài vấn đề về hiệu năng, việc đặt quá nhiều tệp vào một thư mục có thể gây ra các vấn đề khác - thực hiện rm *có thể dẫn đến sự cố nếu bạn có nhiều hơn 1024 tệp.
Sean McS Something 16/08/13

@SeanMcS Something Bạn có ý nghĩa gì?
Hatshepsut

1
@SeanMcS Something Tôi không có ý kiến ​​gì, từ đâu bạn có được thứ nhảm nhí này. Dòng lệnh của một quá trình có thể là một nửa megabyte trở lên. Nó không liên quan gì đến số lượng tập tin, tổng kích thước của dòng lệnh có giới hạn, cao hơn nhiều như bạn nói.
peterh - Tái lập Monica
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.