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
File details
Details for the file topalias-2.0.8.tar.gz
.
File metadata
- Download URL: topalias-2.0.8.tar.gz
- Upload date:
- Size: 12.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
Algorithm | Hash digest | |
---|---|---|
SHA256 | be0fe2560ef6c8b0cde3c98e0eccf3305be4895b170945a7e535e1f7f1fa83dd |
|
MD5 | 56e3cdb75fc0c10d6843fb34fc4ec87c |
|
BLAKE2b-256 | b49c76e1eea18d375ba0f893032b1ceb084b6c5c502b124afef617ee1bc9ad96 |
File details
Details for the file topalias-2.0.8-py2.py3-none-any.whl
.
File metadata
- Download URL: topalias-2.0.8-py2.py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 2, 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f97dabfabc0cb86e9946c6abb3c78dbc940e1a473e1c56e4b6f24e41bf15560 |
|
MD5 | 730dbac293cf65a1614c52c5c34a387a |
|
BLAKE2b-256 | 0b271bf02bbe4a5a6a969415d1e50e51f27331c9d9161127c71f74a755fc6591 |