你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Linux命令行里5种命令行计算器

[复制链接]
gaosmile 发布时间:2020-8-21 10:12

在使用 Linux 时,我们有时会需要做一些计算,那么我们就可能需要用到计算器。在 Linux 命令行里,有许多计算器工具,这些命令行计算器可以让我们执行科学计算、财务计算或者一些简单的计算。当然,我们也可以在 Shell 脚本中使用这些命令执行更为复杂的数学运算。

这里我们主要介绍5种命令行计算器:

  • bc
  • calc
  • expr
  • gcalccmd
  • qalc
    ! }: V1 Z. m1 @
1. 如何在 Linux 中使用 bc 执行计算

bc 是一种以交互式语句执行的方式支持任意精度的数字的语言,它的语法和 C 语言有一些相似之处。

bc 的命令行选项中有一个可用的标准数学库,如果有相关要求,bc 会在处理任何文件之前先定义好标准数学库,bc 会以命令中的顺序处理命令中列出的各个文件的代码。

默认情况下,bc 在所有 Linux 发行版中都是安装了的,如果你的系统中没有 bc,可以按照以下命令自行安装:

对于 Fedora 系统中,使用 DNF 命令进行安装

  • $ sudo dnf install bc& U% t5 H9 k  q8 F. ]

对于 Debian/Ubantu 系统,使用 APT-GET 或 APT 命令进行安装

  • $ sudo apt install bc
    + u0 t" O( A0 w/ H

对于基于 Arch Linux 的系统,使用 Pacman 命令进行安装

  • $ sudo pacman -S bc
    6 D4 r% K$ D% h. e1 x& R3 Z

对于 RHEL/CentOS 系统,使用 YUM 命令进行安装

  • $ sudo yum install bc* }4 J# V  G. y" i) T3 q- C1 A

对于 openSUSE Leap 系统,使用 Zypper 命令进行安装

  • $ sudo zypper install bc( Q1 {4 y) F) W: G# D7 u

如何使用 bc 命令

我们可以用 bc 命令直接在终端中执行 +  -  *  /  ^  % 等各种计算

  1. , z  U& k- E$ F1 R  i. Q* N
  2. $ bc
    # ]5 T( k( ~3 g: Z- V5 A
  3. bc 1.07.1
    , U- `2 G% S1 \& ]1 Q  E
  4. Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc., F4 @5 Y  F6 x& ~
  5. This is free software with ABSOLUTELY NO WARRANTY.0 C9 U& n. a+ M8 I' t" {
  6. For details type `warranty'.
    2 b. l9 h/ D, Q9 Z3 E

  7. : H/ e4 B' J) i$ U7 _& j! u% Y' y
  8. 1+2+ s$ n3 X, \, n- b
  9. 3
    : J# \* {) A+ \: p" T3 U7 }  @& K* m
  10. ' y. B: n! v/ _& E$ b( X
  11. 10-5
    . X2 _' C" m9 \+ j* w& G+ b# D: x
  12. 5
    7 d" k* L! _: _/ H4 ~2 L$ |

  13. 5 O/ r+ H1 `: R3 O' R
  14. 2*5
    - e5 _" n0 F% O) B
  15. 10
    : G- L; ^' w6 s. Z9 V7 Z
  16. 0 Y. N% V6 F; |; r; S( i2 f+ b) `
  17. 10/2
    0 V3 o) `$ e4 F( B) m3 Q
  18. 5) \- l  i) [$ |7 ]1 T

  19. $ x+ `0 H8 d% y7 |. X8 n5 M
  20. 13/53 y! x) Y( S# G9 U( N
  21. 2
    & H2 M- `# t7 |. a/ u
  22. 2 D* L7 y+ K, p$ F; g
  23. (2+4)*5-5
    ) J3 {, ~$ O8 Z6 w: T, m
  24. 25
    1 V  b5 }  G3 l5 X( I' u9 [7 L

  25. 9 e) |( G+ ]; w1 s) ]
  26. 2^3) \9 b2 c5 [, n1 \. w
  27. 8
    ( F" W3 q4 c0 ]+ E' x6 E
  28. & M  \* S  m0 k% V- C
  29. 8%3
    : M% {& p/ g$ n8 x2 v. O. q5 h# J
  30. 2
    " z) r' k( T! P5 [: \

  31. ! {. N# `" {7 |3 W: j
  32. quit
复制代码

使用 -l 来定义标准数学库。默认情况下, 3/5 在 bc 的结果里是 0 ,因为只是取整而已。如果你想要得到正确答案,那么就需要使用 -l 选项了。

  1. 0 q3 p0 B, e4 Z/ C% i' C; \+ {
  2. $ bc -l  l+ I" C! `! D
  3. bc 1.07.1
    3 g' i& f' g. I2 }  j; a+ u8 y
  4. Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
    3 j- d- G3 f' V5 K5 v
  5. This is free software with ABSOLUTELY NO WARRANTY.% w. K0 ~9 s! o- v7 @7 R
  6. For details type `warranty'.1 F) R; m# k( P8 U8 a
  7. 2 i! G1 ~: H7 K. v0 O6 k
  8. 3/5
    0 Q. m6 d4 o+ t/ L. x" J
  9. .60000000000000000000) v  ^' ?4 `3 e; O

  10. % w9 H% ~- P+ h3 \& _7 x* Q" a. O) R# m
  11. quit
复制代码
2. 如何在 Linux 中使用 calc 进行计算

calc 是一个任意精度的计算器,是一个可以在命令行中执行各种计算的简单计算器。

如果你需要安装 calc 命令,可以参照上面的 bc 命令安装方法。

如何使用 calc 命令

我们可以用 calc 在终端中交互地执行各种类型的计算。


  1. / Q8 D7 k" G+ Z& I' V1 \' l0 K/ H$ b
  2. $ calc. j4 G2 D! o- `0 G8 P9 G4 @
  3. C-style arbitrary precision calculator (version 2.12.7.1)/ n9 n6 B) |! S! E0 c+ L# i( h' b& v
  4. Calc is open software. For license details type:  help copyright
    % R! K9 g$ A/ X  r  U6 g$ r9 Y
  5. [Type "exit" to exit, or "help" for help.]
    + ^1 k- S( N/ O/ W* W# k* w/ r

  6. # K! j  H/ r5 D  L3 j& j! [8 R' H
  7. ; 5+18 T5 W* Y8 l6 G' W1 n6 g
  8.             6
    . {+ i: m8 i2 r! _4 o; k
  9. ; 5-1# F6 l- h% A  F3 [' ?8 x% L4 s
  10.             4$ e) A) L2 v" H( w6 N/ S
  11. ; 5*2
    " i% \0 `; |0 U4 n4 a
  12.             10
    2 Q& K. ?8 ~) o$ `+ n/ P( [$ M7 T, M
  13. ; 10/20 f/ L' \9 S2 C9 u  \9 F% t% d$ _
  14.             5" c( t- d: L. y; Q- l2 w4 Z
  15. ; 13/57 x: X, b! I0 _+ ~3 Z: Y
  16.         2.61 _. u! M" J5 g0 G1 D: }! ?
  17. ; 13%5. F  I' X6 }- V- m' h5 C2 n
  18.         3$ B( L9 M1 K2 m1 Q: G# X
  19. ; 2^4
    + w; N" G! l( h  v
  20.         16
    ' e$ u/ A, b* d2 `) b
  21. ; 9^0.50 y5 [& m6 O& f& [! ^
  22.         3        6 h- x0 r" O/ t; @% ~5 A- v
  23. ; quit
复制代码

当然,你也可以在非交互模式下使用:


  1. , w$ P9 X9 V6 Z
  2. $ calc 3/5: z  ~; L+ }# H# Z) R
  3.               0.6
复制代码

3. 如何在 Linux 中使用 expr 进行计算

expr 是核心工具库的一部分,因此我们不需要安装它。

我们可以使用以下的命令进行基础的计算:

  1. 2 |0 S" A- Y8 m: j9 M
  2. $ expr 2 + 38 G5 y9 d6 D5 {7 F7 Z# {8 b
  3. 6
复制代码
  1. " M5 G1 I. F3 ^8 g. [) ?
  2. $ expr 6 - 2
    7 l, m8 @1 A' s7 l9 X/ o
  3. 4
复制代码

  1. 6 ]1 U  R) ?9 j
  2. $ expr 3 * 4
    , ]% ?5 H' T3 @0 _8 _
  3. 12
复制代码
  1. 2 g9 m$ |- _# Y" _/ Z
  2. $ expr 15 / 3
    2 ^  D5 c) a" H& p! C* C
  3. 5
复制代码

但是一定要注意,数字和符号需要用空格隔开,否则的话命令将不认识你写的表达式:

  1. 7 b7 F; ~  T6 J4 `8 _' m
  2. $ expr 2+3
    8 I5 R. V$ R! D# W. s4 }
  3. 2+3
复制代码

  1. * i- g* C9 X+ c, M
  2. $ expr 2*31 G9 h" B* G( M; c- N6 X
  3. 2*3
复制代码

4. 如何在 Linux 中使用 gcalccmd 进行计算

gnome-calculator 是 GNOME 桌面环境的官方计算器。gcalccmd 是Gnome Calculator 工具的控制台版本。默认情况下,gcalccmd 已安装在GNOME桌面中。

使用 gcalccmd 命令进行计算

gcalccmd 也是有一个交互试的界面,计算式写起来与其它几种计算器无异。

  1. # `: P. O0 y( h, c" }
  2. $ gcalccmd# R+ y( `8 i& _% }3 c
  3. > 5+16 ], }$ p( m/ _- M7 n
  4. 6. p4 L! G/ W" n$ s$ `0 {
  5. ; v8 H1 d9 J" x( Y0 f$ C' r
  6. > 5-1: ~8 F5 }. \1 L  s
  7. 4
    5 A% d- F' l0 y7 y: z: p
  8. # e) w& N. M8 n8 L, h+ D
  9. > 5*20 p; z1 f8 R/ b7 V# L  h# [
  10. 10: t, {0 d# O0 t3 Y4 }
  11. ' q/ T0 A) B& j. P. ]' {
  12. > 10/2
    / W" j7 A5 V5 o- |6 x2 i
  13. 5
    2 ?/ j3 z, Q$ w2 S; K5 E. m
  14. 2 Q' @+ G, X5 y$ Q/ v
  15. > sqrt(16)   
    0 F( e$ e% E) s
  16. 4# r9 u' O: E0 |+ B5 w4 w" O: R

  17. - _' d4 ]$ a& z- _. F9 R" s
  18. > 3/5
    ) s/ l* N6 j2 L: W# z% d. T) h
  19. 0.6
    # s. {3 G+ A$ U) t" z. {# J6 G7 T
  20. % J/ @" a, d( ^! k4 Z# N
  21. > quit
复制代码
5. 如何在 Linux 中使用 qalc 进行计算

Qalculate 是一款多功能跨平台的桌面计算器。它使用较为简单,但是功能却十分强大 。它提供了一些很强大的多功能数学库,以及一些满足日常需求的实用工具(例如货币换算和百分比计算等)。

Qalculate 的功能包括大量可自定义的函数库,单位计算和转换,符号计算(包括积分和方程式),任意精度,不确定性传播,区间算术,绘图以及用户友好的界面(GTK +和CLI)。

对于 Fedora 系统中,使用 DNF 命令进行安装

  • $ sudo dnf install libqalculate  t& b6 ^% a) |( q5 b3 C

对于 Debian/Ubantu 系统,使用 APT-GET 或 APT 命令进行安装

  • $ sudo apt install libqalculate
    * j9 g; W2 p) h6 d, W

对于基于 Arch Linux 的系统,使用 Pacman 命令进行安装

  • $ sudo pacman -S libqalculate: O% z2 A' l/ L, U

对于 RHEL/CentOS 系统,使用 YUM 命令进行安装

  • $ sudo yum install libqalculate
    ' @4 v0 b+ I) y8 y5 H3 Z3 m

对于 openSUSE Leap 系统,使用 Zypper 命令进行安装

  • $ sudo zypper install libqalculate9 X" [' N) _7 w0 [" r' v7 L/ z- R( S
使用 qalc 命令进行计算
8 b6 x4 ?' h5 S% U& x' Q0 @( {
  1. 1 u" N# G4 ?8 ]1 ]  W3 L" _
  2. $ qalc+ p% H& f7 V, f4 `# A  C- ~
  3. > 5+1% T, z7 E) h# Y- O4 @
  4. : p: W. K2 C. [
  5.   5 + 1 = 6
    ( C& B" h/ m0 }! m7 @4 c

  6. & j9 [2 a  @  q) e% m
  7. > ans*20 z% N0 {0 P# i: {' P" I, U3 v
  8. ' t2 ^: c1 s* j) s: M* x
  9.   ans * 2 = 12
    0 n' s" u) N0 n. y9 M
  10. - j6 O$ j+ Q6 U
  11. > ans-2
    ) ], u& J  Q. w) t  e

  12. ; V1 d+ S- U0 ^! q! A. y
  13.   ans - 2 = 10
    7 u+ v9 e. A: |4 E/ D- g8 w, v

  14. ' i% v0 P, @+ T+ P* E$ u
  15. > 1 USD to INR7 ]* x6 `3 n5 U  k, m& ?
  16. It has been 36 day(s) since the exchange rates last were updated.* `5 q, L, N3 i4 \5 n! ?+ v. D
  17. Do you wish to update the exchange rates now? y; ]- @6 C4 z2 Q8 |) p, E2 R
  18. ' `1 q5 n) Z+ K$ x- }
  19.   error: Failed to download exchange rates from coinbase.com: Resolving timed out after 15000 milliseconds.
    + H3 o) Q5 H# k# a: l3 ~  g
  20.   1 * dollar = approx. INR 69.638581
    2 R& z% D! n4 J! K
  21. & a) a. x' p! \+ R0 q3 Q
  22. > 10 USD to INR) G/ p7 I( x8 @

  23. , a6 v% q) h8 F- T4 E- w
  24.   10 * dollar = approx. INR 696.38581
    , B$ H0 p6 p; _5 ?& u/ j, i
  25. , o) {4 O5 |9 p. X- S# _+ j
  26. > quit
复制代码
6. 如何使用 Shell 命令进行计算

其实在 Shell 命令行下,我们可以直接使用 echo ,awk 等命令直接进行计算,十分方便。

  1. ( F4 I$ n7 e; D6 l9 {4 I: \7 ?/ O
  2. $ echo $((5+5))
    8 }# b/ Y/ v1 t: f
  3. 103 M# ^6 q: |3 C( K7 Y
  4. $ cat data | awk '{sum+=$1} END {print "Sum = ", sum}' # 计算data文件里数据之和
复制代码

( G8 l, L0 ?% n0 [
赞 收藏 评论0 发布时间:2020-8-21 10:12

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版