Collection of random scripts that make my life in the Linux console way simpler.
Do not expect readability, stability, compatibility, portability, applicability, or survivability.
Most of them are just a verbatim dump of what I'm using on my system(s). Simply sharing them to give back to the community. Written in shell, bash, python, and even php.
This section is included because it may be impossible to understand what some of they do by simply looking at them.
2pdf <files ..>
converts office files to pdfafterpid <pid> <command>
executed the command after the specified process has terminatedaslr-off <command>
launches command with ASLR disabledawkavg [n]
calculates the math average of a columnawkrc
swaps first and second column (and removes the rest)awksum [n [g1 g2 ...]]
outputs the decimal sum of first column (or nth) column grouping them by columns g1 and g2 and ...awksumtable
outputs the decimal sum of all the columnsbase64clipboard [file]
copies a file to clipboard for transfer to remote server via base64binwalk-all [params]
tells binwalk to find (and potentially extract) every known file typecollage <images>
joins images side-by-side preserving original resolutioncollage.v <images>
joins images vertically preserving original resolutiondeflate
deflates contentdiffsort <file1> <file2>
diff two files, but sort them before diffingfilldisk
fills the current directory with randomized 4GiB fileshtmlentitydecode
decodes HTML entitiesinflate
inflates deflated contentjson2csv
converts json input to csv outputmelodyping [params] <dest>
pings dest and produces a sound on every packet received (pitch is latency depenedent)melodywatch <command>
watch command and procude audible alert when output changesmountvdi <file.vdi>
mount and unmount vdi imagesodfgrep <string> <files ..>
identifies ODF files that contain the stringonlyascii
filter out non-printable characterspaths2fs <basedir>
convert list of paths (e.g. find output) to actual filesystempdf2image <file.pdf> [out.pdf]
'print-and-scan' file.pdf document, save as out.pdf; pauses in the middle so edits can be done if neededpdfbooklet <file.pdf>
prepares file.pdf to be printed as a book (two-sided); BOOK1-file.pdf is to be printed on one side and BOOK2-file.pdf on the other side of the paper stackpdf.clear-meta <file.pdf>
removes metadata from file.pdf overwriting itpdf.convert_from_iOS
converts iOS Keynote generated pdf file so that loading it doesn't take forever; overwrites originalrange <n>
generates all n-digit numbers from 000...000 to 999...999; likeseq
but prints "004" instead of "4"renamelinks <perlexpr> <files ..>
takesrename
syntax but changes the symlink string instead of renaming the filerir2nmap
converts whois inetnum/NetRange/etc. output (e.g. "8.0.0.0 - 8.127.255.255") to format that nmap can take as a parameter (e.g. 8-8.0-127.0-255.0-255)selcol <n1,n2,n3>
prints only selected columns (alias for awk '{print $n1,$n2,$n3}')sftp-once [params] [user@]<host>
makes sftp connection to host without verifying or saving keysshqueue
asynchronously executes long-running shell commands one-by-one; first instance will become the server, the others will be clients (shqueue [commandprefix]
)skiprows <n>
skip first n rowssortuniq [-c]
much faster (to my own surprise) replacement forsort | uniq
; removes duplicate lines without actually sorting themssh-once [params] [user@]<host>
makes ssh connection to host without verifying or saving keysssh-once-legacy [params] [user@]<host>
makes ssh connection to host without verifying or saving keys; supports obsolete algorithmsstriptags
removes HTML tagstar.nometa [params]
creates a tar archive without any metadatatoplines [-n]
show most prevalent lines and their count; prints top n linestranspose
transposes IFS separated tabletrimn
removes trailing newline(s) from inputunbuffer <command>
disables output buffering for commands that can't do that nativelyurldecode
decodes URL encoded characters (RFC3986)urlencode
URL encodes characters (RFC3986)vprogress [target[!]] <command>
shows remaining time until command output reaches zero (or target number); use target! for exact match command is run periodically and must return a single integerxargs1 [options] <command>
executes command with parameters taken from input; alias forxargs -L1
xident
prints the most useful info about an X window selected with your mouse