Phần mở rộng tệp không cần thiết trên các thông báo, vẫn là mọi tệp tarred, gzipped hoặc bzipped mà tôi gặp có phần mở rộng tệp như .tar
, .tar.gz
hoặc .tgz
.
Có bất kỳ lý do đặc biệt cho điều đó hoặc đó chỉ là quy ước?
Phần mở rộng tệp không cần thiết trên các thông báo, vẫn là mọi tệp tarred, gzipped hoặc bzipped mà tôi gặp có phần mở rộng tệp như .tar
, .tar.gz
hoặc .tgz
.
Có bất kỳ lý do đặc biệt cho điều đó hoặc đó chỉ là quy ước?
Câu trả lời:
Ban đầu, trên các hệ thống unix, phần mở rộng trên tên tệp là một vấn đề quy ước. Họ cho phép một con người chọn chương trình phù hợp để mở một tập tin. Quy ước hiện đại là sử dụng các phần mở rộng trong hầu hết các trường hợp; trường hợp ngoại lệ phổ biến là:
README
, TODO
. Đôi khi có một bộ phận bổ sung mà chỉ ra một tiểu thể loại, ví dụ như INSTALL.linux
, INSTALL.solaris
..bashrc
, .profile
, .emacs
.Makefile
.(Đây là những trường hợp phổ biến, không phải là quy tắc khó và nhanh.)
Hầu hết các định dạng tệp nhị phân cũng chứa một số loại tiêu đề mô tả các thuộc tính của tệp và thường cho phép định dạng tệp được xác định thông qua các số ma thuật . Các file
lệnh nhìn vào thông tin này và chương trình bạn dự đoán của mình.
Đôi khi phần mở rộng tệp cung cấp nhiều thông tin hơn định dạng tệp, đôi khi, ngược lại. Ví dụ: nhiều định dạng tệp bao gồm kho lưu trữ zip : thư viện Java ( .jar
), tài liệu OpenOffice ( .odt
,), tài liệu Microsoft Office ( .docx
,), v.v. Một ví dụ khác là các tệp mã nguồn, trong đó phần mở rộng chỉ ngôn ngữ lập trình, có thể khó có thể đoán máy tính tự động từ nội dung tập tin. Ngược lại, một số phần mở rộng rất mơ hồ, ví dụ .o
được sử dụng cho các tệp mã được biên dịch (tệp đối tượng ), nhưng việc kiểm tra nội dung tệp thường dễ dàng tiết lộ loại máy và hệ điều hành mà tệp đối tượng dùng để làm gì.
Một lợi thế của tiện ích mở rộng là nhận ra nó nhanh hơn rất nhiều so với mở tệp và tìm kiếm các chuỗi ma thuật. Ví dụ, việc hoàn thành tên tệp trong shell hầu như luôn luôn dựa trên tên (chủ yếu là phần mở rộng), bởi vì việc đọc mọi tệp trong một thư mục lớn có thể mất nhiều thời gian trong khi chỉ cần đọc tên tệp là đủ nhanh để Tabnhấn.
Đôi khi, việc thay đổi phần mở rộng của tệp có thể cho phép bạn nói cách giải thích tệp, khi hai định dạng tệp gần như nhưng không hoàn toàn giống nhau. Ví dụ, một máy chủ web có thể xử lý .shtml
và .html
khác nhau, trước đây trải qua một số tiền xử lý phía máy chủ , sau đó được phục vụ như hiện trạng.
Trong trường hợp tài liệu lưu trữ gzip, gzip
sẽ không file nén lại mà tận cùng tên trong .gz
, .tgz
và một vài phần mở rộng khác. Bằng cách đó, bạn có thể chạy gzip *
để nén mọi tệp trong một thư mục và các tệp đã nén không bị sửa đổi.
Họ có thể không cần một phần mở rộng, nhưng nó chắc chắn làm cho việc xác định chúng dễ dàng hơn trong đầu ra của ls
.
tar
, vì vậy bạn phải nói với nó loại lưu trữ nào bạn có.
Phần mở rộng tập tin chủ yếu là một quy ước cho những người sử dụng hệ thống. Có những công cụ sử dụng phần mở rộng tên tệp để làm việc. Ví dụ: Nautilus hiển thị cho tôi một biểu tượng khác dựa trên phần mở rộng tệp.
Nếu tôi đưa cho bạn một tệp được gọi file
, bạn có thể không biết cách mở tệp này. Tuy nhiên, nếu tôi đưa cho bạn một tệp có tên file.tar.gz
hoặc file.tar
bạn có thể nhanh chóng và dễ dàng tìm ra nó.