Giter Club home page Giter Club logo

bin-3's Introduction

Tools that make my shell life easier.

See bashrc-pack for how I append them to my bashrc.

Most of the tools are implemented in bash or core perl so they don't have
additional dependencies and run directly on any current linux distro.

Most bash scripts depend on my bash-helpers script - so make sure it's
in your path.

Descriptions:

.gitignore:
    Logs
H:
    Open --help output in vi
abs:
    Print the absolute path of a file or dir
alternative:
    Find an on disk executable alternative
alternative-run:
    Find an on disk executable alternative and run it
apt-dump-installed-packages:
    Dump names of all installed packages to a file
apt-hold-package:
    Prevent a deb package from beeing upgraded
apt-install-packages-from-file:
    Install packages listed in a file
apt-popularity:
    Search for a debian package, sort by ranking, add description
apt-unhold-package:
    Return a deb package to its default upgrade state
archive:
    Copy a file to ~/backups/ appending a timestamp
archive-mv-to:
    Move a file to ~/backups/ appending a timestamp
audio-file-prefix-track-number:
    Add a leading two digit track number to the file name
audio-ogg-from-any:
    Convert any audio file to ogg
audio-split-by-cue:
    Split an album audio file into several tracks using a cue file
bak:
    Backup a file appending a timestamp
bash-background-jobs-count:
    Display one colored count for background jobs running and stopped
bash-eternal-history-search:
    Search specially formatted bash history
bash-helpers:
    Helper functions for shell scripts
bash-jobs:
    Cleaned up bash jobs replacement
bash-print-on-error:
    Print error code of last command on failure
bash-setup-multi-user-environment:
    Share one account with serveral users but create their own
    environment
bash-with-comments:
    Remove comments from a bash script and run it
bashrc-eternal-history-add-simple:
    Add an entry to the eternal history
bashrc-helper-hostname:
    Format hostname for bash prompt usage
bashrc-helper-login-name:
    Format login for bash prompt usage
bashrc-install:
    Install and run specified installer_command
bashrc-linux-distribution-fix-suse:
    Script to run when logging into a suse machine
bashrc-pack:
    Attach scripts to the bashrc skeleton
bashrc-unpack-and-run:
    Run a script that is attached to the bashrc
bashrc-upload:
    Generate and deploy fat packed bashrc
bytes-from-human:
    Convert a size from human friendly to bytes
bytes-to-human:
    Convert a size of bytes to human friendly
cd-find:
    Search for file or dir in current dir and go there
cd-history:
    Search history for an existing directory containing string and go
    there
chroot-fully-working:
    Setup fully working change root
clear-with-scrollback:
    Clear screen including scrollback buffer
command-knows-switch:
    Check if an app supports specified switch
cp-merge-directories-by-hardlinks:
    Merge two directories on the same disk recursively by using hard
    links
cpanm:
    Allow cpanm to install modules specified via Path/File.pm
cpanm-install:
    Setup home directory based perl environment and cpanm
cpanm-list-locally-installed-modules:
    List all cpanm installed perl modules
cpanm-reinstall-local-modules:
    Reinstall all cpanm installed perl modules (i.e. to recompile after
    server move)
crontab-setup:
    Add default crontab settings to existing crontab
csvview:
    Quick way to view a csv file on the command line
ctags-index-sources:
    Create tags for all source directories
ctags-setup:
    Save ctags configuration file
dev-bin-generate-readme:
    Generate README with descriptions for bin scripts
df:
    Cleaned up df version
diff-dir:
    Diff 2 directories recursively comparing file contents and not file
    attributes
diff-so-fancy:
    Install diff-so-fancy
dir-name-prettifier:
    shorten prompt dir to max 15 chars
docker-ls:
    List some docker information
docker-ubuntu:
    Start a volatile ubuntu docker container
docker-ubuntu-persistent:
    Start a persistent ubuntu docker container
docopt-convert:
    Convert a docopt specification
dos2unix:
    Convert line endings from dos to unix
env-grep:
    Grep environment
env-show:
    Display infos about the system
file-add-line-if-new:
    Add a line to a file if a line matching regex is not found
file-compress-if-size-reaches:
    Compress a file depending on size
file-public-upload:
    Share a file on a public space
file-template-filler:
    Create a file from a template
files-replace-from-env:
    Replace files with content from environment variables
find-and:
    Find files excluding dotfiles optionally matching several strings
find-and-limit:
    find-and with a limit
find-from-date:
    Find files newer than date
find-largest-directories:
    Find largest directories recursively from current directory
find-largest-files:
    Find largest files recursively from current directory
find-newest:
    Recursively find newest files
find-older-than-days:
    Recursively find files oder than days
find-or-grep:
    Find a file or grep stdin
git:
    Default options for git commands
git-env-validate:
    Ensure git-scm is configured appropriately
git-ignore:
    Download and save a default .gitignore for a specific environment
git-log-compact:
    Show compact git log
git-log-file:
    Show complete changes to a file in git
git-modified:
    List all modified files since last git commit
git-project:
    Print git project root dir name
git-reset-head:
    Discard all current changes in directory
git-reset-head-to:
    Discard commits dating back to specified commit
git-reset-origin:
    Discard all current changes in directory to origin/master
git-root:
    Print git project root
git-setup:
    Setup default git configuration
gnome-send-to-mail-images:
    Resize one or more images and add them as attachements
gnome-send-to-mail-images-setup:
    Download and setup gnome-send-to-mail-images
gnome-terminal-prevent-cursor-blinking:
    Prevent the gnome-terminal cursor from blinking
gotroot:
    Make sure we're running as root
grep-and:
    Search for lines matching one or more perl regex patterns
grep-before:
    Print file contens before a specified regex first matches
grep-from:
    Print file contens from where a specified regex first matches
grep-goo:
    Or-grep but list matching patterns instead of matching lines
grep-list:
    Grep for a list of values
grep-or:
    or-grep list matching lines
grep-or-with-header:
    or-grep and print paragraph headers
groups-reload-memberships:
    Start new shell to "reload" changes to the list of groups the user
    belongs to
hd-set-spin-timeout:
    Activate spindown and set spindown timeout on (buggy - i.e.
    Seagate) hard drives that don't do it themselfes
head-warn:
    Limit input lines and warn if more lines are left
html-strip:
    Strip HTML of tags and entities
iptables-port-redirect:
    Forward an incoming port to a different port
java-decompile-jar:
    Recursively decompile a jar including contained jars
java-install-oracle-java-v8:
    Install oracle java 8
js-format-using-prettydiff:
    Javascript formatter using "npm install prettydiff"
json-tidy:
    Tidy a json file and sort hash keys to make the output diffable
json2yaml:
    Install json2yaml
keyboard-disable-caps-lock-console:
    Map caps lock to escape for consoles
keyboard-remap-keys-xwindows:
    Map caps lock to escape etc for X
keyboard-reset:
    Reset keyboard settings
line-print:
    Draw a line on the terminal spanning the whole width optionally
    including a message
linux-distribution-info:
    List linux distribution variables
ls-creation-time:
    List the creation time of a file
man-explain-options:
    Display man page infos about command line options
man-multi-lookup:
    Lookup help for a command in several places
man-online:
    Lookup a man page on the internet
markdown-view:
    View markdown in the terminal
mem-empty-swap-to-ram:
    Empty swap back to ram if possible
mem-swap-per-process:
    Show swap usage per process
mysql:
    Fix mysql prompt to show real hostname - NEVER localhost
mysqldump-structure:
    Dump the structure without the data of a mysql database
neovim-setup:
    Setup neovim
net-find-free-port:
    Find an unused port
net-ip2name:
    Replace ip adresses with host names inside of text
net-open-ports:
    List all open ports
net-scan-private-network:
    Scan for hosts in private network
node-install:
    Install latest node version
note:
    File of notes and a way to query them
npm-readme:
    Find and print README.md of node executable
npm-set-global-modules-dir:
    Make npm use local dir for modules
npm-set-proxy-from-environment:
    Set proxy from environment
nvm-setup:
    Setup nvm (node version manager)
once:
    Print stdin once if it has changed since last time
password-generate:
    Generate a list of random and secure passwords
path-grep:
    Find an executable in path
path-list:
    List PATH enties one per line
perl-force-stacktrace:
    Force stracktrace output from a perl script
perl-install-deps-for-module:
    Install all CPAN dependencies for a module
perl-install-latest-stable-perl:
    Install latest stable perl via perlbrew
perl-install-module:
    Quickly check if a module is installed - if not install it
perl-install-modules-into-perl-version:
    Install all modules from one perlbrew managed perl installation
    into another
perl-install-perlbrew:
    Install perlbrew
perl-module-create:
    Identify a perl class name in a line of code and open or create its
    file
perl-module-edit:
    Edit perl module that is located within perls module path
perl-module-find:
    Find a perl module or script
perl-module-version:
    Print version of an installed perl module
perl-named-process:
    Set process name of perl process to script name. Usefull when run
    via /usr/bin/env
perl-plack-test-server:
    Start a plack server for debugging with autoreloading of changed
    files
perl-profile:
    Profile a perl app and display the html results
perl-upgrade-outdated-modules:
    Upgrade installed perl modules if a new version is available
pipe-wrapper:
    Emulate a pipe for a program that does not support one itself like
    eslint
pm2-logrotate-config:
    Display the config of the logrotate module of pm2
pm2-setup:
    Setup pm2 including log rotation
projects-start:
    Start all local projects that have a start script
prompt-dir:
    Prompt containing only the prettified current directory
prompt-dir-full:
    Prompt containing the current directory ony
prompt-helper-git:
    Add git status information to prompt
prompt-host:
    Prompt containing the current hostname
prompt-local:
    Prompt for local shells - without hostname
prompt-plain:
    Static prompt
prompt-spare:
    Prompt without user name
proxy-setup-env:
    Set proxy environment variables
proxyserver:
    Install and run a proxyserver from the cpan
ps-watch:
    Watch a process
pstree-search:
    Display or search pstree, exclude current process
publicip:
    Find own public ip when behind proxy
rel:
    Create a relative path from an absolute path
replace:
    Change the contens of text files by perl expression
rest-post-json:
    Send a POST request to a website
rest-server:
    JSON backed rest server
run-and-capture:
    Run a program and pretty print all its outputs
run-or-test:
    Run a programs tests if any exist otherwise the program itself
screen-reattach:
    Reattach to a screen session
shell-color-test:
    most color mappings taken from xterm-colortest
shell-line-wrap-off:
    Turn off shell line wrapping
shell-line-wrap-on:
    Turn off shell line wrapping
shell-open-access-on-freeport:
    Create shell access on a free port
sort-by-path-depth:
    Sort input by depth of path
ssh-agent-env-clear:
    Remove connection to ssh-agent
ssh-agent-env-grab:
    Save ssh-agent environemnt variables to be loaded in another
    session or on
ssh-agent-env-restore:
    Dump ssh-agent vars stored by ssh-agent-env-grab
ssh-no-check:
    SSH without host key checks
ssh-persistent-reverse-tunnel-setup:
    Setup a persistent reverse tunnel
ssh-server-turn-off-password-authentication:
    Change local sshd config to disallow password authentication and
    restart sshd
ssh-with-reverse-proxy:
    Proxy traffic of a remote host through localhost
ssl-create-self-signed-certificate:
    Create a self signed certificate
ssl-strip:
    Remove ssl encryption from https and other protocols
text-context-grep:
    Grep for a regex and display matches with context
text-from-any:
    Convert any file to text
text-quote:
    Quote text
text-remove-comments:
    Remove comment from text
time-dehumanize:
    Convert a humanized time spec into seconds
time-humanize-seconds:
    Return a humanly comprehendable representation of an amount of
    seconds
time-stamp-to-date:
    Print date for a timestamp
tmux-reattach:
    Reattach or create a new tmux session
tmux-session:
    Start a named tmux session with 10 tabs
tmux-synchronized-panes-toggle:
    Toggle synchronized tmux panes
top-mem:
    View top ordered by memory usage
trash:
    Move a file to a trash dir at the files location
tree:
    List a directory as a tree
tree-diff:
    Diff two directory structures
ubuntu-setup:
    Stuff to do after a new ubuntu installation
ubuntu-setup-automatic-updates:
    Make sure update and backports soures are activated
ubuntu-unity-set-time-format:
    Set time format of ubuntu unity desktop clock
uniq-unsorted:
    uniq replacement without the need for sorted input
unix2dos:
    Convert line endings from unix to dos
url:
    Print absolute SSH url of a file or directory
url-decode:
    Decode a string from URL notation
url-encode:
    Encode a string to URL notation
user-add:
    Add a new user to the system without hassle
vi:
    Setup and run vim
vi-choose-file-from-list:
    Edit a file from a list on STDIN
vi-from-find:
    Recursively search for a file and open it in vim - TODO
vi-from-history:
    Search eternal history for an existing file an open it in vi
vi-from-path:
    Find an executable in the path and edit it
vi-from-perl-inc:
    Find an executable in the perl %INC and edit it
video-dvd-install-decss:
    Install decss for encrypted dvd playback
video-dvd-rip:
    Rip and transcode a video dvd
video-transcode:
    Transcode a media file to x264 preserving all video, audio and
    subtitle tracks
vim-firefox:
    Vim to use from firefox addon its-all-text
vim-setup:
    Setup vim environment
vim-url:
    Print absolute SSH url of a file or directory in vim syntax
vnc-server-setup-upstart-script:
    Setup remote desktop access via ssh and vnc right from the login
    screen of
vnc-start-vino:
    Start vino vnc server
vnc-vino-preferences:
    Set vino preferences
vncviewer:
    preconfigured to use ssh
wcat:
    Easily dump a web site
webserver-file-manager:
    Serve a file manager for the current directory via http
webserver-serve-current-directory:
    Serve current directory files via http
webserver-serve-current-directory.pl:
    Serve current directory files via http - perl version
wikipedia-via-dns:
    Query wikipedia via DNS
window-blink:
    Blink current window
x2x-east:
    Share input devices with another host
xdg-cache-home:
    Return xdg cache home
xmv:
    Rename files by perl expression
xtitle:
    Change the title of a x window

bin-3's People

Contributors

nilsboy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.