Saltar al contenido

Πώς να προσδιορίσετε τον τύπο αρχείου ενός αρχείου χρησιμοποιώντας Linux

14 de abril de 2021

Τα περισσότερα άτομα εξετάζουν την επέκταση ενός αρχείου και στη συνέχεια μαντεύουν τον τύπο του αρχείου από αυτήν την επέκταση. Για παράδειγμα, όταν βλέπετε ένα αρχείο με επέκταση gif, jpg, bmp ή png σκέφτεστε ένα αρχείο εικόνας και όταν βλέπετε ένα αρχείο με επέκταση zip, υποθέτετε ότι το αρχείο έχει συμπιεστεί χρησιμοποιώντας συμπίεση zip χρησιμότητα. Ένα αρχείο μπορεί να χρησιμοποιήσει μία επέκταση αλλά να είναι εντελώς διαφορετικό. Το Linux δεν χρησιμοποιεί επεκτάσεις αρχείων. Αντίθετα, ο τύπος του αρχείου είναι μέρος του ονόματος αρχείου. Για να μάθετε τον πραγματικό τύπο αρχείου χρησιμοποιήστε το αρχείο εντολή.

Εντολή αρχείου Linux

Πώς λειτουργεί η εντολή «αρχείο»

Η εντολή αρχείου εκτελεί τρία σύνολα δοκιμών σε ένα αρχείο:

  • Δοκιμές συστήματος αρχείων
  • Μαγικά τεστ
  • Γλωσσικές δοκιμές

Το πρώτο σετ δοκιμών για την επιστροφή μιας έγκυρης απόκρισης ζητά τον τύπο αρχείου να εκτυπωθεί. Οι δοκιμές συστήματος αρχείων εξετάζουν την επιστροφή από μια κλήση συστήματος stat. Το πρόγραμμα ελέγχει αν το αρχείο είναι κενό και αν είναι ειδικό αρχείο. Εάν ο τύπος αρχείου βρίσκεται στο αρχείο κεφαλίδας συστήματος, επιστρέφεται ως ο έγκυρος τύπος αρχείου. Οι μαγικές δοκιμές ελέγχουν το περιεχόμενο ενός αρχείου και συγκεκριμένα μερικά byte στην αρχή που βοηθούν στον προσδιορισμό του τύπου αρχείου. Χρησιμοποιούνται διάφορα αρχεία για την αντιστοίχιση ενός αρχείου με τον τύπο του αρχείου και αποθηκεύονται σε:

  • / κλπ / μαγεία
  • /usr/share/misc/magic.mgc
  • / usr / share / misc / μαγεία

Παράκαμψη αυτών των αρχείων τοποθετώντας ένα αρχείο στον αρχικό σας φάκελο $ HOME / .magic.mgc ή $ HOME / .magic. Οι τελικές δοκιμές είναι γλωσσικές δοκιμές. Το αρχείο ελέγχεται για να δει αν είναι αρχείο κειμένου. Δοκιμάζοντας τα πρώτα λίγα byte ενός αρχείου, η δοκιμή συμπεραίνει εάν το αρχείο είναι ASCII, UTF-8, UTF-16 ή άλλη μορφή που προσδιορίζει το αρχείο ως αρχείο κειμένου. Όταν συναχθεί το σύνολο χαρακτήρων, το αρχείο δοκιμάζεται σε διαφορετικές γλώσσες.

Τρόπος χρήσης της εντολής «αρχείο»

ο αρχείο Η εντολή έχει την ακόλουθη μορφή: όνομα αρχείου

type = «code»> Για παράδειγμα, για να ελέγξετε τον τύπο ενός τίτλου αρχείου αγγίξτε.svg, εκτελέστε την ακόλουθη εντολή: file touch.svg

type = «code»> Η έξοδος είναι κάπως έτσι:

  • touch.svg: Εικόνα διανυσματικών γραφικών με δυνατότητα κλιμάκωσης SVG

Διαφορετικοί τύποι αρχείων παράγουν διαφορετικά αποτελέσματα, για παράδειγμα:

  • Τύπος αρχείου ODS: Υπολογιστικό φύλλο OpenDocument
  • Τύπος αρχείου PDF: Έγγραφο PDF, έκδοση 1.4
  • Τύπος αρχείου CSV: Κείμενο ASCII, με πολύ μεγάλες γραμμές, με δείκτες γραμμής CRLF

Χειρισμός πολλαπλών αρχείων

Από προεπιλογή, η εντολή αρχείου λειτουργεί με ένα μόνο αρχείο. Μπορείτε, ωστόσο, να καθορίσετε ένα όνομα αρχείου που περιέχει μια λίστα αρχείων προς επεξεργασία από το αρχείο εντολή. Για παράδειγμα, ανοίξτε ένα αρχείο που ονομάζεται αρχεία δοκιμών χρησιμοποιώντας το nano editor και προσθέστε αυτές τις γραμμές σε αυτό:

  • / etc / passwd
  • /etc/pam.conf
  • / etc / opt

Αποθηκεύστε το αρχείο και εκτελέστε την ακόλουθη εντολή αρχείου: file -f testfiles

type = «code»> Η έξοδος θα έχει την εξής μορφή:

  • / etc / passwd: Κείμενο ASCII
  • /etc/pam.conf: Κείμενο ASCII
  • / etc / opt: κατάλογος

Μια άλλη μέθοδος είναι να εκτελέσετε το αρχείο εντολή μία φορά, αλλά καθορίζοντας διάφορους στόχους. Για παράδειγμα: file / etc / passwd /etc/pam.conf / etc / opt

Η έξοδος θα είναι κάπως έτσι:

  • / etc / passwd: Κείμενο ASCII
  • /etc/pam.conf: Κείμενο ASCII
  • / etc / opt: κατάλογος

Οι τυπικοί χαρακτήρες μπαλαντέρ λειτουργούν επίσης. Για παράδειγμα, για να δοκιμάσετε όλα τα αρχεία στον τρέχοντα κατάλογο εργασίας, χρησιμοποιήστε: file *

Για να δοκιμάσετε καταλόγους που ξεκινούν με το γράμμα D (διάκριση πεζών-κεφαλαίων) δοκιμάστε αυτό: αρχείο D *

Τα αποτελέσματα θα μπορούσαν να είναι, για παράδειγμα, επιτραπέζιοι υπολογιστές, έγγραφα και λήψεις.

Συμπιεσμένα αρχεία

Όταν εκτελείτε το αρχείο εντολή ενάντια σε ένα συμπιεσμένο αρχείο βλέπετε έξοδο κάπως έτσι:

  • file.zip: ZIP αρχειοθετημένα δεδομένα, τουλάχιστον V2.0 για εξαγωγή

Ενώ αυτό το αποτέλεσμα σας λέει ότι το αρχείο είναι αρχείο αρχειοθέτησης, δεν γνωρίζετε τα περιεχόμενα του αρχείου. Κοιτάξτε μέσα στο αρχείο zip για να δείτε τους τύπους αρχείων των αρχείων μέσα στο συμπιεσμένο αρχείο. Η ακόλουθη εντολή εκτελεί την εντολή αρχείου έναντι των αρχείων μέσα σε ένα αρχείο ZIP: όνομα αρχείου -z

type = «code»> Η έξοδος δείχνει τώρα τους τύπους αρχείων των αρχείων στο αρχείο.