If you change the port of SSH, change it to still use a port under 1024. On most Unix systems these are privileged ports that require root to open. This ensures that if there is a process listening there that it was opened by root and not some intruder hoping to get your password to sudo to higher privileges.
Regarding removing reserved space:
Be careful doing this on some file systems. Some filesystems may need to write more data to a journal or are set up with copy-on write and will not be able to delete files if you have no space left on the disk. Reserving a little extra space for this can be necessary. A little extra space also lets you have some space to work with if you need to temporarily create or move files before you can free up the space.
Also, if you're going to use a non-standard port, set up your .ssh/config!
Host s
hostname server
port 666
That is a little more versatile than setting up an alias as it will work from any shell and you can specify any ssh daemon in there.
Additionally, (almost all) Unix filesystems do not fragment under normal use. This is far superior to FAT, which does have this problem, but also means that there's typically no way to defragment them short of recreating them.
A nearly-full disk is not "normal use" in the above sense.
tar -xvf infers the filetype from the file; obviating the need for the smart untarring script.
edit: Also, another useful thing is <command> | xargs -n1 -I{} <stuff>, which runs stuff once on every element of the output of command, replacing every occurrence of {} with the element. Then you can do something like "ls *.mp4 | xargs -n1 -I{} mv {} `basename {}`.mp3" .
Heck if you have a recent gnu xargs you can add -P n and xargs will split the list out n ways and run them in parallel. Sort of like the first step of a poor-man's mapreduce.
Reduce, on the other hand, is a pain; a simple > $$.out or similar on the xargs commandline probably won't work, best to wrap it up in a standalone script that does the same thing to guarantee you've got a new pid.
Of course this is huge overkill for nearly all jobs unless you have a good number of CPUs and even then you should probably find a better way if you find yourself doing this twice.
I end up using this template for a lot of operations. Where rename really seems applicable is when you want to do complicated renamings such that regular expressions really are appropriate.
The given syntax for prename is very odd, and e.g. http://man.he.net/man1/prename has a much more sensible explanation of what the command does (i.e. remove _bak).
The script under "crash test dummy" is hackish and full of race conditions, but that's perhaps acceptable in that case.
Leaving webmin and X open to all local users (in the case of webmin, by choosing a bad password) is not a good idea.
I love this sort of stuff. The first few "top ten" command line tricks articles I found back when I was enthralled with the power of the Bash shell have probably saved entire days of my life by now.
I really liked this list, especially all the remote stuff. Though he did make an error: lower nice values get "more favorable scheduling". That's why +10 is default.
Regarding "Editor redirection": why should we complicate ourselves with /etc/alternatives when the EDITOR and VISUAL environment variables can be used?
If you change the port of SSH, change it to still use a port under 1024. On most Unix systems these are privileged ports that require root to open. This ensures that if there is a process listening there that it was opened by root and not some intruder hoping to get your password to sudo to higher privileges.
Regarding removing reserved space:
Be careful doing this on some file systems. Some filesystems may need to write more data to a journal or are set up with copy-on write and will not be able to delete files if you have no space left on the disk. Reserving a little extra space for this can be necessary. A little extra space also lets you have some space to work with if you need to temporarily create or move files before you can free up the space.
Also, if you're going to use a non-standard port, set up your .ssh/config!
That is a little more versatile than setting up an alias as it will work from any shell and you can specify any ssh daemon in there.See `man ssh_config` for more info.