Linux is the backbone of modern computing, powering everything from smartphones to supercomputers. Over the years, the Linux kernel has grown significantly in size and complexity. As of January, 2025, the Linux Kernel Source has approximately 40 Million lines of code! This is one of the greatest achievements in the history of open-source, community-driven projects.
In this article, we will discuss about the exponential increase in the number of lines in the Linux kernel source code, why it happens, and how you can check the current line count yourself.
Table of Contents
How the Linux Kernel has Grown Over Time
Since Linus Torvalds released the first version of Linux in 1991 with just 10,000 lines of code, the kernel has expanded dramatically. Today (January 27, 2025), the kernel has over 40 million lines of source code. This exponential growth is driven by:
- Hardware support – Linux runs on numerous architectures, including x86, ARM, RISC-V, and PowerPC.
- New features – Each release introduces enhancements like improved security, better performance, and new filesystems.
- More contributors – Thousands of developers worldwide contribute to the kernel regularly.
- Driver additions – The largest portion of the kernel consists of drivers for various devices.
Counting the Lines in the Linux Kernel Source Code
If you want to verify the number of lines in the Linux kernel source code yourself, follow these steps.
1. Clone the Linux Kernel Source Code
First, clone the official Linux repository using Git:
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
This downloads the latest Linux kernel source code to your system.
2. Navigate to the Linux Directory
cd linux/
3. Count the Total Number of Lines
Use the following command to extract and count all lines in the repository:
git archive origin/master | tar -x --to-stdout | wc -l
This command:
- Archives the latest kernel source files.
- Extracts them directly to standard output (
stdout
) instead of writing to disk. - Counts the number of lines using
wc -l
.
Example Output (as of January 27, 2025):
40076058
This means the Linux kernel now has approximately 40 million lines of code. Please note that this includes blank lines and comments. It is the OVERALL count, not the EXACT number.
If you want to track the growth of the Linux kernel over time, run the above commands periodically and compare results to see how fast the codebase is expanding!
4. Count Only C and Header Files
If you want to count only .c
and .h
files, go to the cloned directory and run:
find . -type f \( -name "*.c" -o -name "*.h" \) -print0 | xargs -0 cat | wc -l
This filters only C source and header files before counting the lines.
The Exponential Trend in Kernel Growth
Each year, the Linux kernel grows by hundreds of thousands of lines. The number of lines has increased exponentially, with each major release adding more features and device support. For example:
- 2001: ~2.4 million lines
- 2010: ~13.4 million lines
- 2020: ~27.8 million lines
- 2025: ~40 million lines
Based on this trend, the Linux kernel is projected to reach 50 million lines around mid-to-late 2025. This rapid growth is fueled by increasing hardware support, security enhancements, and feature additions across various domains.
This trend will likely continue as Linux expands into new technologies like artificial intelligence, edge computing, and automotive systems.
Verify the Historical Linux Kernel Line Counts
To verify the historical Linux kernel line counts for specific years, you can check out the older versions of the kernel source code and count the lines using Git.
Step 1: Clone the Linux Kernel Repository
If you haven’t already cloned the Linux kernel repository, do it first:
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git cd linux/
Step 2: Checkout a Specific Kernel Version
To count the lines from a particular year, checkout the corresponding release tag. For example:
git checkout v2.6.11
Step 3: Count the Total Lines
Use the following command to count all lines in the checked-out kernel version:
git archive HEAD | tar -x --to-stdout | wc -l
Step 4: Return to the Latest Version
After verification, you can return to the latest version with:
git checkout master git pull
These steps will allow you to independently confirm the historical kernel line counts.
Conclusion
The Linux kernel’s exponential growth shows its evolution into one of the most powerful and adaptable operating systems. With over 40 million lines of code, Linux Kernel remains a massive, community-driven project. You can verify this growth using simple Linux commands, as shown in this guide.
Resources:
- https://www.heise.de/news/Linux-durchbricht-40-Millionen-Zeilen-Marke-10255488.html
- https://www.tomshardware.com/software/linux/linux-kernel-source-expands-beyond-40-million-lines-it-has-doubled-in-size-in-a-decade
- https://www.tomshardware.com/news/Linux-Linus-Torvalds-kernel-too-complex-code,14495.html
- https://www.phoronix.com/news/Linux-19.5M-Stats
- https://github.com/satoru-takeuchi/linux-kernel-statistics
- https://en.wikipedia.org/wiki/Linux_kernel
- https://www.operating-system.org/betriebssystem/_english/bs-linux.htm