本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅

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

脚本运行结果

 

最新文章

  1. ajax同步处理(使得JS按顺序执行)
  2. Android微信分享图片大于32k进行压缩
  3. 安装win7的那些事
  4. [LeetCode][Java]Triangle@LeetCode
  5. Linux 下复制(cp)目录时排除一个或者多个目录的方法
  6. Delphi经验总结(2)
  7. 方正S4101g笔记本电脑搜不到无线网络
  8. 非常出色的一款WinForm窗体重绘GUI类库源码
  9. 基本套接字总结(@function)
  10. Beans(dp,两次dp)
  11. python解释器内建函数002
  12. shell的while和until 的用法
  13. 【优秀的Sketch插件】PaintCode for Sketch for Mac 1.1
  14. jQuery validator plugin之概要
  15. «面向对象程序设计(java)»第三周学习总结 周强 201771010141
  16. C#动态对象(dynamic)示例(实现方法和属性的动态)
  17. Windows网络命令
  18. 粗解python的@classmethod和@staticmethod及普通实例方法
  19. Storm 系列(二)实时平台介绍
  20. SpringBoot+Mybatis整合入门(一)

热门文章

  1. GDI+的应用
  2. centos6.9下安装composer
  3. c# HttpClient获取网页源码
  4. Java基础—访问权限控制
  5. cut命令学习
  6. 方阵行列式并行化计算(OpenMP,MPI),并计算加速比
  7. 【转】Python爬虫_示例
  8. Android:日常学习笔记(8)———探究UI开发(5)
  9. WEB网页专业词汇 汇总
  10. 【leetcode刷题笔记】Insert Interval