Example 4-6. wh,whois域名查询

 

#!/bin/bash
#做一个'whois domain-name'的查询任意一个服务器上: ripe.net,apnic.net,tucows.com
#将脚本重命名为'wh',放在/usr/local/bin下
#需要软链接:
#ln -s /usr/local/bin/wh /usr/local/bin/wh-ripe
#ln -s /usr/local/bin/wh /usr/local/bin/wh-apnic
#ln -s /usr/local/bin/wh /usr/local/bin/wh-tucows

E_NOARGS=65

if [ -z "$1" ]
then
echo "Usage: `basename $0` [domain-name]"
exit $E_NOARGS
fi

#检查脚本名字,调用合适的服务器
case `basename $0` in #或者 case ${0##*/} in
"wh" )
whois $1@whois.tucows.com;;
"wh-ripe" )
whois $1@whois.ripe.net;;
"wh-apnic" )
whois $1@whois.apnic.net;;
"wh-tucows" )
whois $1@whois.tucows.com;;
* )
echo "Usage: `basename $0` [domain-name]"
;;
esac

exit $?

 

1.假设我们定义了一个变量为:

file=/dir1/dir2/dir3/my.file.txt

可以用${ }分别替换得到不同的值:
${file#*/}:删掉第一个 /及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个 /  及其左边的字符串:my.file.txt
${file#*.}:删掉第一个 .  及其左边的字符串:file.txt
${file##*.}:删掉最后一个 .  及其左边的字符串:txt
${file%/*}:删掉最后一个  /  及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:删掉第一个 /  及其右边的字符串:(空值)
${file%.*}:删掉最后一个  .  及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个  .  及其右边的字符串:/dir1/dir2/dir3/my

2.whois命令用来查找并显示指定帐号(或域名)的用户相关信息,因为它是到Network Solutions的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。即whois命令会列出给出的域名的域名所有者的信息。

3.如果系统里没有安装whois,可以用以下命令安装
# yum search whois             //搜索服务器上所有和关键字相关的包
# yum -y intsall jwhois       //centos6版本系统下
# yum -y intsall whois        //centos7版本系统下

4. whois查询时最常用的两条命令:
1)注意在linux命令终端里查询一个域名的注册信息时,要把前面的www去掉。
比如查询www.baidu.com域名www.baidu.com
# whois baidu.com
2)查询ip注册信息
# whois 103.110.186.115

脚本运行结果《Advanced Bash-scripting Guide》学习(十):利用whois查询域名信息_字符串《Advanced Bash-scripting Guide》学习(十):利用whois查询域名信息_.net_02《Advanced Bash-scripting Guide》学习(十):利用whois查询域名信息_.net_03《Advanced Bash-scripting Guide》学习(十):利用whois查询域名信息_服务器_04《Advanced Bash-scripting Guide》学习(十):利用whois查询域名信息_服务器_05