大家好芦鳍,我是良許蛾扇。
在使用 Linux 時(shí),我們有時(shí)會需要做一些計(jì)算,那么我們就可能需要用到計(jì)算器势誊。在 Linux 命令行里鹿寨,有許多計(jì)算器工具颂郎,這些命令行計(jì)算器可以讓我們執(zhí)行科學(xué)計(jì)算谒获、財(cái)務(wù)計(jì)算或者一些簡單的計(jì)算。當(dāng)然业簿,我們也可以在 Shell 腳本中使用這些命令執(zhí)行更為復(fù)雜的數(shù)學(xué)運(yùn)算瘤礁。
這里我們主要介紹5種命令行計(jì)算器:
bc
calc
expr
gcalccmd
qalc
1. 如何在 Linux 中使用 bc 執(zhí)行計(jì)算
bc
是一種以交互式語句執(zhí)行的方式支持任意精度的數(shù)字的語言,它的語法和 C 語言有一些相似之處辖源。
bc 的命令行選項(xiàng)中有一個(gè)可用的標(biāo)準(zhǔn)數(shù)學(xué)庫蔚携,如果有相關(guān)要求,bc 會在處理任何文件之前先定義好標(biāo)準(zhǔn)數(shù)學(xué)庫克饶,bc 會以命令中的順序處理命令中列出的各個(gè)文件的代碼酝蜒。
默認(rèn)情況下,bc 在所有 Linux 發(fā)行版中都是安裝了的矾湃,如果你的系統(tǒng)中沒有 bc亡脑,可以按照以下命令自行安裝:
對于 Fedora 系統(tǒng)中,使用 DNF 命令進(jìn)行安裝
$ sudo dnf install bc
對于 Debian/Ubantu 系統(tǒng),使用 APT-GET 或 APT 命令進(jìn)行安裝
$ sudo apt install bc
對于基于 Arch Linux 的系統(tǒng)霉咨,使用 Pacman 命令進(jìn)行安裝
$ sudo pacman -S bc
對于 RHEL/CentOS 系統(tǒng)蛙紫,使用 YUM 命令進(jìn)行安裝
$ sudo yum install bc
對于 openSUSE Leap 系統(tǒng),使用 Zypper 命令進(jìn)行安裝
$ sudo zypper install bc
如何使用 bc 命令
我們可以用 bc 命令直接在終端中執(zhí)行 + - * / ^ % 等各種計(jì)算
$ 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
來定義標(biāo)準(zhǔn)數(shù)學(xué)庫途戒。默認(rèn)情況下坑傅, 3/5 在 bc 的結(jié)果里是 0 ,因?yàn)橹皇侨≌雅缯H绻阆胍玫秸_答案唁毒,那么就需要使用 -l
選項(xiàng)了。
$ 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
2. 如何在 Linux 中使用 calc 進(jìn)行計(jì)算
calc
是一個(gè)任意精度的計(jì)算器星爪,是一個(gè)可以在命令行中執(zhí)行各種計(jì)算的簡單計(jì)算器浆西。
如果你需要安裝 calc 命令,可以參照上面的 bc 命令安裝方法顽腾。
如何使用 calc 命令
我們可以用 calc 在終端中交互地執(zhí)行各種類型的計(jì)算近零。
$ 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
當(dāng)然,你也可以在非交互模式下使用:
$ calc 3/5
0.6
3. 如何在 Linux 中使用 expr 進(jìn)行計(jì)算
expr 是核心工具庫的一部分抄肖,因此我們不需要安裝它久信。
我們可以使用以下的命令進(jìn)行基礎(chǔ)的計(jì)算:
$ expr 2 + 3
6
$ expr 6 - 2
4
$ expr 3 * 4
12
$ expr 15 / 3
5
但是一定要注意,數(shù)字和符號需要用空格隔開憎瘸,否則的話命令將不認(rèn)識你寫的表達(dá)式:
$ expr 2+3
2+3
$ expr 2*3
2*3
4. 如何在 Linux 中使用 gcalccmd 進(jìn)行計(jì)算
gnome-calculator
是 GNOME 桌面環(huán)境的官方計(jì)算器入篮。gcalccmd 是Gnome Calculator 工具的控制臺版本陈瘦。默認(rèn)情況下幌甘,gcalccmd 已安裝在GNOME桌面中。
使用 gcalccmd 命令進(jìn)行計(jì)算
gcalccmd 也是有一個(gè)交互試的界面痊项,計(jì)算式寫起來與其它幾種計(jì)算器無異锅风。
$ gcalccmd > 5+1 6 > 5-1 4 > 5*2 10 > 10/2 5 > sqrt(16) 4 > 3/5 0.6 > quit
5. 如何在 Linux 中使用 qalc 進(jìn)行計(jì)算
Qalculate
是一款多功能跨平臺的桌面計(jì)算器。它使用較為簡單鞍泉,但是功能卻十分強(qiáng)大 皱埠。它提供了一些很強(qiáng)大的多功能數(shù)學(xué)庫,以及一些滿足日常需求的實(shí)用工具(例如貨幣換算和百分比計(jì)算等)咖驮。
Qalculate 的功能包括大量可自定義的函數(shù)庫边器,單位計(jì)算和轉(zhuǎn)換,符號計(jì)算(包括積分和方程式)托修,任意精度忘巧,不確定性傳播,區(qū)間算術(shù)睦刃,繪圖以及用戶友好的界面(GTK +和CLI)砚嘴。
對于 Fedora 系統(tǒng)中,使用 DNF 命令進(jìn)行安裝
$ sudo dnf install libqalculate
對于 Debian/Ubantu 系統(tǒng),使用 APT-GET 或 APT 命令進(jìn)行安裝
$ sudo apt install libqalculate
對于基于 Arch Linux 的系統(tǒng)际长,使用 Pacman 命令進(jìn)行安裝
$ sudo pacman -S libqalculate
對于 RHEL/CentOS 系統(tǒng)耸采,使用 YUM 命令進(jìn)行安裝
$ sudo yum install libqalculate
對于 openSUSE Leap 系統(tǒng),使用 Zypper 命令進(jìn)行安裝
$ sudo zypper install libqalculate
使用 qalc 命令進(jìn)行計(jì)算
$ 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
6. 如何使用 Shell 命令進(jìn)行計(jì)算
其實(shí)在 Shell 命令行下工育,我們可以直接使用 echo 虾宇,awk 等命令直接進(jìn)行計(jì)算,十分方便如绸。
$ echo $((5+5))
10
$ cat data | awk '{sum+=$1} END {print "Sum = ", sum}' # 計(jì)算data文件里數(shù)據(jù)之和
最后文留,最近很多小伙伴找我要Linux學(xué)習(xí)路線圖,于是我根據(jù)自己的經(jīng)驗(yàn)竭沫,利用業(yè)余時(shí)間熬夜肝了一個(gè)月燥翅,整理了一份電子書。無論你是面試還是自我提升蜕提,相信都會對你有幫助森书!目錄如下:
免費(fèi)送給大家,只求大家金指給我點(diǎn)個(gè)贊谎势!
電子書 | Linux開發(fā)學(xué)習(xí)路線圖
也希望有小伙伴能加入我凛膏,把這份電子書做得更完美!
有收獲脏榆?希望老鐵們來個(gè)三連擊猖毫,給更多的人看到這篇文章
推薦閱讀: