Skip to content

Latest commit

 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vkl - a better “ls”-experience

This Python script is a wrapper for the GNU/Linux ls-tool for simple cases. To be precise, it’s a substitute (only) for the following command:

ls -lt --all --reverse --directory --classify --color=auto

In contrast to the standard ls output, this script visualizes time in a much better way:

images/vkl-Screenshot.png

Normal ls command is listing all files without proper way to visualize brand-new, new, old, and very old files. By introducing horizontal bars that sub-divide the output in a pseudo-logarithmical way, the user gets a much better feeling on the age of the items in the current directory.

By the way: yes, I tried to get this functionality to the GNU project to be included to ls. I failed miserably. To me, they don’t seem to add such features for many years. Very conservative :-(

Installation

Get it from GitHub or install it via «pip install vkl».

https://0dependencies.dev/0dependencies.svglearn more about 0dependencies

Usage

vkl --help
usage: vkl [-h] [-l] [-m | -c | -a] [-p] [-d DELEGATE] [--debug] [--version]

vkl lists the current directory's contents sorted by time and grouped into pseudo-logarithmic age classes (recently, 1 hour, 1 day, 1 week, 1 month, ...) — a visualization GNU ls does not provide.

Homepage: https://github.com/novoid/vkl

options:
  -h, --help            show this help message and exit
  -l, --log             displays directory content by a pseudo logarithmic
                        time (default option)
  -m, --mtime           sort items using modification time (default option)
  -c, --ctime           sort items using change time
  -a, --atime           sort items using access time
  -p, --primitivels     use primitive output of directory rather than using
                        GNU ls
  -d, --delegate DELEGATE
                        delegate additional arguments to ls command; for
                        values starting with a dash use "=", e.g.
                        --delegate="-la"
  --debug               enable (senseless) debug output
  --version             display version and exit

:copyright: (c) 2010-now by Karl Voit <tools@Karl-Voit.at>
:license: GPL v3 or any later version
:URL: https://github.com/novoid/vkl
:bugreports: via github or <tools@Karl-Voit.at>
:version: 2026-07-16
·

Examples:

vkl

… the simplest case, sorted by modification time

vkl -c

… sorted by change time

vkl -p

… using its own (primitive, self-written) output to circumvent output issues or to use it on non-GNU/UNIX system

How to Thank Me and Contribute to the Project

I’m glad if you like my tool. I’ve got way more projects on:

If you want to support me:

If you want to contribute to this cool project, please fork and contribute!

I am using Python PEP8 and occasionally some ideas from Test Driven Development (TDD). I fancy Python3 with type annotations, although I’m not using them everywhere at the moment. Starting with 2025, I began to use help from Claude.ai which is a huge improvement, given my lack of programming practice and knowledge.

After all, each of my tools was developed because I needed its functionality and could not get it elsewhere - at least to my knowledge or taste.

Local Variables

About

vkl - a better "ls"-experience

Topics

Resources

Stars

8 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages