一、獲取主機eth0網卡ip
1.ip a s eth0 |sed -nr "/inet .*/s/.*inet (.*)\/.*/\1/p"
2.ip a s eth0 |grep -Eo "([0-9]{1,3}\.){1,3}[0-9]{1,3}"|head -1
3.ip a s eth0 |grep "inet"| awk -F "[ /]+" 'NR==1{print $3}'
二、截取字符串
1.掐頭
$ path=/root/data/tools/abc.tar.gz
$ echo ${path$$*/}
abc.tar.gz
2.去尾
$ FileName=abc.tar.gz
$ echo ${FileName%%.*}
abc
三、簡單的數值運算
1.$((num1 + num2))
$ echo $((2+3))
5
$ echo $((2-3))
-1
$ echo $((2*3))
6
$ echo $((2/3))
0
$ echo $((2%3))
2
2.$[ num1 + num2 ]
$ echo $[2+3]
5
$ echo $[2-3]
-1
$ echo $[2*3]
6
$ echo $[2/3]
0
$ echo $[2%3]
2
3.expr num1 + num2
$ expr 2 + 3
5
$ expr 2 - 3
-1
$ expr 2 \* 3
6
$ expr 2 % 3
2
$ expr 2 / 3
0
4.bc
$ echo "1+2"|bc
3
$ echo "2+3"|bc
5
$ echo "2-3"|bc
-1
$ echo "2*3"|bc
6
$ echo "2/3"|bc
0
$ echo "2%3"|bc
2
四、進制轉換
1.其他進制轉十進制
//進制賦值((num=2#1010))或者num=$[2#1010]
$ echo $num
10
$ num=$[8#12]
$ echo $num
10
$ num=$[16#A]
$ echo $num
10
2.十進制轉其他進制
$num=10
$echo "obase=2;$num" |bc
1010
$echo "obase=8;$num" |bc
12
$echo "obase=16;$num" |bc
A
五、範圍匹配
$methods='+-*/%'
1.echo $methods |grep -q $method
六、find查找
find / -type f -exec du -k {} \; |sort -rnk 1 |head
七、logrotate日誌切割
/root/2019 {
daily
missingok
notifempty
size 30k
compress
delaycompress
rotate 5
create 0600 root root
}
delaycompress 總是與compress 選項一起使用,delaycompress 選項指示logrotate不要將最近的歸檔壓縮,壓縮將在下一次輪詢週期進行。