commandlinefu.com is the place to record those command-line gems that you return to again and again.
Delete that bloated snippets file you've been using and share your personal repository with the world. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.
If you have a new feature suggestion or find a bug, please get in touch via http://commandlinefu.uservoice.com/
You can sign-in using OpenID credentials, or register a traditional username and password.
First-time OpenID users will be automatically assigned a username which can be changed after signing in.
Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.
» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10
Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):
Subscribe to the feed for:
Reciprocally, we could get the node name from a give Tor IP address =>
ip2node() { curl -s -d "QueryIP=$1" http://torstatus.blutmagie.de/tor_exit_query.php | grep -oP "Server name:.*'>\K\w+" ; }
ip2node 204.8.156.142
BostonUCompSci
export THISOS="`uname -s`"
if [ "$THISOS" = "SunOS" ]
then
export THISRELEASE="`uname -r`"
ping1() { ping -s $1 56 1 | egrep "^64"; }
elif [ "$THISOS" = "AIX" ]
then
export THISRELEASE="`uname -v`.`uname -r`"
ping1() { ping -w ${2:-1} $1 56 1 | egrep "^64"; }
elif [ "$THISOS" = "Linux" ]
then
export THISRELEASE="`uname -r`"
ping1() { ping -c 1 -w ${2:-1} $1 | egrep "^64"; }
fi
I have used single packet, and in a silent mode with no display of ping stats. This is with color and UI improvement to the http://www.commandlinefu.com/commands/view/10220/check-if-a-machine-is-online. It is as per the enhancements suggested.
PING
parameters
c 1 limits to 1 pinging attempt
q makes the command quiet (or silent mode)
/dev/null 2>&1 is to remove the display
&& echo ONLINE is executed if previous command is successful (return value 0)
|| echo OFFLINE is executed otherwise (return value of 1 if unreachable or 2 if you're offline yourself).
I personally use this command as an alias with a predefined machine name but there are at least 2 improvements that may be done.
Asking for the machine name or IP
Escaping the output so that it displays ONLINE in green and OFFLINE in red (for instance).
Converts IP octets to hex using printf command. Useful for generating pxeboot aliases in the pxelinux.cfg folder.
Provides a cleaner output plus some more details about the IP address. Also, a flaw was corrected where the URL provided the results in Spanish by default.
Get just the IP address for a given hostname. For best results, make this a function in your shell rc file so that it can be used for things like traceroute:
Titus:~$ traceroute `getip foo.com`
traceroute to 64.94.125.138 (64.94.125.138), 64 hops max, 52 byte packets
Find your default gateway and print it directly output
http://www.bilgisayarmatematik.com/
kerim@bayner.com
Interfaces like lo can be omitted from the beginning, there are probably better ways of doing this, i'm a noob at awk.
I'm just a simple programmer. I find dig too verbose. host tells me alias(es) and IP address in a quick to grok format with nothing special to remember for input parameters.
With thanks to http://www.cyberciti.biz/faq/how-to-test-or-check-reverse-dns/
If used without arguments, returns own IP info.
If used with argument, returns info about the parsed argument.