This is a collection of Unix tools command line that make my life easier. I think others might like them too so I'm making them available here but the repository is just a nice way for me to keep track of changes and deploy them easily to systems.
I will admit that the documentation is rather poor for some of the tools and many of them have little or no comments. This is a work in progress - I'm constantly creating new tools and improving documentation. In November 2017, I did a major overhaul of the documentation because I was disatisfed with having a huge table. I'm liking the results so far.
If you have questions, problems, etc, you can reach me at .
Over the years, I've used many different Unix platforms: Redhat, Suse, Solaris, HP/UX, AIX, Z/OS, Cygwin, Git bash, etc. I owe no allegiance to any single platform and consider them all pretty much equal as long as they behave similarly. I have seen some issues using my tools (and other commands!) from Git bash on Windoze and sometimes a tool was only designed to work on specific platforms - I'll try to put such stuff on the doc page for the tool. In general if I find a platform where one of my tools doesn't work well, I will try to fix it!
Select a tool below to learn more about it. The Bruno's Favorite column is used to indicate that a tool is:
- very useful and practical
- personally used by me a few times a week if not at least once a day!
- I thought about expressing an extreme affection for some tools but realized I might be expressing it for all of the favorites so I'll just leave it as favorite or not favorite
Tool | Bruno's Favorite? | Brief Description |
---|---|---|
ansible-distros |
Prints OS information about Ansible hosts | |
ansible-host-data |
Extracts specific information about a host in an ansible inventory | |
ansible-hosts |
Yes | Lists host information from an Ansible inventory |
ansible-role |
Yes | Builds a minimial ephemeral Ansible playbook for a role and runs ansible-playbook with it |
aws-image |
Displays details about an AWS EC2 AMI | |
aws-images |
Search for AWS EC2 AMIs | |
banner |
Yes | Prints text in a banner |
bashprofiles |
Yes | Prints profile script(s) bash will use |
beeper |
Beeps over and over | |
bingrep |
Searches for a regular expression in arbitrary data from stdin | |
br |
Yes | Browse a file. Sounds simple? Maybe, but give it a try |
capture |
Saves output and other information from a command | |
chars |
Yes | Display a file character-by-character |
color.py |
Yes | Print text in the specified foreground/background colors |
columns |
Yes | Prints columns of stdin where columns are separated by a character or regular expression |
comm2 |
Alternate version of comm that does not expect the data to be sorted |
|
cores |
Prints CPU core information in a simple way | |
data-shell |
Yes, maybe | A shell-like interactive tool for navigating around JSON, YAML, and XML objects |
datemath |
Perform arithmetic on date(s) | |
dowhile |
Perform a command repeatedly until output is seen in the output | |
extensions |
Show extensions used by files | |
drop |
Yes | Drop the first or last n lines, similar to head /tail |
fernet |
Perform fernet encryption/decryption | |
fitwidth |
Yes | Restrict lines of data to a desired width |
flow |
Yes | Flow lines from stdin into columnar form |
fulltime |
Execute a command using standard time utility and all options available to it |
|
git-cat |
Yes | Display a file from another git branch |
git-pulls |
Yes | Do git pull on one or more repositories |
git-refresh-after-merge |
Yes | Refresh local git master branch after merging a feature branch |
gitstatus |
Yes | Show files in a local git repo that have been changed, etc. |
grep-cat |
Yes | Show lines in a file based on line numbers and/or regular expressions, ranges. |
headtail |
Yes | Print out the top and bottom of stdin or one or more files |
hex |
Print out data or a file in hex and character form | |
indent |
Yes | Indent stdin by a specified number of columns |
json |
Yes | JSON magic - it's a disservice to try to summarize this tool in a single string. Check out its page |
jsoncompare |
Compares JSON and/or YAML files, element by element | |
lexec |
Yes | Locate executable files by pattern |
megadiff |
Compare two directories trees | |
megassh |
Yes | Execute a command on one or more remote targets |
more-head |
Display the top of a file, filling up the the screen | |
nocrs |
Remove carriage returns from files | |
oldtable |
Parse data into a tabular form using a few input and output forms - replaced by table | |
peval |
Yes | Evaluate Python expression strings |
pipeit |
Maybe? Still new | Send data to a file on a remote system |
push-ssh-key |
Maybe? Still new | Push your public ssh key to a remote system |
pycomment |
Yes | vi command to toggle Python-style comments, similar to PyCharm ctrl-/ command |
pythons |
Show versions of Python/Python2/Python3 interpreters | |
recentdownloads |
Find recently downloaded files | |
remote-file |
Read or write a remote file in a filter | |
SecureKeyValues |
Manage secure key value stores | |
side-diff |
Yes | Perform side-by-side compare, utilizing all of the screen width |
ssh-exec |
Execute a script on a remote host | |
strip-trailing-whitespace |
Strip trailing whitespace from one or more files | |
supercd.sh |
Yes | Change to a directory that matches a pattern |
table |
Yes | Parse data into a tabular form using several input and output forms - more flexible than oldtable |
timer |
Display a progress meter over a specified duration of time | |
timestamp-my-file |
Add a timestamp to a filename | |
timestamps |
Show times when files were last modified, most-recently updated first | |
uniqc |
Yes | Counts unique instances of input |
undent |
Removes indentation from stdin | |
undupe |
Removes duplicate punctuation & whitespace | |
unixdate |
Invokes date with Unix-style format on Windoze |
|
versions |
Show versions of arbitrary commands | |
wholegrep |
Grep entire files that contain or do not contain regular expressions |