Αναγνώριση Αρχείων

Εικόνα: markos
Submitted by markos on Δευ, 05/03/2007 - 21:00

Σε αντίθεση με άλλα λειτουργικά, στο Linux δεν είναι απαραίτητες οι καταλήξεις στα ονόματα των αρχείων και μερικές φορές είναι δύσκολη η αναγνώριση του τύπου κάποιου αρχείου, ακριβώς γιατί δεν έχει δοθεί κατάληξη στο όνομά του. Για το σκοπό αυτό υπάρχει, τουλάχιστον για τον περιβάλλον του κελύφους, η εντολή file που αναγνωρίζει σχεδόν κάθε αρχείο. Πρακτικά, η εντολή file διαβάζει τα πρώτα bytes του αρχείου, τα οποία και συνήθως είναι αυτά που καθορίζουν τον τύπο του. Χρησιμοποιώντας ένα αρχείο που κατ' ευφημισμό καλείται “μαγικό” (magic file), το οποίο στην ουσία είναι μια βάση δεδομένων, η εντολή file επιστρέφει τον ζητούμενο τύπο του αρχείου.
Η σύνταξή της είναι η εξής:

file [OPTIONS] files ...

όπου files τα αρχεία των οποίων τον τύπο ζητάμε. Ως επιλογές μπορούμε να δώσουμε τις εξής:

Επιλογές
Λειτουργία
-f
--files-from
Χρησιμοποιεί τη λίστα αρχείων που είναι καταχωρημένη στο αρχείο που δίνεται με την επιλογή -f.
-i
--mime
Αντί για την προκαθορισμένη περιγραφή αρχείου με βάση το μαγικό αρχείο /etc/magic του UNIX, χρησιμοποιεί περιγραφή με βάση το σύστημα MIME.
-L
--dereference
Η διαδικασία της αναγνώρισης θα εφαρμοστεί στο πραγματικό αρχείο και όχι στο σύνδεσμό του.
-z
--uncompress
Αν είναι δυνατόν, αποσυμπιέζει το αρχείο και ύστερα προσπαθεί να το αναγνωρίσει.

Παραδείγματα:

$ file /lib/libc.so.6 /usr/lib/libc.a
/lib/libc.so.6:  symbolic link to `libc-2.3.1.so'
/usr/lib/libc.a: current ar archive

$ file -L /lib/libc.so.6
/lib/libc.so.6: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV),
stripped

$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux
2.2.0, dynamically linked (uses shared libs), stripped

$ file -i /bin/ls
/bin/ls: application/x-executable, for GNU/Linux 2.2.0, dynamically linked (uses
shared libs), stripped

0
Your rating: None