Skip to content

Click on each book below to review & buy on Amazon.

As an Amazon Associate, I earn from qualifying purchases.

CompTIA Linux+ XK0-005 - 1.2 - File Metadata

This guide covers the stat and file commands in Linux. Stat displays detailed file or filesystem metadata, such as permissions, size, and modification times, essential for managing file properties. The guide outlines how to use stat to view these details and introduces options for customizing output and obtaining filesystem information.

The file command identifies a file's type by examining its content, distinguishing between text, binary, executable, etc. It explains how to use file to determine a file's type and presents options for outputting MIME types and simplifying output.


The stat command is used for displaying a file or filesystem's detailed metadata. It reveals a file's access permissions, type, size, modification timestamps, and more, providing a comprehensive overview of file attributes.

Displaying File Metadata

To view a file's metadata, stat requires the file path as an argument. For instance:

stat /etc/passwd


  File: /etc/passwd
  Size: 2266            Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 17535434    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:passwd_file_t:s0
Access: 2024-02-23 08:30:43.248000407 +0000
Modify: 2023-08-06 09:44:21.517288449 +0100
Change: 2023-08-06 09:44:21.518288424 +0100
 Birth: 2023-08-06 09:44:21.517288449 +0100

This showcases the file's size, type, permissions, and timestamps in detail.

Additional stat Options

Below are some additional options for the stat command:

  • Format Customization: Use the --format option with a format string to tailor the output. For example, stat --format='%n %s %y' /etc/passwd displays the file name (%n), size (%s), and modification time (%y): /etc/passwd 2266 2023-08-06 09:44:21.517288449 +0100
  • Selective Attribute Display: The --printf option, followed by a format string, extracts specific metadata attributes. For example, using stat --printf='%A %n\n' /etc/passwd prints the file's access rights (%A) and name (%n), catering to scripts or specific information needs: -rw-r--r-- /etc/passwd
  • File System Status: The -f option provides metadata about the filesystem containing the file, including its type, size, and available space. For example, stat -f /etc/passwd could give insights into the filesystem's size and free space, aiding in storage management:

      File: "/etc/passwd"
        ID: fd0000000000 Namelen: 255     Type: xfs
    Block size: 4096       Fundamental block size: 4096
    Blocks: Total: 2618880    Free: 994527     Available: 994527
    Inodes: Total: 5242880    Free: 5037146


The file command identifies a file's type by analyzing its content. It's a quick way to determine whether a file is text, binary, executable, or another format, without opening it.

Determining File Type

To identify a file's type, file needs the file path as input:

file /etc/passwd


/etc/passwd: ASCII text

This indicates the file's content type, aiding in its categorization.

Sure, here's the revised section with "for example" added to each bullet point for clarity:

Additional file Options

Below are some additional options for the file command:

  • MIME Type: The -i option outputs the file's MIME type, useful for web applications and data exchange protocols. For example, file -i /etc/passwd might return /etc/passwd: text/plain; charset=us-ascii, indicating the file's content type and encoding.
  • Brief Information: The -b option simplifies the output, providing only the file type without the filename. For example, using file -b /etc/passwd could simply return ASCII text, focusing on the essence of the file's content.


This guide introduced two commands, stat and file, essential for analyzing files on Linux systems. The stat command provides detailed metadata about a file or filesystem, such as size, permissions, and modification times. For example, running stat /etc/passwd reveals comprehensive details about the file, including its type, size, and access permissions. It also offers options to customize this output, like --format for specific format display, --printf for selecting particular attributes, and -f for filesystem information, which helps in managing storage by showing the filesystem's size and available space.

On the other hand, the file command identifies a file's type by examining its content, making it easier to categorize files without opening them. Simple usage like file /etc/passwd can tell whether a file is ASCII text, binary, or an executable file. Additional options include -i for displaying the file's MIME type, which is useful for web applications and -b for a brief output that only shows the file type.

Support DTV Linux

Click on each book below to review & buy on Amazon. As an Amazon Associate, I earn from qualifying purchases.

NordVPN ®: Elevate your online privacy and security. Grab our Special Offer to safeguard your data on public Wi-Fi and secure your devices. I may earn a commission on purchases made through this link.