Kích thước tập tin có thể bằng 0 như thế nào?

Mục lục:

Kích thước tập tin có thể bằng 0 như thế nào?
Kích thước tập tin có thể bằng 0 như thế nào?

Video: Kích thước tập tin có thể bằng 0 như thế nào?

Video: Kích thước tập tin có thể bằng 0 như thế nào?
Video: Nhạc Chế MÌNH CÓ CON EM KHÙNG ( My Crazy Sister ) | Gia đình luôn là số 1 | Thiên An ft. Mi Ngân - YouTube 2024, Tháng tư
Anonim
Thỉnh thoảng, tất cả chúng tôi đều chạy qua một ‚Äòsituation‚Äô trên các máy tính của chúng tôi khiến chúng ta hoàn toàn bối rối, chẳng hạn như một tệp có kích thước bằng 0, nhưng làm thế nào điều đó thậm chí có thể? Today‚Äôs SuperUser Q & A post có câu trả lời cho một câu hỏi đọc nhầm.
Thỉnh thoảng, tất cả chúng tôi đều chạy qua một ‚Äòsituation‚Äô trên các máy tính của chúng tôi khiến chúng ta hoàn toàn bối rối, chẳng hạn như một tệp có kích thước bằng 0, nhưng làm thế nào điều đó thậm chí có thể? Today‚Äôs SuperUser Q & A post có câu trả lời cho một câu hỏi đọc nhầm.

Today Questionôs Câu hỏi & Trả lời phiên đến với chúng tôi lịch sự của SuperUser‚Äîa phân khu của Stack Exchange, một nhóm cộng đồng theo định hướng của các trang web Q & A.

Câu hỏi

Trình đọc siêu người dùng Eugene S muốn biết kích thước tập tin có thể bằng 0 như thế nào:

This is something that I ran into and could not think of a proper explanation. If I create an empty *.txt file on my computer and then look at its size, it shows a size of zero. How is that possible? I mean even if the file itself is empty, it must still have some size (even it if is just to store its own name). How can this be explained?

Làm thế nào có thể cho một tập tin có kích thước bằng không?

Câu trả lời

Những người đóng góp của SuperUser David Schwartz và Cort Ammon có câu trả lời cho chúng tôi. Đầu tiên, David Schwartz:

It is possible because there really is no file. There is just a directory entry with a name and owner. The directory entry is logically distinct from the file. For example, the same file can have more than one name in more than one directory.

Unfortunately, the term file is not always used to mean precisely the same thing. But the file size logic comes from the model where a directory entry attaches a file to a directory, then the file names and related meta data are stored in the directory.

Tiếp theo là câu trả lời từ Cort Ammon:

The semantic meaning of file size is different from the one you are using.

There are many file sizes which are meaningful. The most common one, and the one you are seeing here, is the number of bytes in the file. If the file is an empty text file, it may indeed contain zero bytes. This number is important to programmers because we often need to open a file, read all the data, and close it. We need to know how many bytes of data will be in the file so we can plan ahead.

Another meaning arises from the way most file systems store data. Most file systems store data in blocks. For example, the file system may store data in 64 kB blocks, meaning it will never allocate anything which is not an even multiple of 64 kB. This sounds inefficient, but it can make bookkeeping quite a bit simpler, and often simpler means faster.

A third meaning, which you are tugging at, would be the actual number of bits required on the hard-drive to describe the presence of a file. This includes information that is usually stored separately from the file. For instance, in Linux, the concept of the file name is stored in the inode for the directory containing the file. [Based on input from other comments, this is (technically) stored in the directory’s data. When I wrote this, I was thinking of the small-directory case. Data smaller than 156 bytes can be stored directly in the inode.] This is not a commonly used meaning because it is terribly hard to determine without knowing the tremendously deep inner workings of your file system (such as accounting for the space needed to store all the permissions on the file). However, if you have a 1,000,000 byte hard-drive and want to know how big of a file can fit on that hard-drive, this will be a very important meaning to you!

Có cái gì để thêm vào lời giải thích? Tắt âm thanh trong các ý kiến. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange có hiểu biết công nghệ khác? Xem toàn bộ chuỗi thảo luận tại đây.

Đề xuất: