Linux计算命令

1)bc
bc在默认的情况下是个交互式的指令。在bc工作环境下,可以使用以下计算符号:
+ 加法 
- 减法 
* 乘法 
/ 除法 
^ 指数 
% 余数
如:
# bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
3+6 <=加法
9
4+2*3 <=加法、乘法
10
(4+2)*3 <=加法、乘法(优先)
18
4*6/8 <=乘法、除法
3
10^3 <=指数
1000
18%5 <=余数

3+4;5*2;5^2;18/4 <=一行输入多个计算,用;相隔。
7
10
25
4
quit <=退出

# bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
scale=3 <=设小数位
1/3
.333
quit

以上是交互的计算,那到也可以不进行交互而直接计算出结果

A.用echo和|法,如:

# echo "(6+3)*2" |bc
18

# echo 15/4 |bc
3

# echo "scale=2;15/4" |bc
3.75

# echo "3+4;5*2;5^2;18/4" |bc
7
10
25
4

另外,bc除了scale来设定小数位之外,还有ibase和obase来其它进制的运算。

如:

//将16进制的A7输出为10进制, 注意,英文只能大写

# echo "ibase=16;A7" |bc
167

//将2进制的11111111转成10进制

# echo "ibase=2;11111111" |bc
255

//输入为16进制,输出为2进制

# echo "ibase=16;obase=2;B5-A4" |bc
10001

ibase是输入数字的进制,而obase就是输出数字的进制了。很好记,i是input,o是output。

  如果用一条命令来转数字,可以用echo命令和管道结合bc。如下:

  10进制转2进制:

  $ echo "obase=2;ibase=10;100" | bc1100100

  10进制转16进制:

  $ echo "obase=16;ibase=10;100" | bc64

  16进制转10进制:

  $ echo "ibase=16;obase=2;F1" | bc11110001

对于bc还有补充,在bc --help中还可以发现:bc后可以接文件名。如:

# more calc.txt 3+2
4+5
8*2
10/4
# bc calc.txt
5
9
16
2

2)expr

expr命令可不光能计算加减乘除哦,还有很多表达式,都可以计算出结果,不过有一点需要注意,在计算加减乘除时,不要忘了使用空格和转义。下面直接用实例来介绍一下expr的运算,如:

# expr 6 + 3 (有空格)
9

# expr 2 /* 3 (有转义符号)
6

# expr 14 % 9
5

# a=3(无空格)
3+5
# expr $a + 5 (变量,有空格)

# a=`expr 4 + 2`# expr $a + 3

//字串长度
# expr length "yangzhigang.cublog.cn"
21

//从位置处抓取字串
# expr substr "yangzhigang.cublog.cn" 1 11

yangzhigang

//字串开始处

# expr index "yangzhigang.cublog.cn" cu
13

3)dc

用dc来进行计算的人可以不多,因为dc与bc相比要复杂,但是在进行简单的计划时,是差不多的,不算难。dc为压栈操作,默认也是交互的,但也可以用echo和|来配合打算。

如:

# dc
3

p
5
4*
20

quit

# echo 3 2+ 4* p |dc
20

4)echo

echo用来进行回显,是周知的事。上面也配合bc来进行计算。其实echo也可以单独进行简单的计算,如:

# echo $((3+5))
8
# echo $(((3+5)*2))
16

echo还可以进行变量的计算,如:

# a=10
15
# echo $a+$b
10+5
# echo $a+$b |bc
15

//计算前天的日期

# echo `date +%Y%m%d`20090811

 

5)AWK

awk在处理文件的时,可以进行运算,那当然也可以单单用来计算了,如:

# awk 'BEGIN{a=3+2;print a}'
5
# awk 'BEGIN{a=(3+2)*2;print a}'
10

[摘自网络]

转载请注明出处:http://www.cnblogs.com/haochuang/ 8年IT工作经验,5年测试技术与管理,2年产品与项目管理,曾参与过云计算\云存储\车联网产品研发工作; 业余自媒体人,有技术类垂直微信公众号;如有招聘或求职方面需求,请Mail to uetest@qq.com ;或通过 QQ:363573922 微博:@念槐聚 联系;

时间: 2024-11-28 22:27:14

Linux计算命令的相关文章

LInux : du命令

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能: 显示每个文件和目录的磁盘使用空间. 3.命令参数: -a或-all  显示目录中个别文件的大小.   -b或-bytes  显示目录或文件大小时,以byte为单位.   -c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和. -k或--kilobytes  以K

Linux管道命令详解

Linux的管道命令是'|',通过它可以对数据进行连续处理,其示意图如下: 注意: 1)管道命令仅为处理标准输出(即正确的输出),对于标准错误输出,将忽略 2)管理命令的后一个命令必须能将前一个命令的标准输出变为它的标准输入才可以,如 less,more,head,tail就可以,而ls, cp, mv就不行. 下面我们看几个管道命令. cut - 列选取命令 cut以行为单位,根据分隔符把行分成若干列,这样我们就可以指定选取哪些列了. cut -d '分隔字符' -f 选取的列数 echo $

linux基础命令(34) du命令

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du 命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2 .命令功能: 显示每个文件和目录的磁盘使用空间. 3.命令参数: -a或-all  显示目录中个别文 件的大小. -b或-bytes  显示目录或文件大小时,以byte为单位. -c或--total   除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和. -k或--kilobytes  以K

linux常用命令有哪些?

  Linux系统 Linux的常用命令有: echo 命令 举例:echo $PATH. 功能:将命令行中的参数显示到标准输出中. date命令 举例:date. 功能:显示或设置系统时间,没参数直接显示系统当前的日期和时间. Linux命令 passwd命令 举例:passwd. 功能:修改密码. file命令 举例:file 文件名 [参数]. 功能:确定指定文件类型. ls命令 举例 ls -a 显示当前目录下的全部文件(包括隐藏文件). 功能:列出目录文件. touch命令 举例:to

linux iostat命令详解和使用实例

 它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析.iostat属于sysstat软件包.可以用yum install sysstat 直接安装. 1.命令格式: iostat[参数][时间][次数] 2.命令功能:   通过iostat方便查看CPU.网卡.tty设备.磁盘.CD-ROM 等等设备的活动情况, 负载信息. 3.命令参数: -C 显示CPU使用情况 -d 显示磁

linux常用命令加实例大全

目  录引言    1一.安装和登录    2(一)    login    2(二)    shutdown    2(三)    halt    3(四)    reboot    3(五)    install    4(六)    mount    4(七)    umount    6(八)    chsh    6(九)    exit    7(十)    last    7(十一)    动手练习    7二.文件处理    9(一)    file    9(二)    mkd

Linux常用命令汇总

1.获取文件全路径每次拼凑路径比较麻烦,希望一个命令能给出包含机器名的完整路径:$ ls | sed "s:^:`pwd`/:" | sed "s/^/$HOSTNAME:/g" [root@test1 test]# ls | sed "s:^:`pwd`/:" | sed "s/^/$HOSTNAME:/g" test1:/root/test/t_t_20090301032655ttxttest1:/root/test/t_

Linux | 常用命令(一)

整理了一下linux常用命令,方便大家使用和学习. 一.文件处理命令 1.命令格式与目录处理命令 ls –a[查看隐藏文件] ls –l[查看文件信息长格式显示] ls –d[查看指定目录的详细信息] ls –h[显示容量大小] ls –i[查看任何文件的I 节点] ll 文件名[查看一个文件的详细信息] 2.目录处理命令 mkdir –p[递归创建目录] cd[切换指定目录] pwd[显示当前目录] rmdir[删除空目录] cp[复制文件到某个目录下] cp –r[复制目录] cp –p[保

Linux基础命令介绍十五:推陈出新

本文介绍ip.ss.journalctl和firewall-cmd,它们旨在代替linux中原有的一些命令或服务. 1.ip ip [OPTIONS] OBJECT COMMAND  ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig.route等,使用权限为超级用户. OPTIONS是修改ip行为或改变其输出的选项. OBJECT是要获取信息的对象.包括: address   表示设备的协议(IPv4或IPv6)地址  link