Skip to content

Instantly share code, notes, and snippets.

@mdmartinez
Created October 22, 2018 12:20
Show Gist options
  • Save mdmartinez/d03d67e3695c243282a2cf810d27bc50 to your computer and use it in GitHub Desktop.
Save mdmartinez/d03d67e3695c243282a2cf810d27bc50 to your computer and use it in GitHub Desktop.
help-tools-cli-mgmt() {
echo "
# 'tldr'
# Abbreviated man pages.
# 'cheat'
# Alternative to 'tldr'.
# 'howdoi'
# Instant coding answers.
# 'brew cask'
# Install Mac apps.
# 'm-cli'
# Useful utils for MacOS.
# 'mas'
# CLI for Mac App Store.
# 'hub'
# Github wrapper.
# 'git browse -- issues' => open https://github.com/github/hub/issues
# 'git browse mojombo/jekyll wiki' => open https://github.com/mojombo/jekyll/wiki
# 'git clone dotfiles' => git clone git://github.com/YOUR_USER/dotfiles.git
# 'git clone github/hub' => git clone git://github.com/github/hub.git
# 'git fork' => git remote add YOUR_USER git://github.com/YOUR_USER/hub.git
# 'git checkout https://github.com/github/hub/pull/134'
# => creates a new branch with the contents of the pull request
# 'git am -3 https://github.com/github/hub/pull/134'
# => directly apply all commits from a pull request to the current branch
# 'git cherry-pick https://github.com/xoebus/hub/commit/177eeb8' => cherry-pick a GitHub URL
# 'git compare v0.9..v1.0' => open the GitHub compare view between two releases
# 'git compare -u feature | pbcopy' => put compare URL for a topic branch to clipboard
# 'saws'
# supercharged AWS CLI.
# 'gcloud'
# google cloud CLI.
# 'up'
# One-command deploys to AWS.
# 'serverless'
# AWS Lambda deployments.
# 'datadog-agent'
# agent for datadog.
# call 'status' for status, and 'launch-gui' for the webui.
# 'rclone'
# rsync for cloud storage.
# https://github.com/ncw/rclone
# 'cockpit'
# sysadmin panel for linux servers.
# https://cockpit-project.org/
# 'haxor-news'
# CLI for HN.
# 'fasd'
# Fancy cd.
# 'exa'
# Fancy ls (Rust).
# 'pandoc'
# Universal markup converter.
# 'gifify'
# Convert a video to a GIF.
# 'httpie'
# HTTP client. Fancy curl.
# 'pgcli'
# Postgres CLI with autocomplete and syntax highlighting.
# 'pgweb'
# Postgres client with in-browser IDE.
# 'commitizen'
# Nice git commit message formatter.
# 'tmux'
# Terminal multiplexer.
# 'links'
# Text based web browser.
# 'asciinema'
# Terminal session recorder.
# 'termtosvg'
# Terminal session recorder (to svg animation!)
# 'hyperfine'
# benchmarking tool.
# 'fast'
# Netflix DC speed test.
# 'speedtest'
# ISP speed test.
# 'license-up'
# Quickly create a license.
# 'youtube-dl'
# Download YouTube videos.
# 'bat'
# Fancy version of cat.
# 'ccat'
# Fancy version of cat.
# 'imgcat'
# cat for images.
# 'entr'
# Filesystem watcher.
# Nice for builds and tests on file changes.
# 'reflex'
# Filesystem watcher.
" | ccat
}
help-tools-cli-search() {
echo "
# 'rg'
# Very fast search one.
# 'ag'
# Very fast search two.
# 'fzf'
# Command-line fuzzy finder.
# C-T brings up interactive search.
# You can select multiple items with TAB key
# code **<TAB>
# ps aux | fzf
# history | fzf
# kill -9 <TAB>
# ssh **<TAB>
# telnet **<TAB>
# unset **<TAB>
# export **<TAB>
# unalias **<TAB>
# 'mdfind'
# CLI for Spotlight.
# 'fd'
# find with a better API.
# 'hound'
# Very fast code search.
# 'grep'
# The original searching tool.
# Examples
# 'grep -whor'
# Pinches whole words '(by regex usually, e.g. [A-Z][A-Za-z]*Exception)' out of files recursively. Then throw in 'sort' and 'uniq -c'.
# Example: 'grep -whor [A-Z][A-Za-z]*Exception * | sort | uniq -c'
# Add '1 | grep -Fwf - *' to then take that list of exceptions and find them back in the actual files again.
" | ccat
}
help-tools-cli-data() {
echo "
# 'jq'
# JSON processor.
# 'underscore'
# JSON processor.
# 'rq'
# Record analysis and transformation.
# 'xsv'
# CSV command line toolkit (Rust).
# 'pv'
# Monitor data through a pipe.
# 'lnav'
# Log file analysis.
# 'statsd'
# Statistics collector. Useful for sending stats to a graphing tool like Graphite.
# 'netdata'
# Stats monitoring.
" | ccat
}
help-tools-cli-status() {
echo "
# 'neofetch'
# displays basic terminal info.
# 'screenfetch'
# displays basic terminal info.
# 'tiny-care-terminal'
# displays motivational tweets and tracks local git repos.
# 'wtf'
# Status board for linked online accounts (JIRA, PagerDuty, etc).
" | ccat
}
help-tools-cli-perf() {
echo "
# 'uptime'
# Uptime and CPU stress.
# 'dmesg | tail'
# Last ten system messages.
# 'w'
# Who has been on.
# 'last or head'
# Who is or has been on.
# 'ps auxf'
# Whats running.
# 'vmstat 1'
# 1 sets a one second query interval.
# The 'procs' column shows waiting processes.
# Procs > total CPUs == BAD.
# 'mpstat -P ALL 1'
# CPU usage by CPU.
# 'pidstat 1'
# like top, but a rolling history.
# 'iostat -xz 1'
# 'free -m'
# Current free memory in megabytes.
# 'sar -n DEV 1'
# Without flags, this is equal to mpstat, but it rolls up CPUs.
# The '-n' flag switches to network info.
# 'sar -n TCP,ETCP 1'
# Active network connections.
# 'netstat -lntup'
# processes and owners of open TCP or UDP ports.
# 'netstat -atpn'
# all currently active tcp network streams.
# 'netstat -tlpn'
# find server role.
# Other netstats: 'netstat -panult', 'netstat -penult'
# 'df -hi'
# Out of disk space?
# 'grep kill /var/log/messages'
# Out of memory?
# 'htop'
# Stressed?
# Look out for D (waiting on I/O typically) processes.
# 'history'
# What has changed recently.
# 'tail /var/log/application.log'
# Anything interesting logged?
# 'tty'
# Returns the terminal name.
# Various neworking commands: 'ngrep', 'tcpdump', 'tcpflow', 'nc', 'nmap'
# Various monitoring tools:
# 'htop' - PID Dashboard
# 'vtop' - Fancy PID Dashboard
# 'glances' - Another Fancy PID Dashboard
# 'atop' - Active Process Dashboard
# 'iotop' - I/O Dashboard
# 'iftop' - Network Dashboard
# 'dstat' - nicer version of vmstat + iostat + ifstat
# 'mtr' - trace route + ping
# Monitoring Daemons:
# 'psmon', 'monit'
" | ccat
}
# Make PATH easier to read by printing each directory on a new line
easypath() {
echo '\n'; echo $PATH | tr ':' '\0' | xargs -I _ -0 echo _ | ccat
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment