https://github.com/rly0nheart/oakfs
a cute filesystem visualisation tool, for cute humans 🙂
https://github.com/rly0nheart/oakfs
filesystem filesystem-visualization
Last synced: 9 months ago
JSON representation
a cute filesystem visualisation tool, for cute humans 🙂
- Host: GitHub
- URL: https://github.com/rly0nheart/oakfs
- Owner: rly0nheart
- License: mit
- Created: 2025-09-11T14:39:22.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2025-09-15T11:35:04.000Z (9 months ago)
- Last Synced: 2025-09-15T13:10:56.223Z (9 months ago)
- Topics: filesystem, filesystem-visualization
- Language: Python
- Homepage: https://pypi.org/p/oakfs
- Size: 647 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Oakfs is a humane CLI-based filesystem exploration tool, for humans.
It provides a colourful, human-friendly way to explore your filesystem in the terminal using either a tree or table view.
## ✨ Features
- 🌳 **Tree view**: Visualise your filesystem hierarchy like `tree` but prettier.
- 📊 **Table view**: Display directories in a sortable table with file size, type, permissions, and modified time.
- 🎨 **Rich styling**: Icons and colours for file types (documents, images, audio, code, archives, etc.).
- 🔍 **Filtering**:
- `-a, --all`: include hidden files
- `-d, --directories`: show only directories
- `-f, --files`: show only files
- `-s, --symlinks`: show only symlinks
- `-j, --junctions`: show only junctions (Windows)
- 👥 **Ownership info**: Show owner, group, and permissions with `--groups`.
- 🕒 **Timestamps**: Choose between `relative` relative times (`3 minutes ago`) or `locale` formatted dates.
- 🔄 **Sorting**: Reverse order with `--reverse`.
> [!Note]
> To make your experience more pleasant, you'll need to have Nerd Fonts installed. Check out
> the [Nerd Fonts website](https://www.nerdfonts.com/) for instructions on how to install them.
## 📦 Installation
**Oakfs** is available on [PyPI](https://pypi.org/project/pypi), and can be installed with pip:
```bash
pip install oakfs
```
This will install `oak` as a CLI command.
## 🚀 Usage
Run `oak` from the command line:
### Table view (default)
```bash
oak [PATH]
```
Example:
```bash
oak ~/projects
```
### Tree view
```bash
oak --tree [PATH]
```
Example:
```bash
oak --tree ~/projects
```
> [!Note]
> If no path is provided, it defaults to the current working directory.
> [!Tip]
> If you decide not to install Nerd Fonts (_because you've decided to become a caveperson for some reason_), you can
> always run `oak` with the `-N, --no-icons` option.
>> This should help with embracing the **unga bunga** within you.
## ⚙️ Options
| Option | Description |
|-------------------------------------------------------------------------------|----------------------------------------------------|
| `-t, --tree` | show filesystem hierarchy in a tree view structure |
| `-a, --all` | show hidden files and/or directories |
| `-f, --files` | show files only |
| `-d, --directories` | show directories only |
| `-s, --symlinks` | show symlinks only |
| `-j, --junctions` | show junctions only |
| `-r, --reverse` | reverse sort order |
| `-g, --groups` | show groups |
| `-o, --owners` | show owners |
| `-p, --permissions` | show permissions |
| `-m, --mimetypes` | show mimetypes |
| `-v, --verbose` | enable verbose output |
| `-N, --no-icons` | disable showing icons in output |
| `-D, --dt-format [relative\|locale]` | output datetime format (default: |
| relative) | |
| `-T, --table-style [ASCII\|ROUNDED\|SQUARE\|HEAVY\|DOUBLE\|SIMPLE\|MINIMAL]` | table border style (default: |
| ROUNDED) | |
| `-h, --help` | show help message and exit |
| `--version` | show version and exit |
> [!Note]
> The following options are available only in the default (table) view: `--owners`, `--permissions`,
`--groups`, `--mimetypes`, `--dt-format`, and obviously `--table-style`
ok. that's all (for now).