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.
- Copy files
- Move files
- Create files
- Rename files
- Swap files
- 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
- Save information output to a text file
- Command suggestions for mistyped commands
- Colored terminal output
- Fast and lightweight
Install from PyPI:
pip install dark-fsUpgrade to the latest version:
pip install --upgrade dark-fsVerify installation:
dfs --version0.3.5
dfs cp source.txt destination.txtCopies a file to another location.
dfs mv source.txt destination.txtMoves a file to another location.
dfs cf myfile.txtCreates a new file in the current directory.
Create inside another directory:
dfs cf myfile.txt folderdfs rn old.txt new.txtRenames a file.
dfs swap file1.txt file2.txtSwaps two files.
Search current folder:
dfs fdSearch a specific folder:
dfs fd myfolderDuplicate files are detected using SHA-256 hashes.
dfs ds folderExample:
Project
βββ main.py
βββ README.md
βββ src
βββ helpers.py
dfs inf example.txtdfs inf projectdfs inf project -s report.txtThe 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
------------------------------
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
------------------------------
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.
Python 3
argparse
difflib
hashlib
os
pathlib
shutil
sys
colorama and pyfiglet
dark-fs/
β
βββ LICENSE
βββ README.md
βββ pyproject.toml
β
βββ darkfs/
β βββ __init__.py
β βββ core.py
β βββ main.py
β βββ cli.py
β βββ helpers.py
β
βββ .github/
βββ workflows/
βββ publish.yml
- Dark Fs GUI
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.
Mayank Sinha
Creator of Dark FS.
MIT License
- Lightweight
- Fast
- Easy to use
- Beginner-friendly
- Useful daily file-management commands
- Clean terminal output
- Open Source
# 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.txtDark FS
Fast β’ Simple β’ Lightweight