Skip to content

aixandrolab/cli-files-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CLI Files Manager v1.0.0


A comprehensive, powerful command-line file management tool with advanced features for Linux.


GitHub release (latest by date) GitHub top language GitHub GitHub stars GitHub forks


Powerful file operations, MD5 checksums, hex viewing, recursive size analysis, device-wide search, and desktop integration β€” all from your terminal.


⚠️ Disclaimer

By using this software, you agree to the full disclaimer terms.

Summary: Software provided "AS IS" without warranty. You assume all risks for file operations, deletions, and system interactions.

Full legal disclaimer: See DISCLAIMER.md


Features

  • πŸ“Š Recursive size analysis - Scan folders and see detailed size breakdowns
  • πŸ—‘οΈ Safe deletion - Delete files and folders with confirmation prompts
  • πŸ“– Text file viewer - View any text file with paging support
  • πŸ” Hex/Binary viewer - Examine raw file contents in hexadecimal format
  • πŸ” MD5 hash calculator - Generate and verify file checksums
  • πŸ“‚ Open location - Open current or selected path in system file explorer
  • πŸ”Ž Device-wide search - Find files by pattern with preview and navigation
  • πŸ“ Interactive directory navigation - Change working directory with tab completion
  • πŸ’Ύ Detailed file info - View metadata, timestamps, sizes, and MD5
  • πŸ–₯️ Desktop integration - Create .desktop entries for app menu and desktop
  • 🎨 Color-coded output - Beautiful terminal UI with intuitive color coding
  • ⚑ Tab completion - Auto-complete file and directory paths

Main Menu


Installation

Dependencies

# Arch Linux
sudo pacman -S python python-pip

# Debian/Ubuntu
sudo apt install python3 python3-pip

# Fedora/RHEL
sudo dnf install python3 python3-pip

# No additional Python packages required β€” uses only standard library!

Setup from Repository

  1. Clone the repository:

    cd ~
    git clone https://github.com/aixandrolab/ cli-files-manager.git
    cd  cli-files-manager
  2. Run directly (development mode):

    python app.py
  3. Create desktop entries (from within the app):

    • Launch: cli-files-manager
    • Select option 10 β†’ πŸ–₯️ DESKTOP ENTRY
    • Choose menu integration (application menu, desktop, or both)

Quick Start

# Launch the interactive menu
 cli-files-manager

# Inside the application:

# 1. Analyze folder size
πŸ“Š ANALYZE SIZE β†’ /home/user/Downloads

# 2. Search for files
πŸ”Ž SEARCH β†’ pattern: *.txt

# 3. View file in hex
πŸ” VIEW HEX β†’ select any binary file

# 4. Calculate MD5
πŸ” MD5 HASH β†’ select any file

# 5. Create desktop shortcut
πŸ–₯️ DESKTOP ENTRY β†’ create system integration

Main Menu Options

Option Command Description
1 πŸ“Š ANALYZE SIZE Analyze file/folder size with progress bar
2 πŸ—‘οΈ DELETE Permanently delete files or folders
3 πŸ“– VIEW TEXT Display text file content with pager
4 πŸ” VIEW HEX Show binary/hexadecimal file view
5 πŸ” MD5 HASH Calculate MD5 checksum of any file
6 πŸ“‚ OPEN LOCATION Open path in system file explorer
7 πŸ”Ž SEARCH Search entire device for files by pattern
8 πŸ“ CHANGE DIR Change working directory with TAB completion
9 πŸ’Ύ FILE INFO Show detailed file metadata
10 πŸ–₯️ DESKTOP ENTRY Install app to system menu/desktop
0 πŸšͺ EXIT Exit application

Usage Examples

Analyze Folder Size

# Select option 1, enter path or press Enter for current directory
πŸ“ /home/user/Downloads

# Output example:
[β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ] 1250/1250 files
πŸ“ TOTAL SIZE: 2.45 GB

Search Files Device-Wide

# Select option 7
πŸ” Enter search pattern: *.mp3
πŸ“ Search root: /home/user/Music

# Results show all matches with sizes and paths
# You can select any result to: open location, view, delete, get MD5, or see info

Calculate MD5 Hash

# Select option 5
πŸ“‚ Enter file path: /path/to/file.iso

# Output:
MD5 Hash of file.iso:
a1b2c3d4e5f678901234567890123456

View Binary File in Hex

# Select option 4
πŸ“‚ Enter file path: binary_file.bin

# Output shows hex dump with ASCII representation:
00000000  89 50 4e 47 0d 0a 1a 0a  00 00 00 0d 49 48 44 52  .PNG........IHDR
00000010  00 00 02 00 00 00 02 00  08 06 00 00 00  ... etc

Create Desktop Integration

# Select option 10
πŸ‘‰ Choose option: 3 (Both)

# Output:
βœ… SUCCESS
βœ“ Application Menu: /home/user/.local/share/applications/ cli-files-manager.desktop
βœ“ Desktop: /home/user/Desktop/ cli-files-manager.desktop
βœ“ Icon found at: /opt/ cli-files-manager/data/icons/icon.png

File Structure

 cli-files-manager/
β”œβ”€β”€ app.py                     # Main entry point
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ asciiart.py            # ASCII logo and separators
β”‚   β”œβ”€β”€ colors.py              # Terminal color definitions
β”‚   β”œβ”€β”€ completer.py           # Tab completion handler
β”‚   β”œβ”€β”€ desktop_entry.py       # .desktop file creator
β”‚   └── file_manager.py        # Core file management logic
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ icons/
β”‚   β”‚   └── icon.png           # Application icon
β”‚   └── images/
β”‚       └── main_menu.png      # Menu screenshot (documentation)
β”œβ”€β”€ .gitignore
β”œβ”€β”€ LICENSE                     # BSD 3-Clause License
└── README.md                   # This file

How It Works

  • Pure Python 3 β€” Uses only standard library (no external dependencies)
  • Tab completion β€” Powered by Python's readline module with custom path completer
  • Recursive scanning β€” Efficient directory walking with real-time progress
  • Hex viewer β€” Binary-safe reading with hexdump-style formatting
  • MD5 calculation β€” Streaming hash computation for files of any size
  • Desktop integration β€” Generates freedesktop.org-compatible .desktop files
  • Paging support β€” Uses less/more for long output, falls back to inline display

Security & Safety Notes

  • ⚠️ Deletion is permanent β€” No recycle bin, files are removed immediately
  • βœ… All operations require confirmation β€” Especially destructive actions
  • πŸ”’ No data collection β€” Works completely offline, no telemetry
  • πŸ“ Respects permissions β€” Cannot access files without proper OS permissions
  • πŸ–₯️ Desktop files are safe β€” Created in user directories, not system-wide

Troubleshooting

Tab completion not working?

# Install readline if missing (usually included)
# For minimal Python installations:
pip3 install readline

"less" pager not found?

# Install less (or use more):
sudo apt install less  # Debian/Ubuntu
sudo pacman -S less    # Arch

Desktop entries not showing?

# Update desktop database:
update-desktop-database ~/.local/share/applications/

# Log out and back in, or restart your desktop environment

Permission denied errors?

# Run with appropriate user permissions
# Do NOT run as root unless necessary
# Check file ownership: ls -la /path/to/file

Development & Testing

# Run with verbose output (no arguments - just use menu)
python app.py

Author & Repository


Similar Projects

  • Smart 2FA Manager β€” TOTP 2FA manager for Linux (Bash)
  • Smart File Manager CLI β€” This project
  • More tools at aixandrolab

License

Licensed under BSD 3-Clause License β€’ Copyright (Β©) 2026, Alexander Suvorov


Made with ❀️ for terminal lovers who want powerful file management at their fingertips.

About

A comprehensive, powerful command-line file management tool with advanced features for Linux.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages