If you like using Linux tools, Termux is a powerful app for Android. It turns your phone into a Linux terminal. You can run hundreds of Linux commands right on your device.

Termux is flexible. You can run servers, automate tasks, and more. You don’t need root access to use it. If you’re new, this guide will help you get started with five quick projects.
Each project takes less than 30 minutes. They teach you useful commands and give you something to show. You don’t have to be an expert just follow the steps.
Prerequisites
Before you jump into the projects, let’s make sure your Termux setup is ready. These are simple steps, but they’ll save you time and errors later.
1. Install Termux
First, download Termux from the official source:
- Termux.en (Recommended): https://termux.en.download.it/android
- Google Play (May be outdated): Only use if you can't access Termux.en.
2. Update Termux Packages
After installing Termux, open it and run the following commands to update everything:
pkg update && pkg upgrade
3. Enable Storage Access
To allow Termux to read and write files from your internal storage (like Downloads or Music), run:
termux-setup-storage
After you run this, you’ll see a pop-up asking for storage permission. Accept it. This will create a new folder at /data/data/com.termux/files/home/storage
with symlinks to your device storage.
4. Install Basic Packages
These are common packages used across most Termux projects:
pkg install curl wget git nano
You might install more tools as we go, but these are a good start.
5. Basic Linux Knowledge
You don’t need to be a pro, but it helps to know a few basic commands like cd
, ls
, cp
, mv
, and how to run a shell script. If you don’t, don’t worry I’ll explain what each command does as we go.
Related Post: Things to Do After Installing Termux
With everything set up, you're ready to start the first project. Let’s get into it.
Project #1: Check the Weather in Your Terminal
Let’s start with something simple but useful checking the weather right from Termux using just a single command. This is a great way to get familiar with curl
and APIs without building a full app.
What You'll Need
- Internet connection
curl
(should already be installed if you followed the prerequisites)
Method 1: Use wttr.in (No API Key Needed)
This is the easiest method. Just run:
curl wttr.in
You’ll see a beautiful ASCII-based weather report for your current location. It shows the current temperature, wind, and forecast.
Customize the Output
To get weather for a specific location, just add it to the URL:
curl wttr.in/lilongwe
You can also shorten the output:
curl wttr.in/lilongwe?format=3
Example output: Lilongwe: 🌦 +18°C
Method 2: Use OpenWeatherMap API (Advanced)
If you want more control or to build your own weather script, you can use the OpenWeatherMap API. Here's how:
Step 1: Get Your API Key
Go to https://openweathermap.org/api and sign up for a free account. You’ll receive an API key via email.
Step 2: Run This Command
curl "https://api.openweathermap.org/data/2.5/weather?q=lilongwe&appid=YOUR_API_KEY&units=metric"
Replace YOUR_API_KEY
with your actual API key. You’ll get a JSON output with all the weather details.
Step 3: Format It with jq (Optional)
If the output is messy, install jq
to clean it up:
pkg install jq
Now you can extract just the temperature and description:
curl -s "https://api.openweathermap.org/data/2.5/weather?q=lilongwe&appid=YOUR_API_KEY&units=metric" | jq '.main.temp, .weather[0].description'
Why This Is Useful
- You can check the weather faster than opening a browser
- Works even on low-end devices
- Great intro to using
curl
and working with APIs
Now that you know how to fetch live weather data, let’s move on to the next project building a portable port scanner using Termux!
Project #2: Portable Port Scanner
Need to check which ports are open on a device or website? With Termux, you can turn your phone into a powerful port scanner using a tool called nmap
. This is great for testing your own network security or learning about how devices communicate over the internet.
What You'll Need
- Internet or local network access
nmap
installed in Termux
Step 1: Install Nmap
Open Termux and run:
pkg install nmap
This will install the latest version of Nmap on your Android device.
Step 2: Run a Basic Scan
To scan a website or IP address for open ports, use:
nmap example.com
You can also scan a device on your local network (e.g., your router):
nmap 192.168.1.1
Step 3: Quick Scan with Fewer Ports
If you’re short on time, use the fast scan option:
nmap -F example.com
This scans the most common 100 ports instead of all 65,535.
Step 4: Use Verbose and Service Detection
Get more detailed output, like service versions:
nmap -sV -v example.com
This tells you not just that a port is open, but what kind of service is running on it (e.g., Apache, OpenSSH).
Step 5: Scan a Range of IPs
To scan multiple devices on your network:
nmap 192.168.1.1-254
This checks every IP address between 192.168.1.1 and 192.168.1.254 for open ports.
Why This Is Useful
- Helps identify open ports that could be vulnerable
- Great for ethical hacking practice or learning about networking
- Doesn’t require root access
Note: Only scan devices you own or have permission to test. Unauthorized scanning can be illegal.
That’s it! You’ve just turned your Android phone into a pocket-sized port scanner. Next, we’ll try something even more fun downloading YouTube audio directly from Termux.
Project #3: YouTube‑to‑MP3 Downloader
Want to save audio from your favorite YouTube videos directly to your phone? With Termux, you can do this in just a few commands using yt-dlp
a modern fork of youtube-dl
that works great in Termux.
What You'll Need
- Stable internet connection
- Latest version of
yt-dlp
ffmpeg
(used to convert video to audio)
Step 1: Install yt-dlp and ffmpeg
First, install both tools:
pkg install ffmpeg
pkg install python
pip install yt-dlp
yt-dlp
is installed using Python’s pip package manager.
Step 2: Download YouTube Video as MP3
Once installed, run the command below. Replace the URL with the YouTube video you want to convert:
yt-dlp -x --audio-format mp3 https://www.youtube.com/watch?v=VIDEO_ID
This command tells yt-dlp to:
-x
→ extract audio--audio-format mp3
→ convert it to MP3 using ffmpeg
Step 3: Find Your MP3 File
The audio file will be saved in your current directory. To easily access it from your phone’s file manager, move it to shared storage like this:
mv filename.mp3 /sdcard/Music/
Or if Termux storage access is already set up:
mv filename.mp3 ~/storage/music/
Bonus: Download Entire Playlist
To download all audio from a playlist, just pass the playlist URL:
yt-dlp -x --audio-format mp3 https://www.youtube.com/playlist?list=YOUR_PLAYLIST_ID
Why This Is Useful
- Save lectures, podcasts, or songs offline
- No third-party apps or ads
- Works fast and gives you full control over format and quality
Nice work! You’ve just turned Termux into a powerful media grabber. Let’s keep going up next, we’ll add a fun touch with a Matrix-style terminal animation.
Project #4: Live Matrix‑Style Terminal Animation
If you’ve ever wanted to recreate the “hacker screen” look from the Matrix movies, Termux has you covered. This fun little project uses a package called cmatrix
to create a live green text rain effect in your terminal. It’s purely visual, but a great way to impress your friends or use as a screensaver.
What You'll Need
- Termux with internet access
- The
cmatrix
package
Step 1: Install cmatrix
Run the following command in Termux:
pkg install cmatrix
This will download and install the animation tool.
Step 2: Run the Matrix Effect
Just type:
cmatrix
You’ll see the iconic falling green characters instantly appear. To stop the animation, press Ctrl + C
.
Step 3: Customize It
Slow it down:
cmatrix -s
Bold characters:
cmatrix -B
Red text instead of green:
cmatrix -C red
You can combine options too:
cmatrix -sB -C blue
Bonus: Set It as a Screensaver
You can create a shortcut or script to quickly run cmatrix. Example script:
echo "cmatrix -sB -C green" > ~/matrix.sh
chmod +x ~/matrix.sh
Now you can run ./matrix.sh
anytime for a quick visual break.
Why This Is Fun
- No coding needed instant results
- Great way to learn about terminal commands
- Perfect for customizing your Termux look
Cool, right? Let’s move on to the final project creating a basic command-line to-do list that runs inside Termux.
Project #5: Simple To‑Do List CLI App
Let’s finish this list with a small but useful project, building a to‑do list you can manage directly from Termux. You’ll learn how to write a simple shell script and interact with text files. This is perfect for tracking tasks, reminders, or project notes on the go.
What You'll Need
- Basic knowledge of shell commands
nano
or any text editor
Step 1: Create a Script File
Open Termux and create a new file:
nano todo.sh
Paste the following code:
#!/data/data/com.termux/files/usr/bin/bash
TODO_FILE="$HOME/todo.txt"
function show_menu() {
echo "1. View To-Do List"
echo "2. Add Task"
echo "3. Remove Task"
echo "4. Exit"
}
function view_list() {
if [ -f "$TODO_FILE" ]; then
nl "$TODO_FILE"
else
echo "No to-do list found."
fi
}
function add_task() {
echo -n "Enter task: "
read task
echo "$task" >> "$TODO_FILE"
echo "Task added."
}
function remove_task() {
view_list
echo -n "Enter task number to remove: "
read num
sed -i "${num}d" "$TODO_FILE"
echo "Task removed."
}
while true; do
echo
show_menu
echo -n "Choose an option: "
read choice
case $choice in
1) view_list ;;
2) add_task ;;
3) remove_task ;;
4) exit ;;
*) echo "Invalid option." ;;
esac
done
Step 2: Make It Executable
Save and exit (press Ctrl + X
, then Y
, then Enter
), then run:
chmod +x todo.sh
Step 3: Run Your App
Start the to‑do list with:
./todo.sh
You’ll get a simple menu in the terminal to add, view, or remove tasks all stored in a plain text file.
Bonus Tip: Add an Alias
To make it easier to run anytime, add an alias to your Termux shell config:
echo 'alias todo="$HOME/todo.sh"' >> ~/.bashrc
source ~/.bashrc
Now just type todo
in Termux to open your to‑do list.
Why This Is Useful
- Practice scripting with real results
- No internet or app needed, pure CLI
- Customizable and lightweight
That’s the final project! You’ve now completed 5 hands-on Termux mini projects that are both fun and functional.
Customization Tips
Now that you’ve completed five Termux projects, let’s take it a step further. You can improve your experience by customizing Termux to make it faster, cleaner, and more personal. Here are a few easy ways to do it:
1. Add Aliases for Shortcuts
Aliases save you time by shortening long commands. Add them to your .bashrc
file:
echo 'alias ports="nmap -F"' >> ~/.bashrc
echo 'alias weather="curl wttr.in/lilongwe?format=3"' >> ~/.bashrc
source ~/.bashrc
Now just type ports
or weather
and get instant results.
2. Customize the Extra Keys
To add function keys, arrows, or shortcuts to your Termux keyboard, edit this file:
nano ~/.termux/termux.properties
Example layout:
extra-keys = [['ESC','TAB','CTRL','ALT','LEFT','RIGHT','UP','DOWN']]
After editing, run:
termux-reload-settings
3. Make Your Terminal Look Cooler
- Install
figlet
for banners:pkg install figlet
- Try
neofetch
to display system info:pkg install neofetch
- Edit your
~/.bashrc
to auto-show them when you launch Termux
echo "figlet Welcome" >> ~/.bashrc
echo "neofetch" >> ~/.bashrc
Every time you open Termux, you’ll see a custom welcome screen.
Conclusion
Termux isn’t just a Linux terminal it’s a full toolbox right in your pocket. In this post, you built five real-world mini projects that taught you how to:
- Check the weather from your terminal
- Scan open ports like a pro
- Download YouTube audio straight to your phone
- Create a Matrix-style animation just for fun
- Build a simple to-do list app using shell scripting
All of this was done in under 30 minutes per project no root required, no extra app clutter.
These small wins are just the beginning. With Termux, you can go further: host servers, automate tasks, run Python apps, build security tools, and more. If you're enjoying these kinds of tutorials, check out more hands-on guides on my blog.
And if you found this useful, share it with others who want to learn Linux or ethical hacking from their phone.
Note: Some of the steps above might be tricky if you're just getting started with Termux. If you get stuck or need help, feel free to leave a comment I’m here to help!