Skip to main content

Linux bash alias generator

Project description

topalias

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.

Features

  • Generate short alias for popular command from bash/zsh shell history
  • Command history statistics & analytics
  • Parametrised input
  • Console help for all commands, options and arguments
  • Shell workflow hints

Installation

From pypi.org repository:

pip3 install -U --user topalias

From source:

git clone https://github.com/CSRedRat/topalias
python3 topalias/setup.py install --user

Run as python script without install:

git clone https://github.com/CSRedRat/topalias
python3 topalias/topalias/cli.py -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

Usage

generated bash aliases

Syntax: topalias [OPTIONS] COMMAND [ARGUMENTS]

Without command utility check if you use alias in ~/.bash_aliases - analyze and print usage statistics, offers to 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:

  • directory from execution parameter
  • .bash_history in . current directory
  • .bash_history in ~ user home directory
  • example development files in topalias/data

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.

TODO

  • multiline command in history
  • add any another acronym algorithm with semantic
  • more statistics & analytics (used dir, utils, parameters, time)
  • alias max length parameter

Please add you feature requests: https://github.com/CSRedRat/topalias/issues/new

License

GPLv3

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Sergey Chudakov

💻 🚇 🤔 🚧 📦 🧑‍🏫 💡

GitLab repository mirror with CI/CD: https://gitlab.com/CSRedRat/topalias

GitHub Pages: https://csredrat.github.io/topalias/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

topalias-2.0.3.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

topalias-2.0.3-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file topalias-2.0.3.tar.gz.

File metadata

  • Download URL: topalias-2.0.3.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.8.6

File hashes

Hashes for topalias-2.0.3.tar.gz
Algorithm Hash digest
SHA256 bc479839335ecf84a6933ab31a5eceb6fadf08b304c3ada6469655c7e2a3b402
MD5 66c5e79571aafa2c4ebf2bbae7840db8
BLAKE2b-256 c1ab6e7a897c431bd289d65faec5564a67f8f9d7925c3eb6aa10f6148fff6426

See more details on using hashes here.

File details

Details for the file topalias-2.0.3-py3-none-any.whl.

File metadata

  • Download URL: topalias-2.0.3-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.8.6

File hashes

Hashes for topalias-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 07973061267435b33b7f8d5b765c460e0b60eb17a4053d5df9a0388c0a61f3cc
MD5 fdf9ad61cdb3dbd4ab81f5e818d76384
BLAKE2b-256 9adc9d79d90f65ae717db70a0b8b5ae720c3773d37f80cdda1b137c203ba344e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page