CLI programs written by Ray Butterworth

This collection of simple but handy CLI utilities is free for non-commercial use. They are OS-agnostic, and have been tested on (at least) Linux and Windows-10.

The concepts are based on similar programs originally written in C (and B) by the University of Waterloo's MFCF.

Align:

A filter to align columns.

Example: display mtab file in more readable format

$ align /etc/mtab
sysfs       /sys                  sysfs       rw,nosuid,nodev,noexec,relatime  0  0
proc        /proc                 proc        rw,nosuid,nodev,noexec,relatime  0  0
securityfs  /sys/kernel/security  securityfs  rw,nosuid,nodev,noexec,relatime  0  0
tmpfs       /dev/shm              tmpfs       rw,nosuid,nodev                  0  0
...

Example: list users grouped by login shell

$ cut  --del=':'  --fields=1,7  /etc/passwd \
  | sort  --field-sep=':'  --key=2,2  --key=1,1 \
  | align  --sep=':'
guest-qy8tmq   /bin/bash
ray            /bin/bash
root           /bin/bash
...
sys            /usr/sbin/nologin
uucp           /usr/sbin/nologin
www-data       /usr/sbin/nologin

Decomment:

A filter to remove #-comment lines and whitespace.

Example: remove comments and format fstab

$ decomment /etc/fstab | align
/dev/mapper/ubuntu--vg-root                /      ext4  errors=remount-ro  0  1
UUID=fb8efec0-93d0-4c3b-b4ec-dc7f2f8a5b43  /boot  ext2  defaults           0  2
/dev/mapper/ubuntu--vg-swap_1              none   swap  sw                 0  0

LC:

A program to list the contents of a directory, like ls or dir, but categorized by type. Sorting by columns makes the data easier to scan visually.

Example: show contents of /dev

$ lc /dev
Directories:
    block      disk       lightnvm   shm
    bsg        dri        mapper     snd
    bus        fd         mqueue     ubuntu-vg
    char       hugepages  net        vfio
    cpu        input      pts
Files:
    core
Sockets:
    log
Characters:
...
Blocks:
    cdrom  dvd    loop2  loop5  sda    sda5
    dm-0   loop0  loop3  loop6  sda1   sr0
    dm-1   loop1  loop4  loop7  sda2
FIFOs:
    initctl