日期:2014-05-16  浏览次数:20586 次

总结下最近用到的linux小技巧

1.

使用sed插入换行符

]#sed 's/\(.\){n\}/\n/g' file

?

其中大括号里的n表示在第n个字符后插入换行符

?

2.

在vi下查看windows文件会出现windows换行符?^M . 使用vi自带替换功能即可删除

按一下esc

输入

:%s/^M//g

?

其中^M是按ctrl+v,ctrl+m输入出来的。

?

3.

bash比较中

-ne 不等、-eq 等于、-le 小于等于、-lt 小于、-ge 大于等于、-gt 大于:这些都是用于数字大小比较

==、!=:这些才是用于字符串比较。

?

4.

在awk中引用shell变量

我认为最好的办法是

?

]#from_shell="hi awk"

]#awk '{print '"$from_shell“‘}'

?

这样不易出现其他问题。

?

5.

在脚本中或其他地方,有时候需要把某些命令的结果赋给变量值

可使用 `` 或者使用 $()

#!/bin/bash

for i in `seq 1 5`

do

echo $i

done

或者

#!/bin/bash

for i in $(seq 1 5)

do

echo $i

done

?

6.

]#sed -n '/keyword/{N;p}'

可输出关键字的下一行

?

]#grep -A 2 keyword

可输出关键字的下两行

?

7.

写个简单版本的集群服务器管理

此脚本在建立信任关系后课正常运行

?

#!/bin/bash

########

#c-ssh.sh

#]#./c-ssh.sh root server-list.txt "ls -l /home"

########

if [ $# -ne 3 ]

then

? ? ? ? echo "Usage: $0 <user> <Machine_List> <Commond_List>"

? ? ? ? exit 1

fi

?

for server_list in $(cat $2)

do

? ? ? ? ssh $1@$server_list $3

done

?

?