Linux Terminal Calculator
Type an arithmetic expression, choose your preferred terminal tool, and get both the answer and the exact command to run in Linux.
Why use a calculator in the Linux terminal?
If you spend a lot of time in a shell, switching to a GUI calculator breaks your flow. Terminal math tools let you calculate immediately in the same place where you already run commands, edit files, and automate scripts. This is especially useful for developers, system administrators, engineers, and students who live on the command line.
A good terminal calculator workflow gives you three things:
- Speed: quick one-liners for everyday arithmetic.
- Precision: control over decimal places and large numbers.
- Automation: reuse calculations inside bash scripts and pipelines.
Top options for calculator in linux terminal
1) bc — the classic choice
bc is one of the most popular terminal calculators because it supports arbitrary precision arithmetic. You can pipe expressions into it and control decimal places with scale.
echo "scale=4; 10/3" | bc -l
# 3.3333
Use this when you need reliable decimal math and scripting-friendly output.
2) awk — surprisingly useful
If you already use awk for text processing, you can do quick arithmetic without changing tools:
awk 'BEGIN { print (12.5*3-4)/2 }'
Great for inline calculations while processing logs, CSV files, or command outputs.
3) python3 — flexible and powerful
For advanced expressions, scientific calculations, or custom logic, Python is excellent:
python3 -c "print((12.5*3-4)/2)"
You can also import modules like math when needed.
4) expr — minimal integer math
expr handles simple integer operations and is available almost everywhere:
expr 7 \* 8
# 56
It is limited (no floating-point arithmetic), but handy for tiny shell scripts.
Practical examples you can reuse
Percent and discount math
echo "scale=2; 89.99 * 0.15" | bc -l # 15% tip
echo "scale=2; 250 - (250 * 0.2)" | bc -l
Storage and unit conversion
echo "scale=2; 15360/1024" | bc -l # MB to GB
awk 'BEGIN { print 5 * 1024 * 1024 }' # MB to bytes
Script variable calculation
files=37
per_batch=8
batches=$(echo "($files + $per_batch - 1)/$per_batch" | bc)
echo "$batches"
Common mistakes (and how to avoid them)
- Forgetting escapes in
expr: use\*instead of*. - Expecting decimals from
expr: it is integer-focused. - Not setting
scaleinbc: division may return truncated values. - Mixing exponent syntax: many users type
^; some tools use different notation.
Build a faster workflow with aliases
If you calculate often, add shell shortcuts in your ~/.bashrc or ~/.zshrc:
alias calc='bc -l'
# usage:
echo "scale=5; 22/7" | calc
Or define a simple function:
c() {
echo "scale=6; $*" | bc -l
}
# usage: c 12.5/3
When to choose which tool
- Use
bcfor most day-to-day terminal math and precision control. - Use
awkwhen already inside text-processing pipelines. - Use
python3for complex expressions, scientific functions, and script extensibility. - Use
expronly for simple integer-only shell logic.
Final thoughts
Mastering a calculator in Linux terminal is a small skill with huge payoff. It speeds up daily tasks, keeps you focused, and integrates naturally into scripts and automation. Use the calculator tool above to test expressions quickly, then copy the generated command directly into your terminal.