Linux bash aliases generator
Project description
topalias
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
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
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/
Version history
We follow Semantic Versions.
Version 2.0.0
- Add zsh shell support (-z/--zsh flag)
- Add version check (version/--version)
- --filter flag exclude used alias from command top chart
- --debug mode
- -f change dot files search path
- -c count suggestion parameter
- Add "example" command for give aliases example
- Add aliases usage statistic
Version 1.1.7
- Build and publish working package
Version 0.1.0
- Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for topalias-2.0.9-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4d4d4638b350e3516212533c21f2863434f326730b6711beae94673010d897d |
|
MD5 | 2e6a1486d8013a3798cfbc48c87a2d8d |
|
BLAKE2b-256 | d049b3215afd6624d1478b4aa13fa534432598b0ca2282cf373a6344e7eaed51 |