你們好,我是良許。linux
在使用 Linux 時,咱們有時會須要作一些計算,那麼咱們就可能須要用到計算器。在 Linux 命令行裏,有許多計算器工具,這些命令行計算器可讓咱們執行科學計算、財務計算或者一些簡單的計算。固然,咱們也能夠在 Shell 腳本中使用這些命令執行更爲複雜的數學運算。shell
這裏咱們主要介紹5種命令行計算器:app
bc
calc
expr
gcalccmd
qalc
bc
是一種以交互式語句執行的方式支持任意精度的數字的語言,它的語法和 C 語言有一些類似之處。函數
bc 的命令行選項中有一個可用的標準數學庫,若是有相關要求,bc 會在處理任何文件以前先定義好標準數學庫,bc 會以命令中的順序處理命令中列出的各個文件的代碼。工具
默認狀況下,bc 在全部 Linux 發行版中都是安裝了的,若是你的系統中沒有 bc,能夠按照如下命令自行安裝:ui
對於 Fedora 系統中,使用 DNF 命令進行安裝命令行
$ sudo dnf install bc
對於 Debian/Ubantu 系統,使用 APT-GET 或 APT 命令進行安裝code
$ sudo apt install bc
對於基於 Arch Linux 的系統,使用 Pacman 命令進行安裝ci
$ sudo pacman -S bc
對於 RHEL/CentOS 系統,使用 YUM 命令進行安裝cmd
$ sudo yum install bc
對於 openSUSE Leap 系統,使用 Zypper 命令進行安裝
$ sudo zypper install bc
咱們能夠用 bc 命令直接在終端中執行 + - * / ^ % 等各類計算
$ bc bc 1.07.1 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 1+2 3 10-5 5 2*5 10 10/2 5 13/5 2 (2+4)*5-5 25 2^3 8 8%3 2 quit
使用 -l
來定義標準數學庫。默認狀況下, 3/5 在 bc 的結果裏是 0 ,由於只是取整而已。若是你想要獲得正確答案,那麼就須要使用 -l
選項了。
$ bc -l bc 1.07.1 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 3/5 .60000000000000000000 quit
calc
是一個任意精度的計算器,是一個能夠在命令行中執行各類計算的簡單計算器。
若是你須要安裝 calc 命令,能夠參照上面的 bc 命令安裝方法。
咱們能夠用 calc 在終端中交互地執行各類類型的計算。
$ calc C-style arbitrary precision calculator (version 2.12.7.1) Calc is open software. For license details type: help copyright [Type "exit" to exit, or "help" for help.] ; 5+1 6 ; 5-1 4 ; 5*2 10 ; 10/2 5 ; 13/5 2.6 ; 13%5 3 ; 2^4 16 ; 9^0.5 3 ; quit
固然,你也能夠在非交互模式下使用:
$ calc 3/5 0.6
expr 是核心工具庫的一部分,所以咱們不須要安裝它。
咱們可使用如下的命令進行基礎的計算:
$ expr 2 + 3 6
$ expr 6 - 2 4
$ expr 3 * 4 12
$ expr 15 / 3 5
可是必定要注意,數字和符號須要用空格隔開,不然的話命令將不認識你寫的表達式:
$ expr 2+3 2+3
$ expr 2*3 2*3
gnome-calculator
是 GNOME 桌面環境的官方計算器。gcalccmd 是Gnome Calculator 工具的控制檯版本。默認狀況下,gcalccmd 已安裝在GNOME桌面中。
gcalccmd 也是有一個交互試的界面,計算式寫起來與其它幾種計算器無異。
$ gcalccmd > 5+1 6 > 5-1 4 > 5*2 10 > 10/2 5 > sqrt(16) 4 > 3/5 0.6 > quit
Qalculate
是一款多功能跨平臺的桌面計算器。它使用較爲簡單,可是功能卻十分強大 。它提供了一些很強大的多功能數學庫,以及一些知足平常需求的實用工具(例如貨幣換算和百分比計算等)。
Qalculate 的功能包括大量可自定義的函數庫,單位計算和轉換,符號計算(包括積分和方程式),任意精度,不肯定性傳播,區間算術,繪圖以及用戶友好的界面(GTK +和CLI)。
對於 Fedora 系統中,使用 DNF 命令進行安裝
$ sudo dnf install libqalculate
對於 Debian/Ubantu 系統,使用 APT-GET 或 APT 命令進行安裝
$ sudo apt install libqalculate
對於基於 Arch Linux 的系統,使用 Pacman 命令進行安裝
$ sudo pacman -S libqalculate
對於 RHEL/CentOS 系統,使用 YUM 命令進行安裝
$ sudo yum install libqalculate
對於 openSUSE Leap 系統,使用 Zypper 命令進行安裝
$ sudo zypper install libqalculate
$ qalc > 5+1 5 + 1 = 6 > ans*2 ans * 2 = 12 > ans-2 ans - 2 = 10 > 1 USD to INR It has been 36 day(s) since the exchange rates last were updated. Do you wish to update the exchange rates now? y error: Failed to download exchange rates from coinbase.com: Resolving timed out after 15000 milliseconds. 1 * dollar = approx. INR 69.638581 > 10 USD to INR 10 * dollar = approx. INR 696.38581 > quit
其實在 Shell 命令行下,咱們能夠直接使用 echo ,awk 等命令直接進行計算,十分方便。
$ echo $((5+5)) 10 $ cat data | awk '{sum+=$1} END {print "Sum = ", sum}' # 計算data文件裏數據之和
公衆號:良許Linux