Master the command line, in one page.
Fluency on the command line is a skill often neglected or considered arcane, but it improves your flexibility and productivity as an engineer in both obvious and subtle ways. This is a selection of notes and tips on using the command-line that we've found useful when working on Linux. Some tips are elementary, and some are fairly specific, sophisticated, or obscure. This page is not long, but if you can use and recall all the items here, you know a lot.
Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, fish, tmux, IPython, Awesome, i3 and Qtile.
The minimal, blazing-fast, and infinitely customizable prompt for any shell!
A generic shell script compiler. Shc takes a script, which is specified on the command line and produces C source code. The generated source code is then compiled and linked to produce a stripped binary executable.
The compiled binary will still be dependent on the shell specified in the first line of the shell code (i.e shebang) (i.e. #!/bin/sh), thus shc does not create completely independent binaries.
unclutter your .profile.
direnv is an extension for your shell. It augments existing shells with a new feature that can load and unload environment variables depending on the current directory.
A package manager for shell scripts and functions.
Basher allows you to quickly install shell packages directly from github (or other sites). Instead of looking for specific install instructions for each package and messing with your path, basher will create a central location for all packages and manage their binaries for you.
Code coverage tool for Bash.
Bashcov is a code coverage analysis tool for Bash.
In most cases, you'll want overall coverage results for your project from shUnit2, Bats, bash_unit, assert.sh, bashaspec, etc. Bashcov automatically takes care of this by caching and merging results when generating reports, so your report includes coverage across your test suites and thereby gives you a better picture of blank spots.
It uses the SimpleCov coverage library to generate HTML reports. SimpleCov gets installed automatically when you install Bashcov.
Atuin replaces your existing shell history with a SQLite database, recording additional context for your commands. It also provides optional and fully encrypted synchronisation of your history between machines
a game to learn (or teach) how to use standard commands in a Unix shell.
Teaching first-year university students or high schoolers to use a Unix shell is not always the easiest or most entertaining of tasks. GameShell was devised as a tool to help students at the Université Savoie Mont Blanc to engage with a real shell, in a way that encourages learning while also having fun.
When hacking up Bash scripts, there are often things such as logging or command-line argument parsing that:
You need every time
Come with a number of pitfalls you want to avoid
Keep you from your actual work
Here’s an attempt to bundle those things in a generalized way so that they are reusable as-is in most scripts.
We call it “BASH3 Boilerplate” or b3bp for short.
Jeu francophone pour apprendre les commandes unix
Bash Infinity is a standard library and a boilerplate framework for writing tools using bash. It's modular and lightweight, while managing to implement some concepts from C#, Java or JavaScript into bash. The Infinity Framework is also plug & play: include it at the beginning of your existing script to import any of the individual features such as error handling, and start using other features gradually.
Command line pastebin for sharing terminal output.