Termux Apps List

CATEGORY: Termux
STYLE: Checklist/List
AUTHOR: Elton Boehnen
GENERATED: 2025-12-12
- [ ] Chapter 1: Getting Started with Termux Essentials
  • [ ] Chapter 1: Getting Started with Termux Essentials


  • * Installation & Initial Setup * - [ ] Source: Download Termux from F-Droid or GitHub for the most up-to-date version. (Google Play Store version is deprecated). * - [ ] First Launch: Grant necessary storage permissions when prompted. * - [ ] Update Core Packages: Execute `pkg update && pkg upgrade` immediately after installation to refresh package lists and upgrade existing packages. * - [ ] Install Essential Utilities: Run `pkg install git openssh nano htop wget curl` for fundamental tools.

    * Basic Command-Line Navigation * - [ ] `pwd`: Print the current working directory. * - [ ] `ls` / `ls -l` / `ls -a`: List directory contents (long format, all files including hidden). * - [ ] `cd `: Change the current directory. * - [ ] `mkdir `: Create a new directory. * - [ ] `touch `: Create an empty file. * - [ ] `cp `: Copy files or directories. * - [ ] `mv `: Move or rename files/directories. * - [ ] `rm `: Remove a file. * - [ ] `rm -r `: Recursively remove a directory and its contents.

    * Termux Package Management (`pkg`) * - [ ] `pkg update`: Synchronize package lists from repositories. * - [ ] `pkg upgrade`: Upgrade all installed packages to their latest versions. * - [ ] `pkg install `: Install a specified package. * - [ ] `pkg uninstall `: Remove a specified package. * - [ ] `pkg search `: Search for packages containing the keyword. * - [ ] `pkg list-installed`: Display a list of all currently installed packages.

    * Key Termux Features & Integrations * - [ ] Extra Keys Bar: Swipe from the left edge of the screen to reveal the Termux menu. Tap "KEYBOARD" to toggle the extra keys bar (Ctrl, Alt, Esc, Tab, arrow keys, etc.). * - [ ] Accessing Android Storage: * - [ ] Run `termux-setup-storage` to request storage permissions and create symlinks. * - [ ] Access internal storage via `~/storage/shared` or `/sdcard`. * - [ ] Access specific directories like `~/storage/downloads`, `~/storage/dcim`, etc. * - [ ] Multiple Sessions: Swipe from the left edge and tap "NEW SESSION" to open another terminal instance. * - [ ] Background Processes: Termux allows processes to run in the background, though Android's battery optimizations may eventually kill them. * - [ ] Termux API: Install `pkg install termux-api` to interact with Android device features (e.g., `termux-toast`, `termux-battery-status`, `termux-camera-photo`).

    * Troubleshooting & Best Practices * - [ ] Outdated Termux: If experiencing issues, verify Termux was installed from F-Droid or GitHub, not an old Google Play Store version. * - [ ] Permission Denied: Re-run `termux-setup-storage` if you encounter issues accessing Android's file system. * - [ ] Broken Packages: Often resolved by `pkg update && pkg upgrade`. If persistent, try `pkg install --reinstall `. * - [ ] Internet Connectivity: Ensure a stable internet connection for all `pkg` commands. * - [ ] Backup Your Data: Regularly back up your Termux home directory (`$HOME`) using `tar -czvf termux_backup_$(date +%Y%m%d).tar.gz $HOME` to prevent data loss.
    - [ ] Chapter 2: Core Linux Utilities and Package Management
  • [ ] Chapter 2: Core Linux Utilities and Package Management


  • [ ] I. Essential Termux Environment Setup
  • - [ ] `pkg update`: Refresh package lists from repositories. - [ ] `pkg upgrade`: Upgrade all installed packages to their latest versions. - [ ] `termux-setup-storage`: Grant Termux access to shared storage (e.g., internal storage, SD card). - [ ] Creates `~/storage` directory with symlinks to common storage locations.

  • [ ] II. Core Linux Utilities (Command Reference)
  • - [ ] File System Navigation & Information - [ ] `pwd`: Print Working Directory (show current directory path). - [ ] `ls` [options] [path]: List directory contents. - [ ] `ls -l`: Long format (permissions, owner, size, date). - [ ] `ls -a`: Show all files, including hidden ones (starting with `.`). - [ ] `ls -lh`: Long format with human-readable sizes. - [ ] `cd` [directory]: Change Directory. - [ ] `cd ..`: Move up one directory. - [ ] `cd ~`: Go to home directory. - [ ] `cd -`: Go to previous directory. - [ ] `mkdir` [directory_name]: Make Directory. - [ ] `rmdir` [directory_name]: Remove empty Directory. - [ ] `df -h`: Display Free disk space (human-readable). - [ ] `du -sh` [path]: Display Disk Usage (summarized, human-readable). - [ ] File Operations - [ ] `cp` [source] [destination]: Copy files or directories. - [ ] `cp -r`: Copy directories recursively. - [ ] `mv` [source] [destination]: Move or rename files/directories. - [ ] `rm` [file/directory]: Remove files or directories. - [ ] `rm -r`: Remove directories recursively. - [ ] `rm -f`: Force removal (no prompt). - [ ] `rm -rf`: Force recursive removal (use with extreme caution). - [ ] `touch` [file_name]: Create an empty file or update timestamp. - [ ] File Content Viewing & Editing - [ ] `cat` [file_name]: Concatenate and display file content. - [ ] `less` [file_name]: View file content page by page (scrollable). - [ ] `head` [file_name]: Display the beginning of a file (default 10 lines). - [ ] `tail` [file_name]: Display the end of a file (default 10 lines). - [ ] `tail -f`: Follow (monitor) file for new content. - [ ] `nano` [file_name]: Simple text editor (install with `pkg install nano`). - [ ] `vi` / `vim` [file_name]: Powerful text editor (install with `pkg install vim`). - [ ] Searching & Filtering - [ ] `grep` [pattern] [file(s)]: Search for patterns in files. - [ ] `grep -i`: Case-insensitive search. - [ ] `grep -r`: Recursive search in directories. - [ ] `grep -n`: Show line numbers. - [ ] `find` [path] [expression]: Find files and directories. - [ ] `find . -name "*.txt"`: Find all `.txt` files in current directory and subdirectories. - [ ] System Information & Processes - [ ] `whoami`: Display current user name. - [ ] `date`: Display current date and time. - [ ] `ps aux`: Display running processes. - [ ] `top`: Real-time process monitoring. - [ ] `htop`: Enhanced interactive process viewer (install with `pkg install htop`). - [ ] `kill` [PID]: Terminate a process by its Process ID. - [ ] `killall` [process_name]: Terminate all processes with a given name. - [ ] Help & Manuals - [ ] `man` [command]: Display the manual page for a command. - [ ] `command --help`: Display brief help message for a command.

  • [ ] III. Termux Package Management (`pkg` / `apt`)
  • - [ ] Core Package Management Commands - [ ] `pkg update`: Synchronize package index files from their sources. - [ ] `pkg upgrade`: Install the newest versions of all currently installed packages. - [ ] `pkg install `: Install new packages. - [ ] Example: `pkg install python` - [ ] Install multiple: `pkg install git openssh` - [ ] `pkg uninstall `: Remove installed packages. - [ ] `pkg search `: Search for packages by name or description. - [ ] `pkg list-installed`: List all currently installed packages. - [ ] `pkg show `: Display detailed information about a package. - [ ] `pkg autoclean`: Clear out the local repository of retrieved package files. - [ ] `pkg autoremove`: Remove packages that were automatically installed to satisfy dependencies for other packages and are no longer needed. - [ ] Advanced Package Management (via `apt` directly) - [ ] `apt update`: Same as `pkg update`. - [ ] `apt upgrade`: Same as `pkg upgrade`. - [ ] `apt install `: Same as `pkg install`. - [ ] `apt remove `: Same as `pkg uninstall`. - [ ] `apt purge `: Remove package and its configuration files. - [ ] `apt list --upgradable`: List packages that can be upgraded. - [ ] `apt policy `: Show package installation candidates and versions. - [ ] Key Considerations - [ ] Always run `pkg update && pkg upgrade` regularly to keep your system up-to-date. - [ ] `pkg` is a Termux-specific wrapper for `apt` and is generally recommended for simplicity. - [ ] Ensure a stable internet connection for package operations. - [ ] Read prompts carefully during upgrades, especially when asked about configuration file changes.
    - [ ] Chapter 3: Programming Languages and Development Environments
  • [ ] Chapter 3: Programming Languages and Development Environments


  • [ ] Core Programming Languages & Runtimes
  • - [ ] Python: - [ ] Installation: `pkg install python` - [ ] Usage: `python your_script.py` - [ ] Package Manager: `pip` (installed with Python) - [ ] Node.js: - [ ] Installation: `pkg install nodejs` - [ ] Usage: `node your_script.js` - [ ] Package Manager: `npm` (installed with Node.js) - [ ] Ruby: - [ ] Installation: `pkg install ruby` - [ ] Usage: `ruby your_script.rb` - [ ] Package Manager: `gem` (installed with Ruby) - [ ] PHP: - [ ] Installation: `pkg install php` - [ ] Usage: `php your_script.php` - [ ] Web Server: `php -S localhost:8080` - [ ] Perl: - [ ] Installation: `pkg install perl` - [ ] Usage: `perl your_script.pl` - [ ] Go (Golang): - [ ] Installation: `pkg install golang` - [ ] Usage: `go run your_script.go` - [ ] Build: `go build your_script.go` - [ ] Rust: - [ ] Installation: `pkg install rust` (Note: Can be resource-intensive) - [ ] Usage: `rustc your_script.rs` - [ ] Package Manager: `cargo` (installed with Rust) - [ ] C/C++: - [ ] Installation: `pkg install clang make` - [ ] Compiler: `clang your_program.c -o your_program` - [ ] Build System: `make` - [ ] Java: - [ ] Installation: `pkg install openjdk-17` (or latest available `openjdk` version) - [ ] Compiler: `javac YourProgram.java` - [ ] Runtime: `java YourProgram` - [ ] Bash/Shell Scripting: - [ ] Built-in: No installation needed. - [ ] Usage: `bash your_script.sh` or `./your_script.sh` (after `chmod +x`)

  • [ ] Text Editors & IDE-like Environments
  • - [ ] Nano: - [ ] Installation: `pkg install nano` - [ ] Simple, user-friendly text editor. - [ ] Vim: - [ ] Installation: `pkg install vim` - [ ] Powerful, highly configurable modal editor. - [ ] Neovim: - [ ] Installation: `pkg install neovim` - [ ] Modern Vim fork with enhanced features and plugin support. - [ ] Emacs: - [ ] Installation: `pkg install emacs` - [ ] Extensible, self-documenting real-time display editor. - [ ] Micro: - [ ] Installation: `pkg install micro` - [ ] Modern, intuitive terminal-based text editor with mouse support. - [ ] Code-server (VS Code in Browser): - [ ] Advanced setup: Requires manual installation and configuration. - [ ] Provides a full VS Code experience accessible via web browser.

  • [ ] Development Tools & Utilities
  • - [ ] Git: - [ ] Installation: `pkg install git` - [ ] Version control system for tracking code changes. - [ ] Make: - [ ] Installation: `pkg install make` - [ ] Utility for controlling the generation of executables and other non-source files. - [ ] GDB (GNU Debugger): - [ ] Installation: `pkg install gdb` - [ ] Debugger for C/C++ and other languages. - [ ] Curl & Wget: - [ ] Installation: `pkg install curl wget` - [ ] Command-line tools for making network requests. - [ ] OpenSSH: - [ ] Installation: `pkg install openssh` - [ ] Secure Shell for remote access and file transfer. - [ ] Enables remote development by SSHing into Termux from a desktop. - [ ] Termux-API: - [ ] Installation: `pkg install termux-api` - [ ] Access Android device features (e.g., camera, GPS, battery info) from scripts.

  • [ ] Key Development Concepts in Termux
  • - [ ] Package Management: - [ ] `pkg update`: Update package lists. - [ ] `pkg upgrade`: Upgrade installed packages. - [ ] `pkg install `: Install new packages. - [ ] File System Structure: - [ ] Termux operates in an isolated Linux environment. - [ ] `$HOME` (`/data/data/com.termux/files/home`) is your primary working directory. - [ ] `termux-setup-storage`: Grants Termux access to shared Android storage (e.g., `~/storage/shared`). - [ ] Permissions: - [ ] Grant storage, microphone, camera, etc., permissions via Android settings for Termux. - [ ] Environment Variables: - [ ] Configure `PATH`, `LD_LIBRARY_PATH`, etc., in `~/.bashrc` or `~/.zshrc`. - [ ] Performance Considerations: - [ ] Mobile device resources (CPU, RAM, battery) are limited. - [ ] Avoid running heavy compilation or long-running processes unnecessarily. - [ ] Community & Resources: - [ ] Termux Wiki: Comprehensive documentation. - [ ] GitHub: Source code, issue tracking, community projects.
    - [ ] Chapter 4: Networking and Connectivity Tools
  • [ ] Chapter 4: Networking and Connectivity Tools


  • [ ] openssh
  • - Description: Secure Shell (SSH) client and server. Essential for secure remote access, file transfer (scp, sftp), and tunneling. - Installation: `pkg install openssh` - Key Use Cases: Connecting to remote servers, hosting an SSH server on your Android device, secure file transfers.

  • [ ] nmap
  • - Description: Powerful network scanner and security auditing tool. Used for host discovery, port scanning, OS detection, and vulnerability scanning. - Installation: `pkg install nmap` - Key Use Cases: Discovering devices on a network, identifying open ports, mapping network topology.

  • [ ] wget
  • - Description: Non-interactive network downloader. Supports HTTP, HTTPS, and FTP protocols. Can resume interrupted downloads. - Installation: `pkg install wget` - Key Use Cases: Downloading files from the internet, mirroring websites.

  • [ ] curl
  • - Description: Command-line tool for transferring data with URL syntax. Supports a wide range of protocols (HTTP, HTTPS, FTP, SFTP, etc.). - Installation: `pkg install curl` - Key Use Cases: Making HTTP requests, testing APIs, downloading files, uploading data.

  • [ ] net-tools
  • - Description: Collection of programs for controlling the network subsystem. Provides tools like `ifconfig` (interface configuration), `netstat` (network statistics), and `route` (routing table). - Installation: `pkg install net-tools` - Key Use Cases: Checking network interface status, viewing active connections, managing routing tables.

  • [ ] iputils
  • - Description: Collection of utilities for network diagnostics. Includes `ping` (send ICMP ECHO_REQUEST packets) and `traceroute` (print the route packets take to network host). - Installation: `pkg install iputils` - Key Use Cases: Testing network connectivity, diagnosing network latency issues, mapping network paths.

  • [ ] dnsutils
  • - Description: Utilities for querying DNS name servers. Includes `dig` (Domain Information Groper) and `nslookup`. - Installation: `pkg install dnsutils` - Key Use Cases: Troubleshooting DNS resolution, querying domain records.

  • [ ] rsync
  • - Description: Fast, versatile, remote (and local) file-copying tool. Efficiently synchronizes files and directories, minimizing data transfer. - Installation: `pkg install rsync` - Key Use Cases: Backing up files, synchronizing directories across networks or locally.

  • [ ] aria2
  • - Description: Lightweight multi-protocol & multi-source command-line download utility. Supports HTTP/HTTPS, FTP, SFTP, BitTorrent, and Metalink. - Installation: `pkg install aria2` - Key Use Cases: Accelerating downloads, managing BitTorrent downloads.

  • [ ] wireshark-cli (provides `tshark`)
  • - Description: Command-line network protocol analyzer. `tshark` allows capturing and decoding network packet data. - Installation: `pkg install wireshark-cli` - Key Use Cases: Network traffic analysis, debugging network issues, security auditing.

  • [ ] iperf3
  • - Description: Tool for active measurements of the maximum achievable bandwidth on IP networks. - Installation: `pkg install iperf3` - Key Use Cases: Benchmarking network performance, testing network throughput.

  • [ ] whois
  • - Description: Client for the WHOIS directory service. Used to query databases that store registration information for Internet resources (domain names, IP addresses). - Installation: `pkg install whois` - Key Use Cases: Obtaining domain registration information, identifying IP address owners.
    - [ ] Chapter 5: Security and Penetration Testing Applications
  • [ ] Chapter 5: Security and Penetration Testing Applications


  • [ ] Nmap (Network Mapper)
  • - Description: A powerful open-source utility for network discovery and security auditing. It can discover hosts and services on a computer network by sending packets and analyzing their responses. - Installation: `pkg install nmap`

  • [ ] Metasploit Framework
  • - Description: A penetration testing framework that provides a comprehensive set of tools for vulnerability assessment, exploit development, and post-exploitation. - Installation: - `pkg install unstable-repo` - `pkg install metasploit` - Note: Metasploit installation can be resource-intensive and may take a significant amount of time and storage.

  • [ ] SQLMap
  • - Description: An open-source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over database servers. - Installation: `pkg install sqlmap`

  • [ ] Tshark (Wireshark CLI)
  • - Description: The command-line network protocol analyzer that comes with Wireshark. It allows you to capture and analyze network traffic directly from the terminal. - Installation: `pkg install tshark`

  • [ ] Aircrack-ng
  • - Description: A suite of tools for auditing wireless networks. It focuses on various aspects of Wi-Fi security, including monitoring, attacking, testing, and cracking. - Installation: `pkg install aircrack-ng`

  • [ ] Hydra
  • - Description: A fast and flexible network logon cracker that supports numerous protocols to attack. It's often used for brute-forcing passwords on various services. - Installation: `pkg install hydra`

  • [ ] John the Ripper
  • - Description: A fast password cracker, currently available for many flavors of Unix, macOS, Windows, DOS, BeOS, and OpenVMS. Its primary purpose is to detect weak Unix passwords. - Installation: `pkg install john`

  • [ ] Nikto
  • - Description: An open-source web server scanner that performs comprehensive tests against web servers for multiple items, including over 6700 potentially dangerous files/CGIs, outdated server versions, and version-specific problems. - Installation: `pkg install nikto`

  • [ ] Wfuzz
  • - Description: A highly customizable web fuzzer designed for brute-forcing web applications, discovering hidden resources, and testing for various web vulnerabilities. - Installation: `pkg install wfuzz`

  • [ ] Dirb
  • - Description: A web content scanner that looks for existing (and hidden) web objects. It works by launching a dictionary-based attack against a web server and analyzing the responses. - Installation: `pkg install dirb`

  • [ ] Netcat (nc)
  • - Description: A simple yet powerful networking utility that reads and writes data across network connections, using TCP or UDP protocols. Often called the "Swiss Army knife" for network engineers. - Installation: `pkg install netcat`

  • [ ] OpenSSL
  • - Description: A robust, commercial-grade, full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. - Installation: `pkg install openssl`

  • [ ] WhatWeb
  • - Description: A next-generation web scanner that recognizes web technologies including content management systems (CMS), blogging platforms, statistic/analytics packages, JavaScript libraries, web servers, and embedded devices. - Installation: `pkg install whatweb`

  • [ ] Gobuster
  • - Description: A tool used to brute-force URIs (directories and files) in web sites, DNS subdomains, and virtual host names on target web servers. - Installation: `pkg install gobuster`
    - [ ] Chapter 6: File Management and Cloud Integration
  • [ ] Chapter 6: File Management and Cloud Integration


  • [ ] Termux File System Fundamentals
  • - [ ] Home Directory (`$HOME`): - [ ] Default working directory for Termux. - [ ] Location: `/data/data/com.termux/files/home`. - [ ] Contains user-installed packages, configurations, and scripts. - [ ] Android Shared Storage Access: - [ ] Command: `termux-setup-storage` (run once to grant permissions). - [ ] Mount points: - [ ] `~/storage/shared` (or `/sdcard`): Main internal storage. - [ ] `~/storage/downloads`: Android's Downloads folder. - [ ] `~/storage/dcim`: Camera and screenshots. - [ ] `~/storage/pictures`, `~/storage/music`, `~/storage/movies`: Media folders. - [ ] Permissions: - [ ] Android's scoped storage limits direct access to other app data. - [ ] Termux can read/write its own `$HOME` and shared storage after permission grant.

  • [ ] Essential File Management Commands
  • - [ ] `ls`: List directory contents. - [ ] `ls -l`: Long format (permissions, owner, size, date). - [ ] `ls -a`: Show hidden files. - [ ] `cd `: Change directory. - [ ] `cd ..`: Go up one level. - [ ] `cd ~`: Go to home directory. - [ ] `pwd`: Print working directory. - [ ] `mkdir `: Create new directory. - [ ] `rmdir `: Remove empty directory. - [ ] `cp `: Copy files or directories. - [ ] `cp -r `: Recursively copy directories. - [ ] `mv `: Move or rename files/directories. - [ ] `rm `: Remove files. - [ ] `rm -r `: Recursively remove directory and its contents. - [ ] `rm -rf `: Force recursive removal (use with caution!). - [ ] `cat `: Display file content. - [ ] `less `: View file content page by page. - [ ] `head `: Display first few lines of a file. - [ ] `tail `: Display last few lines of a file. - [ ] `touch `: Create empty file or update timestamp. - [ ] `find -name ""`: Search for files. - [ ] `grep "" `: Search for patterns within files.

  • [ ] Archiving and Compression
  • - [ ] `pkg install tar`: Install `tar` utility. - [ ] `tar -cvf archive.tar `: Create archive. - [ ] `tar -xvf archive.tar`: Extract archive. - [ ] `tar -czvf archive.tar.gz `: Create gzipped tarball. - [ ] `tar -xzvf archive.tar.gz`: Extract gzipped tarball. - [ ] `pkg install zip unzip`: Install ZIP utilities. - [ ] `zip -r archive.zip `: Create ZIP archive. - [ ] `unzip archive.zip`: Extract ZIP archive. - [ ] `pkg install p7zip`: Install 7-Zip utilities. - [ ] `7z a archive.7z `: Create 7z archive. - [ ] `7z x archive.7z`: Extract 7z archive.

  • [ ] Advanced File Management Tools
  • - [ ] `pkg install rsync`: Install `rsync` for efficient file synchronization. - [ ] `rsync -avz `: Archive, verbose, compress. - [ ] `pkg install mc`: Install Midnight Commander, a visual file manager. - [ ] `mc`: Launch the two-panel file manager.

  • [ ] Cloud Integration Methods
  • - [ ] `rclone` (Recommended for broad cloud support): - [ ] `pkg install rclone`: Install `rclone`. - [ ] `rclone config`: Interactive setup for cloud remotes (Google Drive, Dropbox, OneDrive, S3, WebDAV, etc.). - [ ] Common `rclone` commands: - [ ] `rclone ls :`: List contents of cloud directory. - [ ] `rclone copy :`: Copy files to cloud. - [ ] `rclone sync :`: Synchronize (make destination identical to source). - [ ] `rclone mount : --vfs-cache-mode writes`: Mount cloud storage as a local filesystem (requires `pkg install fuse-common` and `pkg install termux-services` for background mounting). - [ ] `git` (Version Control & Cloud Repositories): - [ ] `pkg install git`: Install Git. - [ ] `git clone `: Clone remote repositories (GitHub, GitLab, Bitbucket). - [ ] `git push`, `git pull`: Synchronize local changes with cloud repository. - [ ] `curl` / `wget` (Direct Downloads/Uploads): - [ ] `pkg install curl wget`: Install utilities. - [ ] `wget `: Download files from web. - [ ] `curl -O `: Download files from web. - [ ] `curl -T `: Upload files to WebDAV. - [ ] `sshfs` (Mount Remote Filesystems over SSH): - [ ] `pkg install sshfs`: Install `sshfs`. - [ ] `sshfs @: `: Mount remote directory. - [ ] Requires SSH server on the remote machine. - [ ] WebDAV Clients (e.g., `cadaver` or Python `webdavclient`): - [ ] `pkg install cadaver`: CLI WebDAV client. - [ ] `cadaver `: Connect to WebDAV server. - [ ] Python `webdavclient`: Can be installed via `pip install webdavclient`.

  • [ ] Best Practices for File Management & Cloud Integration
  • - [ ] Regular Backups: Use `tar`, `rsync`, or `rclone` to regularly back up your `$HOME` directory to cloud storage or shared storage. - [ ] Permissions: Understand and use `chmod` to set file/directory permissions for security. - [ ] Environment Variables: Store sensitive API keys or credentials in environment variables (e.g., in `~/.bashrc`) rather than directly in scripts. - [ ] `tmux` / `screen`: Use terminal multiplexers for long-running cloud sync or mount operations to prevent them from being killed if Termux goes to background. - [ ] Test Small: When setting up new cloud integrations, test with small, non-critical files first. - [ ] Version Control: For code and important documents, leverage `git` and cloud-based repositories for versioning and collaboration.
    - [ ] Chapter 7: Multimedia, Entertainment, and Productivity Tools
  • [ ] Chapter 7: Multimedia, Entertainment, and Productivity Tools


  • Multimedia Tools



    * Audio & Video Playback * `mpv` * Description: A free, open-source, and cross-platform media player. Supports a wide variety of media file formats, audio and video codecs, and subtitle types. * Installation: `pkg install mpv` * Usage: `mpv ` * `cmus` * Description: A small, fast, and powerful console music player. Supports various audio formats and playlists. * Installation: `pkg install cmus` * Usage: `cmus` * `sox` (Sound eXchange) * Description: The "Swiss Army knife" of sound processing programs. Can convert audio formats, apply effects, and record audio. * Installation: `pkg install sox` * Usage: `sox [effects]`

    * Media Conversion & Manipulation * `ffmpeg` * Description: A complete, cross-platform solution to record, convert, and stream audio and video. Essential for almost any media task. * Installation: `pkg install ffmpeg` * Usage: `ffmpeg -i ` * `imagemagick` * Description: A software suite to create, edit, compose, or convert bitmap images. Supports over 200 image file formats. * Installation: `pkg install imagemagick` * Usage: `convert ` * `yt-dlp` (YouTube-DL fork) * Description: A command-line program to download videos and audio from YouTube and many other video sites. * Installation: `pip install yt-dlp` (or `pkg install yt-dlp` if available) * Usage: `yt-dlp `

    Entertainment



    * Terminal Games * `ninvaders` * Description: A classic Space Invaders clone for your terminal. * Installation: `pkg install ninvaders` * Usage: `ninvaders` * `nethack` * Description: A single-player roguelike dungeon exploration game. Known for its complexity and depth. * Installation: `pkg install nethack` * Usage: `nethack` * `moon-buggy` * Description: A simple ASCII-art side-scrolling game where you drive a buggy on the moon. * Installation: `pkg install moon-buggy` * Usage: `moon-buggy` * `bsdgames` (Collection) * Description: A package containing various classic BSD games like `snake`, `tetris`, `trek`, etc. * Installation: `pkg install bsdgames` * Usage: `snake`, `tetris`, `trek`

    * Fun Utilities * `cowsay` * Description: Generates ASCII art pictures of a cow (or other animals) saying something. * Installation: `pkg install cowsay` * Usage: `cowsay "Hello from Termux!"` * `fortune` * Description: Displays a random, often humorous, adage or quote. * Installation: `pkg install fortune` * Usage: `fortune` * `neofetch` * Description: A command-line system information tool that displays information about your operating system, software, and hardware in an aesthetic way. * Installation: `pkg install neofetch` * Usage: `neofetch`

    Productivity Tools



    * Text Editors * `nano` * Description: A simple, easy-to-use text editor for the command line, ideal for beginners. * Installation: `pkg install nano` * Usage: `nano ` * `vim` (Vi IMproved) * Description: A highly configurable text editor built to enable efficient text editing. Powerful but has a steep learning curve. * Installation: `pkg install vim` * Usage: `vim ` * `micro` * Description: A modern and intuitive terminal-based text editor that aims to be a successor to nano, with mouse support and syntax highlighting. * Installation: `pkg install micro` * Usage: `micro `

    * File Managers * `mc` (Midnight Commander) * Description: A visual file manager with a dual-pane interface, allowing easy navigation, copying, moving, and deleting files. * Installation: `pkg install mc` * Usage: `mc` * `ranger` * Description: A console file manager with VI key bindings, providing a minimalist and powerful way to browse and manage files. * Installation: `pkg install ranger` * Usage: `ranger`

    * Task & Note Management * `taskwarrior` * Description: A powerful, flexible, and unobtrusive command-line task management tool. * Installation: `pkg install taskwarrior` * Usage: `task add "Buy groceries"` * `jrnl` * Description: A simple command-line journaling application. * Installation: `pip install jrnl` * Usage: `jrnl "Today was a productive day."`

    * Document & Office Utilities * `pandoc` * Description: A universal document converter, capable of converting files from one markup format to another (e.g., Markdown to PDF, HTML to Docx). * Installation: `pkg install pandoc` * Usage: `pandoc -s input.md -o output.pdf` * `texlive-bin` (LaTeX) * Description: A subset of TeX Live, providing the core binaries for typesetting documents using LaTeX. * Installation: `pkg install texlive-bin` * Usage: `pdflatex `

    * Terminal Enhancements & Utilities * `tmux` / `screen` * Description: Terminal multiplexers that allow you to run multiple terminal sessions within a single window, detach from them, and reattach later. * Installation: `pkg install tmux` (or `pkg install screen`) * Usage: `tmux` (or `screen`) * `htop` * Description: An interactive process viewer, providing a user-friendly and colorful display of system processes and resource usage. * Installation: `pkg install htop` * Usage: `htop` * `git` * Description: A distributed version control system for tracking changes in source code during software development. Essential for developers. * Installation: `pkg install git` * Usage: `git clone ` * `rsync` * Description: A fast, versatile, remote (and local) file-copying tool, ideal for backups and synchronization. * Installation: `pkg install rsync` * Usage: `rsync -avz `
    - [ ] Chapter 8: Advanced Customization and Automation
  • [ ] Chapter 8: Advanced Customization and Automation


  • * 8.1 Shell Customization * - [ ] Zsh Installation & Setup: * Install Zsh: `pkg install zsh` * Change default shell: `chsh -s zsh` (restart Termux session) * - [ ] Oh My Zsh Integration: * Install Oh My Zsh: `sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"` * Theme Selection: Edit `~/.zshrc`, set `ZSH_THEME="agnoster"` (or other preferred theme). * Plugin Management: * Add plugins to `plugins=(...)` array in `~/.zshrc`. * Example: `plugins=(git zsh-autosuggestions zsh-syntax-highlighting)` * Install `zsh-autosuggestions`: `git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions` * Install `zsh-syntax-highlighting`: `git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting` * - [ ] Bash Customization (Alternative to Zsh): * Edit `~/.bashrc` for persistent changes. * Aliases: `alias ll='ls -alF'`, `alias gs='git status'` * Functions: Define custom shell functions. * Prompt Customization: Modify `PS1` variable. * Example: `PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '`

    * 8.2 Text Editor Enhancement * - [ ] Vim/Neovim Configuration: * Install: `pkg install neovim` (or `vim`) * Configuration File: `~/.config/nvim/init.vim` (for Neovim) or `~/.vimrc` (for Vim). * Plugin Manager: Install `vim-plug` (or similar). * `curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim` * Basic Plugins: * `call plug#begin('~/.config/nvim/plugged')` * `Plug 'tpope/vim-sensible'` * `Plug 'preservim/nerdtree'` * `call plug#end()` * Run `:PlugInstall` in Vim. * Key Mappings & Settings: `nnoremap :NERDTreeToggle`, `set number`, `set tabstop=4`, `set expandtab`. * - [ ] Emacs Configuration: * Install: `pkg install emacs` * Configuration File: `~/.emacs.d/init.el` (or `~/.emacs`). * Package Management: Use `package-initialize` and MELPA for packages. * Customizations: Keybindings, modes, themes.

    * 8.3 Dotfiles Management * - [ ] Version Control with Git: * Create a Git repository: `mkdir ~/dotfiles && cd ~/dotfiles && git init` * Move config files: `mv ~/.zshrc ~/dotfiles/.zshrc` * Create symlinks: `ln -s ~/dotfiles/.zshrc ~/.zshrc` * Add, commit, and push to a remote repository (e.g., GitHub). * - [ ] Using GNU Stow: * Install: `pkg install stow` * Organize dotfiles: `~/dotfiles/zsh/.zshrc`, `~/dotfiles/nvim/.config/nvim/init.vim` * Deploy: `cd ~/dotfiles && stow zsh nvim` (creates symlinks from `~/dotfiles/zsh` to `~`)

    * 8.4 Advanced Prompt & Theming * - [ ] Powerline/Starship Prompt: * Powerline (Python-based): * `pkg install python` * `pip install powerline-status` * Configure in `~/.bashrc` or `~/.zshrc`. * Starship (Rust-based): * `pkg install rust` * Install: `curl -sS https://starship.rs/install.sh | sh` * Initialize in shell config: `eval "$(starship init zsh)"` (or `bash`) * Configuration File: `~/.config/starship.toml`. * - [ ] Termux Color Schemes & Fonts: * Install Termux:Styling app. * Use `termux-change-colors` and `termux-change-font` commands. * Manual configuration: Edit `~/.termux/colors.properties` and place `.ttf` font in `~/.termux/font.ttf`.

    * 8.5 Scripting for Automation * - [ ] Bash Scripting Best Practices: * Shebang: `#!/bin/bash` (or `#!/data/data/com.termux/files/usr/bin/bash`) * Error Handling: * `set -e`: Exit immediately if a command exits with a non-zero status. * `set -u`: Treat unset variables as an error. * `set -o pipefail`: Fail if any command in a pipeline fails. * Functions: Organize code into reusable functions. * Input/Output: Use `read`, `echo`, redirection (`>`, `>>`, `<`). * - [ ] Python for Complex Automation: * Install: `pkg install python` * Virtual Environments: `python -m venv .venv` (activate with `source .venv/bin/activate`). * Libraries: Utilize `os`, `subprocess`, `requests` (for HTTP), `BeautifulSoup` (for web scraping).

    * 8.6 Scheduled Tasks (Cron & Alternatives) * - [ ] Termux-Wake-Lock: * Prevent Termux from sleeping during long-running or scheduled tasks: `termux-wake-lock` * - [ ] Termux Job Scheduler: * Termux does not use standard `cron`. Use `termux-job-scheduler`. * Add Job: `termux-job-scheduler --job-id my_daily_script --script ~/bin/daily_backup.sh --period 24h` * List Jobs: `termux-job-scheduler -l` * Remove Job: `termux-job-scheduler -r my_daily_script` * - [ ] Tasker Integration (Android Automation): * Install Termux:API and Termux:Tasker apps. * Tasker Profile: Create a profile (e.g., "On Wi-Fi Connect"). * Tasker Action: Add "Plugin" -> "Termux:Tasker" -> "Termux Command". * Command: `termux-send-command "myscript.sh"` (executes `myscript.sh` in Termux).

    * 8.7 Event-Driven Automation * - [ ] File System Monitoring with `inotifywait`: * Install: `pkg install inotify-tools` * Monitor Changes: `inotifywait -m -e create,delete,modify /data/data/com.termux/files/home/my_folder` * Trigger Scripts: Use a loop to process events and execute actions. * - [ ] Termux:API Sensors: * Access sensor data: `termux-sensor -l` (list sensors), `termux-sensor -s light` (read light sensor). * Script actions based on sensor input (e.g., dim screen based on ambient light).

    * 8.8 Advanced Automation Techniques * - [ ] SSH Key-Based Authentication: * Generate Keys: `ssh-keygen` * Copy Public Key: `ssh-copy-id user@remote_host` * Enable passwordless SSH for automated remote commands and file transfers. * - [ ] Git Hooks: * Automate tasks before/after Git events (commit, push, merge). * Edit scripts in `.git/hooks/` directory (e.g., `pre-commit`, `post-merge`). * Example: Run a linter or formatter `pre-commit`. * - [ ] Web Scraping & API Interaction: * Basic Requests: Use `curl` or `wget` for simple HTTP requests. * Advanced Interaction: Use Python `requests` library for complex API calls (authentication, JSON parsing). * HTML Parsing: Use Python `BeautifulSoup` for extracting data from web pages.