shell小命令大用处

一、获取主机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不要将最近的归档压缩,压缩将在下一次轮询周期进行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值