| abspath | show absolute path of a file |
| addcr | add CR (ASCII 13) to end of line (LF → CRLF) example: addcr fordos.txt |
| delcr | delete CR (ASCII 13) at end of line (CRLF → LF) example: delcr forunix.txt |
| ax | list and (save) extract .tar .tar.gz .tgz .tar.bz2 .zip archives |
| bconvert | conversion between binary, octal, decimal, hex and ASCII values example: h2d 7FEA A0 |
| aw2re | mail-filter to convert irregular AW-subjects to RFC-conform RE-subjects. example: cat mail | aw2re |
| calc | simple bc based CLI calculator example: calc 4*1024+512 |
| pcalc | simple Perl based CLI calculator example: pcalc 4k+512 |
| catz | gzip-aware cat: concatinates normal and compressed files to STDOUT example: catz syslog* > syslog_complete |
| cdb / cdbm | cd with bookmarks |
| chmod_gorx | set r and x permissions like user (recursivly) |
| clone | clone a file (for filesystem with snapshot support) |
| clp | command line perl: "Perl shell" for one-line scripting, testing and development |
| codecount | count lines and bytes of code, but ignore leading spaces and empty lines example: codecount *.pl |
| colsum | sum up columns example: ls -l | colsum -v 5 |
| count | count numbers or characters from..to (up or down) example: for i in $(count 1 20); do echo $i; done |
| cpal | copy or move files recursivly using hard links, optionally overwriting existing files |
| d3 | d3 decimal numbers format filter example: df . | d3 |
| declutter | filter to remove terminal control sequences (e.g. from typescript) |
| del | save file (un)delete |
| delink | convert hard or symbolic link to regular file |
| delumlaut | convert Umlauts to Duden vocale-transcription example: delumlaut *.txt |
| df3 | better df with d3 decimal numbers format |
| dnsdomainname | print the DNS domain name |
| domainsort | sort lines with domain names or e-mail addresses for domain names |
| du3 | du with d3 decimal numbers format (du ignores hard links - see fs) |
| erase | secure delete files by overwriting with NULL bytes |
| epoch | print UNIX epoch seconds or convert ISO date-string to epoch example: epoch 2008-10-15 18:04:52 |
| exargs | read argument lines from STDIN (pipe) and execute program with it (extended xargs) example: ls x* | exargs xmessage %a |
| extract | extract lines from..to line number example: extract 5-11 /etc/passwd |
| fhexdump | hex and ASCII dump example: fhexdump /etc/issue |
| findsame | find files with identical content or same inode on same filesystem example: findsame /etc |
| fileid | show filesystem and inode numbers |
| fpg | Frams' Perl grep: grep with Perl regular expressions, highlight output, paragraph mode, mbox, binary and gzip support example: fpg '\d+ BLOCKED' syslog*.gz |
| frename | frename files with regexp-syntax example: frename '.tar.gz/.tgz' *tar.gz |
| fs, fs3(*) | file sizes: like du/du3 but count hard links too example: fs -3 /usr/src |
| fstat | Frams' stat: print file status information example: fstat -file -inode * |
| gdbm_dump | dump content of gdbm file example: gdbm_dump mailman.db |
| httpget | do a HTTP GET with optional download example: httpget -d fex.belwue.de/fstools/bin/fpg |
| hmsum | sum of date in hour:minute format example: hmsum 2:15 11:50 0:13 |
| hostlookup | show host ip address with respect of /etc/nsswitch.conf example: hostlookup www |
| howmany | count regexp matches per line example: echo $PATH | howmany : |
| httpget | makes one http(s) request and prints header and/or body of the reply or downloads the file example: httpget http://fex.rus.uni-stuttgart.de:8080/lxc |
| ipsort | sort lines with ip as sorting criteria example: route -n | ipsort |
| jpg2ps | convert JPEG to Postscript example: jpg2ps map.jpg |
| jpgreduce | reduce JPEG file size (same resolution, lower quality) example: jpgreduce big*.jpg |
| jpgrot | rotate loseless JPEG files example: jpgrot -n *.jpg |
| jpgscale | scale down JPEG files example: jpgscale -800 *.jpg |
| l, ll, lll, ff(*) | better ls: more consistent output, better configuration, more options example: l -R |
| lf | list files example: lf -af |
| lanscan | search subnet for hosts |
| mail2html | convert mail (or any other text) to HTML and displays it with firefox example: cat mail | mail2html |
| mailextract | extract any text parts of a MIME mail or mbox (with Content-Type decoding) |
| mklink | create symlink in $HOME/Links (for directory with stupid name) |
| mmencode, mmdecode(*) | encode and decode MIME base64 and quoted-printable example: mmencode -b vt100_sequences.txt |
| modmail | modify e-mail headers and/or body (a filter extension for procmail/formail) |
| msync | modified recursive sync files with bad character substitution |
| move | move files recursivly |
| mp4encode | convert files of nearly any video format into MP4 H.264 example: mp4encode video.avi |
| mxv | extract attachments out of mail-stream and display it with firefox example: cat mail | mxv |
| notin | print lines which are not in exclude_file example: notin exclude.list *.txt |
| nvt | network virtual terminal: RFC-conform command line tcp connect, a better telnet for scripting example: nvt fex.rus.uni-stuttgart.de:80 'GET / HTTP/1.0' '' |
| openpath | set read+execute permission on all parent directories example: openpath . |
| pawk | awk-like scripting with Perl syntax example: ls -la /tmp | pawk '/2010/{$s+=$_5}END{print $s}' |
| ped | modify files (or STDIN) with perl command(s) in place and in one chunk, for multiline editing (does not break symbolic or hard links!) example: ped 's/ /_/g' *.txt |
| perlmodhist | show release date for a Perl module example: perlmodhist Digest::MD5 |
| plg | procmail log grep: better procmail log format and grepping example: plg root@fex |
| portwatch | open tcp port in server mode and wait for client to connect example: portwatch -v 8888 |
| prem | perl regular expression match: show regular expression match inside (parenthesis) example: ls | prem '(.*xxx.*).jpg' |
| perlmodhist | show release date for a Perl module example: perlmodhist Digest::MD5 |
| psdo | execute program if a process is found which matches pattern example: psdo inetd xmessage 'inetd is running' |
| psg | ps (process status) with grep example: psg ssh.*fex |
| psk | ps (process status) with grep and kill example: psk firefox |
| puniq | like uniq, but records may not be adjacent or have other delimiter than newline example: PATH=$(echo $PATH | puniq -d :) |
| rcount | record count example: echo $PATH | rcount -d : |
| repeat | repeat command with curses-interface example: repeat ll download |
| reverse | reverse lines or words example: cal | reverse |
| rot13 | ebg13 |
| sdr | simple date reminder (daemon+client) |
| sel | select files from current working directory from..to example: xv $(sel p20080815 - p20080819) |
| showargs | show arguments enumberated |
| showlink | show symbolic link recursivly (link to link to ...) and hard links |
| showpid | show parent PID or PIDs recursivly upto init |
| shttps | simple http server to offer a directory for download |
| shuffle | shuffle arguments and optionally run program example: shuffle -e xv *jpg |
| smtpsend | smtpsend injects a RFC822 e-mail into a smtp (TLS) server example: smtpsend -s mailrelay framstag@belwue.de <mail.txt |
| sysinfo | show information about hardware and operation system |
| ljoin | join lines with delimiter (inverse of ssplit) example: cal | ljoin -d : |
| ssplit | split strings at delimiter into lines (inverse of ljoin) example: echo $PATH | ssplit -d : |
| sshe | ssh with commands and environment variables passing (default SSH_USER EDITOR LANG LC_*) example: sshe otheruser@nexthost |
| ftailf | tail -f with much less memory consumption and recognition of inode change (e.g. log rotation) example: ftailf /var/log/mail.log |
| tailp | Print the last lines of file beginning with pattern to standard output. example: tailp fex.*.uni-stuttgart.de /var/log/mail.log |
| tcpbm | tcp benchmark : measure sending and receiving speed between two hosts |
| tcpdd | tcp data dump : a faster alternative to nc |
| tctrl | control or query terminal |
| tscp | scp with tar : copy files to or from remote host in tar format example: tscp src blubb:/tmp/ |
| tt | multi-user CLI clipboard |
| urldecode, urlencode(*) | RFC 2396 escaped encoding of URLs example: echo 'http://localhost/testcgi?space=x y' | urlencode |
| utf7decode | decode UTF7 to ISO-Latin-1 example: utf7decode utf7.html > latin1.html |
| utf7encode | encode UTF7 from ISO-Latin-1 example: utf7encode latin1.html > utf7.html |
| utf8decode | decode UTF8 to ISO-Latin-1 example: utf8decode utf8.html > latin1.html |
| utf8encode | encode UTF8 from ISO-Latin-1 example: utf8encode latin1.html > utf8.html |
| vdo | first show command (with arguments), then execute it |
| vv | manipulate file versions |
| wflock | tests or sets a file with flock write-lock |
| wgetdl | download (with resuming) and use filename suggested by server example: wgetdl http://www.flupp.org/video?kjdhkjkj473kj35 # ==> jump.avi |
| with | easy command loop for files example: with *.jpg : jpegtran -rotate 90 %f |
| ww | terminal based interactive file selection example: ww *.jpg |
| woos | web offer one stream example: tar cvf - /opt | woos |
| xzz | X selection (mouse buffer text) clipboard history |
| zz | generic CLI clipboard example: locate mp3 | zz |
(*) You have to create symlinks to obtain the other programs
To install all programs you can use /sw
| bashrc | some usefull bash aliases, functions and directory tricks |
| spamblock | procmail based spam filter |
Author: Ulli Horlacher