Linux shell scripts, Bash scripting, shell programming

Eon Works | Scripts | Demo | About | Links

img Linux shell scripts


img
Here is a collection of various shell scripts I wrote over the years to ease the administration of my systems and help with much webmaster work. They are all Linux shell scripts and need the Bash shell and GNU commands to run (standard on any Linux system). Some, or much, tweaking may be needed to make them work on other Unix systems. To avoid that install the Bash shell and GNU commands. Each script has an -h flag for usage explanation. All scripts are released under the GPL license. You can download all scripts in a compressed tar archive (which also includes an FAQ): dm-scripts-1.13.tar.bz2

Most recent update: 11 Mar 2011

sort by the most recently added or updated script


Admin


bkernel v1.2 build linux kernels 2.2.xx and 2.4.xx
lowspace v1.5 notify when space on a device is less then n Megabytes
lowswap v1.3 notify when free swap memory is less then n Megabytes
monproc v1.1 monitor processies; print when specified processies are or not running
progsv v1.3 list version numbers of important programs installed

Compress


unpack2dir v1.2 unpack zip, tar, tgz, tar.gz, tar.bz2, tar.z to a dir of the same name as archive prefix
zipfile v1.1 zip a single file

Desktop


xbreak v1.1 display an X window message when it's time to take a break
xmesg v1.1 display an X window message on a regular basis

File


cpfound v1.2 recursively find files and copy to a specified dir
cpverify v1.3 verify that copied or burned files have been written error free
crfilen v1.0 create a file n bytes large
filesize v1.2 print sum of the actual size of files
fnchars v1.0 print name of file if it has more then n chars in its name
neatname v1.3 neatly rename files
samesize v1.0 list files of same size in current dir
sfiles v1.1 recursively search files for strings; list found files in sorted order
subspace v1.4 substitute space in a file and dir name with an _

Graphics


2bmp v1.1 convert image file to bmp format
2jpg v1.4 convert image file to jpg format
2png v1.3 convert image file to png format
pngoptim v1.0 reduce the size of a PNG file if possible
resizeimg v1.2 resize bitmap image

Misc


loggedin v1.1 notify when a particular user has logged in
loggedout v1.1 notify when a particular user has logged out
obfsh v1.2 shell script obfuscator
rotcmd v1.0 rotate commands listed in a file if file execution has been interrupted
sman v1.0 search man page for a string, highlight found strings
srfc v1.1 search local rfc file for a string, highlight found strings

Network


bytetraf v1.0 display network traffic on an interface
killppp v1.0 kill ppp pid after n time of no traffic

Security


rootkitwr v1.0 chkrootkit wrapper; designed to run at regular intervals

System


timelykill v1.0 kill process pid after n time
whichbin v1.0 show links and path to executable

Text


insertext v1.1 insert text file into another file at line n
longl v1.0 print name of the file that contains lines longer then n chars
pdf2txt v1.0 convert pdf file to ascii text; write the converted file to disk
ps2txt v1.0 convert ps file to ascii text; write the converted file to disk
rmblanks v1.2 remove empty or blank lines from an ascii file; replace the original file
rmdups v1.0 remove duplicate lines from file or stdin
rmleads v1.1 remove empty leading spaces from an ascii file; replace input file
rmlines v1.0 remove lines that contain words stored in a list
word2txt v1.0 display ms word doc file in ascii format
wraptext v1.0 wrap text file at 80th column; replace file with the wrapped version

WWW


emailadext v1.0 extract email addresses from file or stdin
html2txt v1.1 convert html file to ascii text; write the converted file to disk
htmloptim v1.2 optimize html file by reducing its size
okurl v1.0 validate a list of urls for their existence
urlext v1.2 extract url addresses from file or stdin


Sometimes I get asked if I can recommend any good shell scripting books. These are the ones I found to be the most helpful:


"The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities." -- Edsger Dijkstra