1
0
Fork 0
bin/README.md

7.2 KiB

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 - Add style to your output
  • hr - A horizontal ruler for your terminal
  • dropbox_uploader.sh - 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
  • 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 - 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 - A (what looks like) a brilliant html extraction tool. Supports various selector languages.
  • micro - A new (experimental) terminal-based text editor.
  • 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.
  • dtach - A minimal alternative to screen and tmux.
  • commacd - A faster way to move around.
  • drop_pagecache - A quick script I wrote to drop the linux page cache.
  • hastebin - A hastebin CLI.
  • quickshare - A quick way to share files via HTTP.
  • cscz - The one and only C# class generator. A little timesaving tool I built myself, written in C# or course :D
  • repren - A good bulk file renaming tool.
  • goldilocks - A script that displays all of the possible terminal colours.
  • catimg - A cool script to display images in the terminal. Useful when you're sshing into servers.
  • tldr - A bash client for tldr-pages.
  • git ignore - 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 - 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 - A live terminal broadcasting utility.
  • colortrans - 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 😺
  • 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 - 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 😺

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:

   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:

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.