Check These Out
I wanted an easy way to list out the sizes of directories and all of the contents of those directories recursively.
Do it.
swap out "80" for your port of interest. Can use port number or named ports e.g. "http"
Found here: http://ubuntuforums.org/showthread.php?t=589975
Sometimes in a script you want to make sure that a directory is in the path, and add it in if it's not already there. In this example, $dir contains the new directory you want to add to the path if it's not already present.
There are multiple ways to do this, but this one is a nice clean shell-internal approach. I based it on http://stackoverflow.com/a/1397020.
You can also do it using tr to separate the path into lines and grep -x to look for exact matches, like this:
$ if ! $(echo "$PATH" | tr ":" "\n" | grep -qx "$dir") ; then PATH=$PATH:$dir ; fi
which I got from http://stackoverflow.com/a/5048977.
Or replace the "echo | tr" part with a shell parameter expansion, like
$ if ! $(echo "${PATH//:/$'\n'}" | grep -qx "$dir") ; then PATH=$PATH:$dir ; fi
which I got from http://www.commandlinefu.com/commands/view/3209/.
There are also other more regex-y ways to do it, but I find the ones listed here easiest to follow.
Note some of this is specific to the bash shell.
watch is a command especially designed for doing this job
host B (you) redirects a modem port (62220) to his local ssh.
host A is a remote machine (the ones that issues the ssh cmd).
once connected port 5497 is in listening mode on host B.
host B just do a
ssh 127.0.0.1 -p 5497 -l user
and reaches the remote host'ssh. This can be used also for vnc and so on.
Search in "filename" for the first line to match regex, and print to stdout from the matching line to the end of the file.
Bash's history expansion character, "!", has many features, including "!:" for choosing a specific argument (or range of arguments) from the history. The gist is any number after !: is the number of the argument you want, with !:1 being the first argument and !:0 being the command. See the sample output for a few examples. For full details search for "^HISTORY EXPANSION" in the bash(1) man page.
Note that this version improves on the previous function in that it handles arguments that include whitespace correctly.
It is a pain grep-ing/sed-ing/awk-ing plain old df. POSIX it!