Dark-FS is a cross-platform CLI file manager with a colorful terminal interface and fast navigation.
Project description
๐ Dark FS
Dark FS is a lightweight and fast command-line file manager built with Python.
It provides useful file-system operations such as copying, moving, renaming, swapping files, finding duplicates, displaying directory trees, and viewing detailed information about files and folders.
Designed to be simple, powerful, and beginner-friendly while remaining useful for everyday terminal work.
โจ Features
File Operations
- Copy files
- Move files
- Create files
- Rename files
- Swap files
Analysis Tools
- Find duplicate files using SHA-256 hashing
- Display directory structure in tree format
- Show detailed file information
- Show detailed folder information
- Detect empty files
- Find the largest file in a folder
- Calculate total folder size
Additional Features
- Save information output to a text file
- Command suggestions for mistyped commands
- Colored terminal output
- Fast and lightweight
๐ Installation
Install from PyPI:
pip install dark-fs
Upgrade to the latest version:
pip install --upgrade dark-fs
Verify installation:
dfs --version
๐ฆ Current Version
0.3.0
๐ Commands
Copy File
dfs cp source.txt destination.txt
Copies a file to another location.
Move File
dfs mv source.txt destination.txt
Moves a file to another location.
Create File
dfs cf myfile.txt
Creates a new file in the current directory.
Create inside another directory:
dfs cf myfile.txt folder
Rename File
dfs rn old.txt new.txt
Renames a file.
Swap Files
dfs swap file1.txt file2.txt
Swaps two files.
Find Duplicate Files
Search current folder:
dfs fd
Search a specific folder:
dfs fd myfolder
Duplicate files are detected using SHA-256 hashes.
Show Directory Structure
dfs ds folder
Example:
Project
โโโ main.py
โโโ README.md
โโโ src
โโโ helpers.py
Show File Information
dfs inf example.txt
Show Folder Information
dfs inf project
Save Information to a File
dfs inf project -s report.txt
๐ Folder Information
The inf command displays the following information for folders:
- Folder Name
- Folder Path
- Total Files
- Total Folders
- Created Time
- Last Modified File
- Modified Time
- Folder Size
- Largest File
- Empty Files
Example:
Folder Information
------------------------------
Folder Name : Project
Folder Path : /storage/emulated/0/Project
Files Inside : 18
Folders Inside : 4
Created Time : 2026-06-15 12:30:20
Last Modified File : main.py
Modified Time : 2026-06-15 14:10:55
Folder Size : 12.8 MB
Largest File : archive.zip (8.2 MB)
Empty Files : notes.txt
------------------------------
๐ File Information
The inf command displays the following information for files:
- File Name
- File Type
- File Size
- Created Time
- Modified Time
Example:
File Information
------------------------------
File Name : main.py
File Type : Python Source File
File Size : 8.4 KB
Created Time : 2026-06-15 10:20:11
Modified Time : 2026-06-15 14:15:45
------------------------------
๐ Duplicate Detection
Dark FS uses SHA-256 hashing to detect duplicate files.
Process:
File โ SHA-256 Hash
File โ SHA-256 Hash
Same Hash = Duplicate File
This approach is much more reliable than comparing only file names or file sizes.
๐งฐ Technologies Used
Language
Python 3
Standard Library Modules
argparse
difflib
hashlib
os
pathlib
shutil
sys
External Libraries
colorama
๐ Project Structure
dark-fs/
โ
โโโ LICENSE
โโโ README.md
โโโ pyproject.toml
โ
โโโ darkfs/
โ โโโ __init__.py
โ โโโ core.py
โ โโโ main.py
โ โโโ cli.py
โ โโโ helpers.py
โ
โโโ .github/
โโโ workflows/
โโโ publish.yml
๐ฏ Roadmap
Planned Features
- Delete file command
- Delete folder command
- Folder copy support
- Folder move support
- File search command
- Export to JSON
- Export to CSV
- Progress bars
- Better reporting
- Interactive mode
๐ค Contributing
Contributions, issues, and feature requests are welcome.
Feel free to open an issue or submit a pull request if you find a bug or want to improve the project.
๐จโ๐ป Author
AK
Creator of Dark FS.
๐ License
MIT License
โญ Why Dark FS?
- Lightweight
- Fast
- Easy to use
- Beginner-friendly
- Useful daily file-management commands
- Clean terminal output
- Open Source
๐ก Example Workflow
# Create a file
dfs cf notes.txt
# Rename it
dfs rn notes.txt ideas.txt
# View information
dfs inf ideas.txt
# Find duplicates
dfs fd .
# Show project tree
dfs ds .
# Save folder report
dfs inf . -s report.txt
Dark FS
Fast โข Simple โข Lightweight
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dark_fs-0.3.0.tar.gz.
File metadata
- Download URL: dark_fs-0.3.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
670d0b3d37b8760b01a36225fec52f20607714cbcc0b825a02a8751051a6af1d
|
|
| MD5 |
988c177fc6a83e4c2c70aa3eda71b26a
|
|
| BLAKE2b-256 |
919ee9568034307e3c36cae457478cf237057f8fef1dd96faf7be10d6faaf744
|
File details
Details for the file dark_fs-0.3.0-py3-none-any.whl.
File metadata
- Download URL: dark_fs-0.3.0-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa706bb5a483c837581b57565224ca441c0e250b7ea60701f78884c1c425da0b
|
|
| MD5 |
3d33d478975732f2e95ae7af43fa4d71
|
|
| BLAKE2b-256 |
5630914dec0a09df9c4db8684a14e163ed2ee9c3dbcf37cdc4f697f24e0265cc
|