bash-snippets(1) -- A collection of small bash scripts for heavy terminal users ==== ## Tools ### Cheat Description: Cheatsheets for quick information about multiple programming languages along with terminal commands Usage: cheat [flags] [command] or cheat [flags] [programming language] [subject] * -s Does a search for last argument rather than looking for exact match * -i Case insensitive search * -b Word boundaries in search * -r Recursive search * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version Special Pages: * hello Describes building the hello world program written in the language * list This lists all cheatsheets related to previous arg if none it lists all cheatsheets * learn Shows a learn-x-in-minutes language cheat sheet perfect for getting started with the language * 1line A collection of one-liners in this language * weirdness A collection of examples of weird things in this language Examples: * cheat rust hello * cheat -r -b -i go * cheat julia Functions * cheat -i go operators ### Cloudup Description: Backs up a users github repositories to your bitbucket account. With no flags cloudup will guide you through backing up a single repository Usage: cloudup [flags] or cloudup [flags] [listOfGHRepoNamesSplitBySpaces] * -p Upload the repositor(y)(ies) as private to bitbucket (must have private repo ability on bitbucket) * -a Backup all github repositories * -s Only backup repositories that you have created (no forks) (only works in conjunction with the -a flag) * -t Backup the repository with a timestamp added to the repostiory name (will always create a new unique bitbucket repo) * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version Examples: * cloudup * cloudup -p -a * cloudup -p nameOfRepo1 nameOf Repo2 * cloudup nameOfRep ### Crypt Description: A wrapper around openssl that facilitates encrypting and decrypting files. Usage: crypt [flag] [inputFile] [outputFile] * -e Encrypt the inputFile and store it in the outputFil * -d Decrypt the inputFile and store it in the outputFil * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version Examples: * crypt -e mySecretFile.txt myEncryptedFile.jpg (change filetype so default program is incorrect) * crypt -d myEncryptedFile.jpg thisIsNowDecrypted.txt (change filetype back so now default program is correct) ### CryptoCurrency Description: A realtime cryptocurrency converter. With no flags it will guide you through the cryptocurrency exchange Usage: cryptocurrency or cryptocurrency [flag] or cryptocurrency [base] [exchangeTo] [amount] * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version Supported Base Currencies: ___________________________ | BTC | ETH | XRP | LTC | | XEM | ETC | DASH | MIOTA | | XMR | STRAT | ___________________________ Supported Target Currencies: ________________________ | AUD | BRL | CAD | CHF | | CNY | EUR | GBP | HKD | | IDR | INR | JPY | KRW | | MXN | RUB | USD | _______________________ Examples: cryptocurrency BTC USD 12.35 cryptocurrency ### Currency Description: A realtime currency converter. With no flags it will guide you through the currency exchange Usage: currency or currency [flag] or currency [base] [exchangeTo] [amount] * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version Supported Currencies: _______________________ | AUD | BGN | BRL | CAD | | CHF | CNY | CZK | DKK | | EUR | GBP | HKD | HRK | | HUF | IDR | ILS | INR | | JPY | KRW | MXN | MYR | | NOK | NZD | PHP | PLN | | RON | RUB | SEK | SGD | | THB | TRY | USD | ZAR | _______________________ Examples: * currency EUR USD 12.35 * currency ### Geo Description: Provides quick access for wan, lan, router, dns, mac, and ip geolocation data Usage: geo [flag] * -w Returns WAN IP * -l Returns LAN IP(s) * -r Returns Router IP * -d Returns DNS Nameserver * -m Returns MAC address for interface. Ex. eth0 * -g Returns Current IP Geodata Examples: * geo -g * geo -wlrdgm eth0 Custom Geo Output => [all] [query] [city] [region] [country] [zip] [isp] Example: geo -a 8.8.8.8 -o city,zip,isp * -o [options] Returns Specific Geodata * -a [address] For specific ip in -s * -v Returns Version * -h Returns Help Screen * -u Updates Bash-Snippets ### Movies Description: Provides relevant information about a certain movie. Usage: movies [flag] or movies [movieToSearch] * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version * -d Show detailed information ### Newton Description: Performs numerical calculations all the way up to symbolic math parsing. Usage: newton [operation] [expression] or newton [flag] * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version |Operations Sample Expression Sample Result| |---------------------------------------------------| |Simplify [[2x^2]+7]*[4x^2] 8 x^4 + 28 x^2 | |Factor x^2 + 2x x (x + 2) | |Derive x^2+2x 2 x + 2 | |Integrate x^2+2x 1/3 x^3 + x^2 +C| |Roots/Zeroes x^2+2x 2, 0 | |Tangent 2~x^3 12 x + -16 | (Finding tangent line when x=2 for expression x^3) |Area 2:4~x^3 60 | (Finding area under curve from 2 to 4 for expression x^3) |Cos pi -1 | |Sin pi 0 | |Tan pi/4 1 | |ArcCos 1 0 | |ArcSin 0 0 | |ArcTan pi arcsin(pi) | |Abs -2 2 | |Log 2~8 3 | (Log base 2 of eight) Valid Symbols: + add - subtract [ left parenthesis (you must use brackets bash has a bultin for parenthesis) ] right parenthesis (you must use brackets bash has a bultin for parenthesis) * multiply / divide ^ power : between the range of left and right side (only for area under curve) ~ parameter on right side (only for area, tangent line and log) Examples: * movies Argo * movies Inception ### Qrify Usage: qrify [stringtoturnintoqrcode] Description: Converts strings or urls into a qr code. * -u Update Bash-Snippet Tools * -m Enable multiline support * -h Show the help * -v Get the tool version Examples: * qrify this is a test string * qrify -m two\\\\nlines * qrify github.com # notice no http:// or https:// this will fail ### Short Description: Unmasks shortended urls. Usage: short [shortURL] or short [flag] * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version Example: * Input: short tinyurl.com/jhkj * Output: http://possiblemaliciouswebsiteornot.com ### Siteciphers Description: Checks the available ciphers for the SSL of an https site. Usage: siteciphers [flag] or siteciphers [optionalDFlag] [website] * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version * -d Set the delay between requests sent to the site (default is 1 sec) Examples: * siteciphers github.com * siteciphers -d 0.75 google.com ### Stocks Description: Finds the latest information on a certain stock. Usage: stocks [flag] or stocks [company/ticker] * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version Examples: * stocks AAPL * stocks Tesla ### Taste Description: A recommendation engine that provides 3 similar items based on some input topic. Taste also has the ability to provide information on the item of interest. Supports: shows, books, music, artists, movies, authors, games Usage: taste [flag] [item] * -i Get more information on similar items * -s Get information on the item itself * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version Examples: * taste -i Kendrick Lamar * taste Catcher in the Ry * taste -s Red Hot Chili Peppers ### Todo Description: A simplistic commandline todo list. Usage: todo [flags] or todo [flags] [arguments] * -c Clear all the current tasks * -r Remove the following task number * -g Get the current tasks * -a Add the following task * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version Examples: * todo -a My very first task * todo -r 1 * todo -g * todo -c ### Weather Description: Provides a 3 day forecast on your current location or a specified location. With no flags Weather will default to your current location. Usage: weather or weather [flag] or weather [country] or weather [city] [state] * weather [optionalLocation] [i][M] get weather in imperial units, optional M means windspeed in m/s * weather [optionalLocation] [m][M] lowercase m gets weather in metric units, optional M means windspeed in m/s * weather [Moon] grabs the phase of the moon * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version Examples: * weather * weather Paris m * weather Tokyo * weather Moon * weather mM ### Ytview Description: Search and play youtube videos right from the terminal. Usage: ytview [flag] [string] or ytview [videoToSearch] * -s Searches youtube * -c Shows the latest videos of a channel * -u Update Bash-Snippet Tools * -h Show the help * -v Get the tool version Examples: * ytview -s Family Guy Chicken Fight * ytview -c Numberphile ## Updating With any of the installed tools you can automate the update by running it with the -u option or passing in update as the arguments * stocks update or * stocks -u This will clone the repository and install the new versions of scripts that were installed, if you didn't install a certain tool this script will not install the new version of that tool. ## Uninstalling If you don't have the Bash-Snippets folder anymore clone the repository: git clone https://github.com/alexanderepstein/Bash-Snippets` cd into the Bash-Snippets directory: `cd Bash-Snippets` To go through a guided uninstall * ./uninstall.sh ## AUTHOR Alexander Epstein Github: https://github.com/alexanderepstein ## Contributors Jake Meyer Github: https://github.com/jakewmeyer Linyos Torovoltos Github: https://gitbub.com/linyostorovovoltos ## License MIT License Copyright (c) 2017 Alex Epstein Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.