1
0
Fork 0
bin/README.md

89 lines
7.2 KiB
Markdown

# bin
My Linux `~/bin` folder, including my `.bashrc` and `.bash_aliases`.
This repository will contain all the various tools and / or commands I find that I put in my `~/bin` folder.
Here's a list of the most interesting ones, along with what they do and where they came from (assuming I can find / remember):
- [style](https://github.com/LuRsT/style) - Add style to your output
- [hr](https://github.com/LuRsT/hr) - A horizontal ruler for your terminal
- [dropbox_uploader.sh](https://github.com/andreafabrizi/Dropbox-Uploader) - Dropbox Uploader is a BASH script which can be used to upload, download, list or delete files from Dropbox.
- swapusage - Shows swap usage by process. Useful for determining which services to restart if you aren't allowed to fiddle with your swap.
- extract - Extracts several different types of archive.
- mail-service-restart - Restarts all service related to my mail server. Currently needs upgrading to use systemd.
- decrypt - Decrypts something encrypted with a password with openssl.
- encrypt - Encrpyts something with a password with openssl.
- splitdotmbox.sh - Splits a `.mbox` file into it's component messages
- ctx - Shows contact switches by process in real time
- ps_mem - Shows memory usage by process.
- node-update - Adapted from a bash script given in a github issue for io.js, this script will update you to the latest version of node. I think that there's a bug with it, but it works well enough for me.
- stealtime - Tells you how much of your CPU time has been stolen by other virtual machines.
- [speedtest-cli](https://github.com/sivel/speedtest-cli)
- mountunishares - A script that automatically mounts my university file shares.
- pd - A directory stack helper. Insanely useful - I think I picked it up from a superuser answer somewhere.
- [transfer](https://transfer.sh/) - A look that looks very useful. Like termbin.com, but for any kind of file. Keeps files for 14 days, and has an uppder limit of 5GB.
- [xidel](http://www.videlibri.de/xidel.html) - A (what looks like) a brilliant html extraction tool. Supports various selector languages.
- [micro](https://github.com/zyedidia/micro) - A new (experimental) terminal-based text editor.
- [tig](http://jonas.nitro.dk/tig/) - A terminal-based git repository browser.
- backup - A script I wrote to make using Duplicity easier.
- genimagecomparisonframes - Another script I wrote to generate the frames for the first half of [this video](https://starbeamrainbowlabs.com/blog/images/20160525-Tessellator-Comparison.webm).
- [dtach](http://dtach.sourceforge.net/) - A minimal alternative to `screen` and `tmux`.
- [commacd](https://github.com/shyiko/commacd) - A faster way to move around.
- drop_pagecache - A quick script I wrote to drop the linux page cache.
- [hastebin](https://gist.github.com/flores/3670953) - A [hastebin](http://hastebin.com/) CLI.
- [quickshare](https://github.com/netham91/Quick-Share) - A quick way to share files via HTTP.
- [cscz](https://git.starbeamrainbowlabs.com/sbrl/cscz) - The one and only C# class generator. A little timesaving tool I built myself, written in C# or course :D
- [repren](https://github.com/jlevy/repren) - A good bulk file renaming tool.
- [goldilocks](http://unix.stackexchange.com/a/124460/64687) - A script that displays all of the possible terminal colours.
- [catimg](https://github.com/posva/catimg) - A cool script to display images in the terminal. Useful when you're sshing into servers.
- [tldr](http://github.com/pepa65/tldr-bash-client) - A bash client for
[tldr-pages](https://github.com/tldr-pages/tldr).
- [git ignore](https://gitignore.io/) - A really useful subcommand for git that allows you to generate ignore files automagically.
- organise-photos - A small bash script I wrote that organises the photos in a directory by year & month.
- [ogg-cover-art](https://github.com/acabal/scripts/blob/master/ogg-cover-art) - A script that adds cover art to ogg files.
- senddir - A small script I wrote to send whole directories over the network as a temporary thing. Uses netcat + gzip + tar.
- recvdir - The counterpart to the above that receives the directory sent.
- brightness.sh - Another small script I've written that controls the brightness of my screen. It works for me, but it may not work for you.
- ptr - A small script I wrote that uses `dig` to do PTR (reverse DNS) lookups, since I have to keep looking the command up every time :P
- * clip
- setclip - Sets the clipboard to the contents of the standard input
- getclip - Sends the current clipboard contents out of the standard output
- listenclip - Listens on localhost:5556 and pipes any data recieved into the clipboard. Make sure you're firewall is working correctly!
- sendclip - Pipes stdin to localhost:5556. Useful in conjuntion with ssh port forwarding and the tool above.
- serveclip - Serves the clipboard on port 5557. Doesn't close the connection automatically, sadly - pathes welcome!
- [shellshare](https://shellshare.net/) - A live terminal broadcasting utility.
- [colortrans](https://gist.github.com/MicahElliott/719710) - Convert rgb colours to xterm ones
- nautilus-here - A quick command that opens nautilus in the current directory. For lazy people :P
- ssh-retry - I forget where it came from, but this command reepeatedly calls ssh until it succeeds in connecting.
- quote-get - Displays a random quote from a remote file. The quote stays the same until the following day. The remote file is cached locally for convenience :smiley_cat:
- teleport / telepeek / telepick - A pair of quick functions in my `.bash_aliases` file for quickly jumping about. Works best if you've got a decent amount of free RAM for the cache.
- [reflac](https://github.com/chungy/reflac) - Small flac recompression script
## cloudsurfer.sh
`cloudsurfer.sh` is a new script I'm writing to bring some of the customisations I store here in this repository to terminals on shared machines - where I can't modify `.bashrc`, for example.
It's designed to be executed in a single bash context, and leave no trace on the host machine after the customisations are applied - just in case the bash process crashes! If need be, it can also be executed in multiple separate bash processes and will bring the customisations to each one separately - without interfering with the rest of the machine.
Due to it's transient nature, cloudsurfer is bound to be more lightweight and be missing a few features of the full list that my main bin folder can provide, but the aim is to make a foreign terminal feel a bit more like home :smiley_cat:
Here's a list of things it currently supports:
- Aliases - by dynamically loading the main `.bash_aliases`
- Colouring the prompt to remind you that cloudsurfer is active
- _(Got an idea of something to include? File an issue, or open a pull request!)_
To use it, simply paste this into the target terminal:
```bash
cstemp=$(mktemp); curl -o ${cstemp} -L https://goo.gl/ZTtVRq; chmod +x ${cstemp}; source ${cstemp}; rm ${cstemp}; cstemp=;
```
and then to drop out of cloudsurfer again:
```bash
exec bash && reset
```
## Disclaimer
I don't own many of the tools in this repository. If you are an owner of one of these tools and I haven't linked to you, please let me know as I probably forgot.