Hầu hết mọi người nhìn vào phần mở rộng của một tập tin và sau đó đoán loại tập tin từ phần mở rộng đó. Ví dụ: khi bạn thấy một tệp có phần mở rộng gif, jpg, bmp hoặc png, bạn sẽ nghĩ đến tệp hình ảnh và khi bạn thấy tệp có đuôi mở rộng, bạn cho rằng tệp đã được nén bằng tiện ích nén zip .
Trong thực tế một tập tin có thể có một phần mở rộng nhưng là một cái gì đó hoàn toàn khác nhau và nếu một tập tin không có phần mở rộng như thế nào bạn có thể xác định loại tập tin?
Trong Linux, bạn có thể tìm ra loại tệp thực sự bằng cách sử dụng lệnh tệp.
Cách hoạt động của lệnh tệp
Theo tài liệu hướng dẫn, lệnh tệp chạy ba bộ kiểm tra đối với một tệp:
- kiểm tra hệ thống tập tin
- phép thử ma thuật
- kiểm tra ngôn ngữ
Tập kiểm thử đầu tiên trả về một phản hồi hợp lệ làm cho loại tệp được in ra.
Kiểm tra hệ thống tập tin kiểm tra sự trở lại từ một cuộc gọi hệ thống stat. Chương trình sẽ kiểm tra xem tệp có trống không và tệp đó có phải là tệp đặc biệt hay không. Nếu loại tệp được tìm thấy trong tệp tiêu đề hệ thống, nó sẽ được trả về dưới dạng loại tệp hợp lệ.
Các kiểm tra ma thuật kiểm tra nội dung của một tập tin và đặc biệt là một vài byte lúc đầu giúp xác định loại tập tin. Có nhiều tệp khác nhau được sử dụng để giúp kết hợp một tệp với loại tệp của nó và chúng được lưu trữ trong / etc / magic, / usr / share / misc / magic.mgc, / usr / share / misc / magic. Bạn có thể ghi đè lên các tệp này bằng cách đặt một tệp trong thư mục chính của bạn được gọi là $ HOME / .magic.mgc hoặc $ HOME / .magic.
Các bài kiểm tra cuối cùng là các bài kiểm tra ngôn ngữ. Tệp được kiểm tra để xem đó có phải là tệp văn bản hay không. Bằng cách kiểm tra vài byte đầu tiên của một tệp, bạn có thể suy ra cho dù đó là một ASCII, UTF-8, UTF-16 hoặc ở định dạng khác xác định tệp dưới dạng tệp văn bản. Khi bộ ký tự đã được suy ra, tệp được kiểm tra dựa trên các ngôn ngữ khác nhau. Ví dụ là chương trình tập tin ac.
Nếu không có thử nghiệm nào làm việc thì đầu ra đơn giản là dữ liệu.
Cách sử dụng lệnh tập tin
Lệnh tập tin có thể được sử dụng như sau:
tên tệp
Ví dụ tưởng tượng bạn có một tập tin gọi là file1 bạn sẽ chạy lệnh sau:
tập tin tập tin1
Đầu ra sẽ là một cái gì đó như thế này:
file1: Dữ liệu ảnh PNG, 640 x 341, 8 bit / màu RGB, không xen kẽ
Đầu ra được hiển thị xác định file1 là một tệp hình ảnh hoặc để chính xác hơn một tệp đồ họa mạng di động (PNG).
Các loại tệp khác nhau tạo ra các kết quả khác nhau như sau:
- Loại tệp ISO - Khu vực khởi động DOS / MBR ISO 9660 Dữ liệu hệ thống tệp CD-Rom 'nhãn' (có thể khởi động); phân vùng 2: ID = 0xef, bắt đầu-CHS (0x3ff, 254,63), kết thúc-CHS (0x3ff, 4,63) bắt đầu 1496, 4736 ngành
- Loại tệp ODS - Bảng tính Tài liệu Mở
- Loại tệp PDF - Tài liệu PDF, phiên bản 1.4
- Loại tệp CSV - văn bản ASCII, với các dòng rất dài, với các chỉ báo dòng CRLF
Tùy chỉnh đầu ra từ lệnh tập tin
Theo mặc định, lệnh tệp cung cấp tên tệp và sau đó tất cả chi tiết bên trên tệp. Nếu bạn chỉ muốn các chi tiết không có tên tệp lặp lại, hãy sử dụng công tắc sau:
file -b file1
Đầu ra sẽ là một cái gì đó như thế này:
Dữ liệu hình ảnh PNG, 640 x 341, 8 bit / màu RGB, không xen kẽ
Bạn cũng có thể thay đổi dấu phân cách giữa tên tệp và loại.
Theo mặc định, dấu phân cách là dấu hai chấm (:) nhưng bạn có thể thay đổi nó thành bất kỳ thứ gì bạn thích như biểu tượng đường ống như sau:
file -F '|' file1
Đầu ra sẽ là một cái gì đó như thế này:
file1 | Dữ liệu hình ảnh PNG, 640 x 341, 8 bit / màu RGB, không xen kẽ
Xử lý nhiều tệp
Theo mặc định, bạn sẽ sử dụng lệnh tệp đối với một tệp. Tuy nhiên, bạn có thể chỉ định tên tệp chứa danh sách các tệp cần xử lý bằng lệnh tệp:
Ví dụ: mở một tệp có tên là testfiles bằng cách sử dụng trình soạn thảo nano và thêm các dòng này vào nó:
- / etc / passwd
- /etc/pam.conf
- / etc / opt
Lưu tệp và chạy lệnh tệp sau:
tệp tin testff
Đầu ra sẽ là một cái gì đó như thế này:
/ etc / passwd: văn bản ASCII
/etc/pam.conf: văn bản ASCII
/ etc / opt: thư mục
Tệp nén
Theo mặc định khi bạn chạy lệnh tệp đối với tệp nén, bạn sẽ thấy kết quả đầu ra như sau:
file.zip: Dữ liệu lưu trữ ZIP, ít nhất là V2.0 để trích xuất
Trong khi điều này cho bạn biết rằng tệp là tệp lưu trữ bạn thực sự không biết nội dung của tệp. Bạn có thể xem bên trong tệp zip để xem các loại tệp của tệp trong tệp nén.
Lệnh sau chạy lệnh tệp đối với các tệp bên trong tệp ZIP:
file -z tên tập tin
Đầu ra sẽ hiển thị các loại tệp trong tệp lưu trữ.
Tóm lược
Nói chung, hầu hết mọi người sẽ chỉ đơn giản là sử dụng lệnh tập tin để tìm loại tệp cơ bản nhưng để tìm hiểu thêm về tất cả các khả năng mà lệnh tệp cung cấp, hãy nhập thông tin sau vào cửa sổ đầu cuối:
người đàn ông tập tin