
4 Simple Ways to Check File Size in Bytes on Linux
When working in a Linux environment, whether you’re a developer, system administrator, or power user, you often need to know the precise size of a file. While graphical interfaces might show you a rounded-off size in kilobytes or megabytes, many tasks—like scripting, data transfer validation, or resource management—require an exact byte count.
Fortunately, the Linux command line provides several powerful and straightforward utilities for this purpose. Here’s a breakdown of the most effective methods to get the exact file size in bytes.
1. Using wc -c
for a Direct Byte Count
Perhaps the most direct method to get a file’s size in bytes is using the wc
(word count) command with the -c
flag. While wc
is typically used for counting lines, words, and characters, the -c
option specifically instructs it to count the number of bytes.
This command is clean, simple, and perfect for when you need just the byte count and nothing else.
How to Use It:
Open your terminal and type the following command, replacing your_file.log
with your file’s name:
wc -c your_file.log
What You’ll See:
The output will be a single line containing the number of bytes followed by the filename.
4096 your_file.log
If you need only the number for use in a script, you can pipe the output to awk
to isolate the numerical value:
wc -c your_file.log | awk '{print $1}'
2. Getting Detailed File Information with stat
The stat
command is a powerful utility that displays detailed file or file system status. It provides a wealth of information, including permissions, inode number, link count, and, most importantly, the exact size in bytes.
This method is ideal for scripting and automation because you can format the output to show only the specific piece of information you need.
How to Use It:
To get just the file size in bytes, use the -c
(or --format
) flag followed by %s
.
stat -c %s your_file.log
What You’ll See:
The command will output only the numerical byte count, with no extra text or newlines, making it perfect for assigning to a variable in a shell script.
4096
3. Checking File Size with the ls
Command
The ls
command is one of the first commands Linux users learn. Its long listing format, invoked with the -l
flag, provides a detailed, multi-column view of files and directories.
While it’s a very common command, it’s essential to know where to look for the byte count.
How to Use It:
Run the ls
command with the -l
flag on your specific file.
ls -l your_file.log
What You’ll See:
The output will be a single line with several columns of information. The fifth column shows the size of the file in bytes.
-rw-r--r-- 1 user group 4096 Dec 15 10:30 your_file.log
In this example, 4096
is the file size. Be careful not to confuse this with the human-readable format (ls -lh
), which would display a rounded value like 4.0K
. For the exact byte count, always use ls -l
.
4. Understanding Disk Usage with du
Finally, the du
(disk usage) command can also report file sizes. However, it serves a slightly different purpose. The du
command reports the disk space allocated for a file, not necessarily the file’s actual size. This value can be slightly larger than the true byte count due to the way file systems allocate space in blocks.
For most use cases, wc
, stat
, or ls
are more appropriate for finding the true file size. But if your goal is to understand disk space consumption, du
is the right tool.
How to Use It:
To get the apparent size in bytes, use the -b
flag.
du -b your_file.log
What You’ll See:
The output will show the byte count followed by the filename.
4096 your_file.log
Actionable Tip: Using Byte Counts for File Integrity
A practical use for getting an exact byte count is performing a basic file integrity check. After downloading a large file, you can compare its byte count on your system with the size listed on the source website.
While this isn’t as foolproof as a cryptographic checksum (like md5sum
or sha256sum
), a matching byte count is a quick, initial confirmation that the file transfer likely completed without being truncated. If the numbers don’t match, you know the download is corrupted or incomplete.
Choosing the Right Tool for the Job
Mastering the Linux command line means knowing which tool is best for a specific task.
- For the quickest, most direct byte count, use
wc -c
. - For scripting or pulling the size into a variable,
stat -c %s
is the cleanest option. - For a familiar, detailed overview,
ls -l
works perfectly. - For analyzing disk space allocation, turn to
du -b
.
By adding these commands to your toolkit, you can manage and inspect files with greater precision and control.
Source: https://kifarunix.com/how-to-get-byte-count-in-a-file-in-linux/