In Linux, file names can be completely independent of the file type. For example, instead of being an archive, a file named test.zip could be a text file. Also, any file may have no extension at all. This makes determining the true file type difficult. The file command comes particularly handy in this situation. It tells you whether a file is an audio file, an open document, a spreadsheet file, or a text editor file.
The file command evaluates each parameter and performs three sets of checks to identify the file type. The first one to succeed will produce a file type output. In the filesystem test, the application examines the file to see if it’s empty or if it’s a unique file type. It also checks the header file for any known file types that are relevant to the system you’re working on.
In the magic test, every file has a magic number tied to it at the start. They’re specific fixed-arrangement values that correspond to certain file types. The file command maintains a database of all magic numbers in the /usr/share/misc/magic data file. When you perform the file command, the system compares the provided file’s magic numbers to it.
Language test looks at the file’s character sets, such as ASCII or UTF-8. The test looks for peculiar sequences in the first few lines that exist anywhere. This test comes last since it is less accurate than the other two.
With the Linux file command, you have a lot of choices, but here’s a short rundown of the most popular ones:
-b: It retrieves a brief description of the file type.
file *: It returns a list of all the sorts of files in the directory
-i : It displays the MIME file type.
-z : It inspects compressed files.
–help : It displays the file command’s manual.
We’ll now go through each option in detail and show you how to use it.
To create a new text file named “test”, run the following command:
$ touch test.txt |
This command will create an empty text file, open the file and write some text in the file and then click on the “Save” option. Then, run the following mentioned command to check the file type of the “Test” file:
$ file test.txt |
If you only want to see the file type, type -b in the terminal with the file name:
$ file –b test.txt |
The file command can also function with many files on the system, with each file’s output appearing on its own line. To achieve this, simply run the following command in the terminal:
$ file *.txt |
MIME is a two-part system for identifying file types on the internet. Types and subtypes are the two parts of this file. To check the MIME file type, simply run the below-mentioned command in the terminal:
$ file –i test.txt |
It is worth noting that its output is quite different from the previous one .i.e. the file format was ASCII text for the previous cases but in this case, it’s text/plain; charset=us-ascii.
To accomplish the purpose of reading inside compressed files use the –z option. The -z option is used to retrieve information about compressed files’ contents and compression details. To do so, you can type the following mentioned command in the terminal:
$ file –z test.zip |
The file command in Linux assists users incorrectly identifying files. This is especially useful on UNIX-like systems because file names and extensions might range dramatically from file types. When using the file command, make sure you use the necessary arguments and supply the correct file name. Be aware that the uppercase and lowercase letters in the Linux terminal are case-sensitive.
Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications including CCNA RS, SCP, and ACE. As an IT engineer and technical author, he writes for various websites.
Microsoft Edge is now available for Ubuntu. In this guide, I’ll walk you through the…
Our latest Canonical website rebrand did not just bring the new Vanilla-based frontend, it also…
At Canonical, the work of our teams is strongly embedded in the open source principles…
Welcome to the Ubuntu Weekly Newsletter, Issue 873 for the week of December 29, 2024…
Have WiFi troubles on your Ubuntu 24.04 system? Don’t worry, you’re not alone. WiFi problems…
The following is a post from Mark Shuttleworth on the Ubuntu Discourse instance. For more…