Hello and welcome to this post. Today, you will learn about the file command in Linux. This basic command allows you to perform some operations on files.
What does the file command do in Linux
file is a command of the Unix family of operating systems, which allows detecting the type and format of a file (Wikipedia). Being a basic command for file analysis, it is possible to have it in all Linux distributions.
Being a bit more technical, the file command performs a series of tests to determine the type and format of a file. This is its main utility.
You may wonder if this command is useful, and the truth is that if you work a lot in the terminal, you will notice that files do not always have their extension. So many sysadmins keep it in mind for various operations.
So let’s go for it. Let’s explain the use of the command by examples.
Using the file command in Linux
The file command requires a file as the main parameter. Therefore, we need a file.
To use the
file command, you just have to call it together with a file.
If the file is empty, you will get a screen output similar to this one
In case the file already has text in it, the output will look like this
example: ASCII text
If you want the file name not to be displayed in the output, then you have to add the
file -b example
If we are going to use the
file command, it is because the file has no extension. In this case, you should use the
file --mime-type /etc/apt/sources.list
If you work a lot with text files, then the
--mime-encoding option will be very useful because with it, you can find out the character encoding.
file --mime-encoding [file]
Now, usually you work a lot with compressed files, if they are not password protected, you can have
--file scan inside.
file -z example.zip
file command leaves traces on the access date of the file. If you want to prevent this, then use the
file -p example
Remember, as with many commands in Linux, you can mix several options to get more accurate results.
If you want to parse many files at once, you can add them all into one file and have
file read them from there.
Next, set some files and their paths.
/etc/fstab /etc/hosts /home/user/hello.txt
Now to scan these three files at once, you can run
file -f files.txt
file command will read each of the files in this text file. Ideal if there are many files to scan.
Finally, we can parse many files at once by using wildcards. For example, to scan all files in a directory.
Or only text files:
Or files starting with a range of letters. Example
Finally, if you want to know more about this command, I recommend you to take a look at the command’s help.
This command allows you to analyze various files to find out what their extension is. This makes it an important tool for many people who work a lot in the terminal.