LINUX - awk命令之$NF的应用

    LINUX - awk命令之$NF的应用

 

Linux中写脚本时经常要用到NFNRORSFNR以及FS,这些大家写过脚本都很熟悉,但是很多人对$NF却不常用,其实用的得当,写脚本也很是便捷,现在把NF$NF的区别,以及应用写出来,供大家参考。

 

NF$NF 区别问答:

看下边的例子:

wKioL1O7qQ6yUTkVAACJsvOS-1w000.jpg 

文件ip_list中写的是10.0.0.{1..7}7ip地址

wKiom1O7qVTwarAQAAB_ZXeO9fk939.jpg 

上边命令cat ip_list |awk  'BEGIN{FS="."} {print NF}'的意思以.为分隔符,打印出列数,每行是4列。

wKiom1O7qWmzg1wLAABXLTdkRog988.jpg 

上一个命令是print NF,这个是print $NF,可以看出结果截然不同,上一个是打印出每行的列数,这个是打印出最后一列。

从上面两个例子可以看出:

NF代表:浏览记录的域的个数$NF代表:最后一个Field()

在日常的网站服务器运维中我们经常要通过跳转服务器跳转到IDC机房的服务器上,为了安全起见,一般我们经常使用ssh的密钥对来实现,这样我们只要知道跳转机的密码就可以了,为了安全我们可以经常修改跳转机的密码。

为了从跳转机上跳转到其他机子上,一般我们使用ssh -Pport destIP的形式来实现,如果要经常地跳转到其他机子上,这样老是要ssh -Pport destIP会很麻烦,我们可以结合上边的$NF,用一种很简单的方法来实现。

1、制作ssh密钥对

a) Ssh server

wKioL1O7qVKwsZcHAAJbLe8yEoU623.jpg 

为了方便,可以一路回车

b) 把公钥id_rsa.pub拷贝到目标主机,并改名为authorized_keys

wKioL1O7q0vB_MpkAADiczXSf9Q598.jpg

c) 测试密钥对登陆

wKiom1O7qbfhlqd_AABqeA6uAHg278.jpg 

这样就不用再输密码就可以登陆了

2、下面制作登录脚本,简化登陆过程

a) 把要通过跳转机登陆的主机ip写到文件中

wKiom1O7qdDSLVYrAAC5dnD5arU669.jpg 

b) 下面开始编写脚本

 wKioL1O7sLHgNT4JAAB4uIx1HAY038.jpg

注意给脚本加上可执行权限

c) 注意把/root/bin加入到系统的默认搜索路径中

    wKiom1O7qgCxHwLcAACg6OlsKiQ833.jpg

d) 然后就可以通过脚本jump实现从跳转机到目标机的跳转了

wKiom1O7sMmiTZxFAAM6t2QVDqI839.jpg

 

这样是不是很方便,如果你同时管理几百个服务器,这样的方便性就会更加凸显出来了。


本文出自 “赤月之瞳的IT空间” 博客,转载请与作者联系!

你可能感兴趣的:(ssh,awk,NF,$NF,灵活应用)