6 releases (breaking)

0.7.0 Jul 24, 2021
0.6.1 Jul 22, 2021
0.5.1 Jul 20, 2021
0.5.0 Jun 28, 2021
0.2.3 Jun 25, 2021

#2027 in Command line utilities

49 downloads per month


259 lines


A remake of ls for the 21st century implemented in rust.

What is it?

A remake of ls which currently serves as a learning project with the goal of practicing the art of the rust language.

What is it not?

neols is not a complete copy of GNU ls nor exa. It aimes to be minimal with a small set of features for the everyday desktop user. Neither ls nor exa are bad, but there are so many options that are seldomly used.


It's easy! Just use cargo:

cargo install neols

Also, remember to include ~/.cargo/bin in your $PATH.


It is not very convenient to type neols all the time, so it is therefore recommended to create an alias in your shell profile (.bashrc, .zshrc, depending on what shell you use).

Example in bash (in ~/.bashrc):

alias ls="neols -a"


neols can list the contents of a directory when given a path (the default path is .). The following table gives an overview and a description of the optional arguments.

Name Argument Description
All files -a Lists all files in the directory. This includes hidden files. This option is incompatible with -d
Long format -l Lists all files in the directory with size (in Bytes) and whether the files is ReadOnly (for the user invoking neols). This option is incompatible with -d
Directories only -d Lists only files that are also directories. This options is incompatible with -a -l
Reverse sort -r Lists the contents of a directory in reverse lexicographical order.
Group By -g Groups the contents of a directory by file type (directory and non-directory). By default, directories are printed first followed by everything else.

As of v0.7.0 you can use composite arguments:

neols -alg

The above is the same as:

neols -a -l -g

The order of arguments does not matter.