LINUX - awk命令之$NF的应用
在Linux中写脚本时经常要用到NF、NR、ORS、FNR以及FS,这些大家写过脚本都很熟悉,但是很多人对$NF却不常用,其实用的得当,写脚本也很是便捷,现在把NF和$NF的区别,以及应用写出来,供大家参考。
NF和$NF 区别问答:
看下边的例子:
文件ip_list中写的是10.0.0.{1..7},7个ip地址
上边命令cat ip_list |awk 'BEGIN{FS="."} {print NF}'的意思以.为分隔符,打印出列数,每行是4列。
上一个命令是print NF,这个是print $NF,可以看出结果截然不同,上一个是打印出每行的列数,这个是打印出最后一列。
从上面两个例子可以看出:
NF代表:浏览记录的域的个数,$NF代表:最后一个Field(列)。
在日常的网站服务器运维中我们经常要通过跳转服务器跳转到IDC机房的服务器上,为了安全起见,一般我们经常使用ssh的密钥对来实现,这样我们只要知道跳转机的密码就可以了,为了安全我们可以经常修改跳转机的密码。
为了从跳转机上跳转到其他机子上,一般我们使用ssh -Pport destIP的形式来实现,如果要经常地跳转到其他机子上,这样老是要ssh -Pport destIP会很麻烦,我们可以结合上边的$NF,用一种很简单的方法来实现。
1、制作ssh密钥对
a) Ssh server端
为了方便,可以一路回车
b) 把公钥id_rsa.pub拷贝到目标主机,并改名为authorized_keys
c) 测试密钥对登陆
这样就不用再输密码就可以登陆了
2、下面制作登录脚本,简化登陆过程
a) 把要通过跳转机登陆的主机ip写到文件中
b) 下面开始编写脚本
注意给脚本加上可执行权限
c) 注意把/root/bin加入到系统的默认搜索路径中
d) 然后就可以通过脚本jump实现从跳转机到目标机的跳转了
这样是不是很方便,如果你同时管理几百个服务器,这样的方便性就会更加凸显出来了。
本文出自 “赤月之瞳的IT空间” 博客,转载请与作者联系!