Linux bash/zsh aliases generator

View on GitHub


Build Status Test Status Coverage GitLab pipeline Python Version Downloads Code style: black Imports: isort DeepSource

topalias - Linux bash/zsh alias generator and statistics from command history, written on Python.



From repository:

pip3 install -U --user topalias

From source:

git clone
python3 topalias/ install --user

Run as python script without install:

git clone
python3 topalias/topalias/ -h

Install requirements

sudo apt install python3 python3-pip -y

Add PATH environment variable for run Python tools as Linux utility:

echo "export PATH=$PATH:$HOME/.local/bin" >> ~/.bashrc
source ~/.bashrc


generated bash aliases

Without parameters utility check if you use alias in ~/.bash_aliases - analyze and print usage statistics, then find new simple aliases

python3 -m topalias  # run as python module
topalias  # check aliases and print suggestion bash command history
topalias -h  # print help
topalias --zsh  # work with zsh shell command history
topalias --min=2  # set minimal length for generated acronym filter, so that exclude some short command and find long, hard, usable command
topalias --debug history  # only analyze local bash history and print filtered rows

Files path search order:

You can change dot files search path to another user home directory:

topalias -f /home/user  # or topalias --path /home/user

Also you can use topalias utility in Bash for Git on Windows and in WSL.

Add you awesome aliases to Insights topic or .bash_aliases example.


Usage: topalias [OPTIONS] COMMAND [ARGS]

  -l, --min INTEGER     Print alias acronym not less that value. Default: 1
  -c, --count INTEGER   Print specified number acronym suggestions. Default:

  --filter              Filter used aliases in history. Default: False
  -z, --zsh             Use zsh shell history file .zsh_history. Default:

  -f, --path TEXT       Change custom directory for files: .bash_aliases,
                        .bash_history, .zsh_history

  --version             Print current program version and check latest on

  --debug / --no-debug  Enable debug strings in output.
  -h, --help            Show this message and exit.

  hint     Print all hints.
  history  Print bash history file.
  version  Get program current and available version.


Please add you feature requests:



Contributors ✨

Thanks goes to these wonderful people (emoji key):

Sergey Chudakov

💻 🚇 🤔 🚧 📦

Sergey Morozik


GitLab repository mirror with CI/CD:

GitHub Pages: