Linuxターミナルでの計算をマスターしよう:覚えておきたい5つの必須テクニック
この記事では、Linuxターミナル上で算術計算を行うためのさまざまな便利な方法を紹介します。最後まで読めば、コマンドラインで数学的な計算を実行するための実践的な手法をいくつも習得できるでしょう。
それでは始めましょう!
1. Bashシェルの二重括弧を使う
Linuxのコマンドライン(CLI)で基本的な計算を行う最も手軽な方法が、二重括弧 $(( )) を使う方法です。以下は、変数に格納された値を使った例です。
$ ADD=$(( 1 + 2 )) $ echo $ADD $ MUL=$(( $ADD * 5 )) $ echo $MUL $ SUB=$(( $MUL - 5 )) $ echo $SUB $ DIV=$(( $SUB / 2 )) $ echo $DIV $ MOD=$(( $DIV % 2 )) $ echo $MOD
2. exprコマンドを使う
exprコマンドは式を評価し、その結果を標準出力に出力します。ここでは、exprを使った簡単な計算、値の比較、変数の値のインクリメント(増加)、文字列の長さの取得といった使い方を見ていきます。
まずはexprコマンドによる簡単な計算の例です。なお、多くの演算子はシェルによって解釈されないようエスケープまたはクォートが必要になる点に注意してください。たとえば * 演算子などが該当します(比較の項目でさらに詳しく見ていきます)。
$ expr 3 + 5 $ expr 15 % 3 $ expr 5 \* 3 $ expr 5 – 3 $ expr 20 / 4
次に、式の比較について説明します。評価結果が偽(false)の場合、exprは 0 を出力し、真(true)の場合は 1 を出力します。
いくつか例を見てみましょう。
$ expr 5 = 3 $ expr 5 = 5 $ expr 8 != 5 $ expr 8 \> 5 $ expr 8 \< 5 $ expr 8 \<= 5
exprコマンドは、変数の値をインクリメント(1ずつ増やす)するためにも使えます。次の例を確認してください(同じ要領で、変数の値をデクリメント/減らすことも可能です)。
$ NUM=$(( 1 + 2)) $ echo $NUM $ NUM=$(expr $NUM + 2) $ echo $NUM
さらに、文字列の長さを取得する方法も見ておきましょう。
$ expr length "This is Tecmint.com"
各演算子の意味など、より詳しい情報についてはexprのmanページを参照してください。
$ man expr
3. bcコマンドを使う
bc(Basic Calculator)は、簡易的な関数電卓や金融用電卓に期待される機能をほぼすべて備えたコマンドラインユーティリティです。特に小数点を含む浮動小数点演算に便利です。
bcコマンドがインストールされていない場合は、以下のコマンドでインストールできます。
$ sudo apt install bc #Debian/Ubuntu $ sudo yum install bc #RHEL/CentOS $ sudo dnf install bc #Fedora 22以降
インストール後は、対話モードで実行するか、引数を渡して非対話的に実行できます。両方のケースを見てみましょう。対話モードで起動するには、コマンドプロンプトで bc と入力し、そのまま計算を始めるだけです。
$ bc
次の例は、コマンドライン上でbcを非対話的に使う方法です。
$ echo '3+5' | bc $ echo '15 % 2' | bc $ echo '15 / 2' | bc $ echo '(6 * 2) - 5' | bc
-l オプションを付けると、デフォルトのscale(小数点以下の桁数)が 20 に設定されます。例を見てみましょう。
$ echo '12/5' | bc $ echo '12/5' | bc -l
4. awkコマンドを使う
awkはGNU/Linuxにおける最も代表的なテキスト処理プログラムの一つです。加算・減算・乗算・除算・剰余(モジュロ)の算術演算子をサポートしており、浮動小数点演算にも対応しています。
以下のように、基本的な計算に利用できます。
$ awk 'BEGIN { a = 6; b = 2; print "(a + b) = ", (a + b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a - b) = ", (a - b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a * b) = ", (a * b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a / b) = ", (a / b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a % b) = ", (a % b) }'
awkが初めてという方には、学習を始めるための完全なガイドシリーズ「Awkテキスト処理ツール入門」をおすすめします。
5. factorコマンドを使う
factorコマンドは、整数を素因数分解するために使用します。例は以下の通りです。
$ factor 10 $ factor 127 $ factor 222 $ factor 110
以上です!この記事では、Linuxターミナルで算術計算を行うためのさまざまな便利な方法を解説しました。この記事に関するご質問やご意見があれば、ぜひ下のフィードバックフォームからお聞かせください。
-
Linuxのタイムゾーンを確認・変更する方法|date・timedatectlコマンド徹底解説
Linuxサーバーにおける時刻とタイムゾーンの管理は、システム運用において非常に重要な要素です。特に本番環境のサーバーでは、ログの時刻記録やcronなどのスケジュール処理が正確なタイムゾーン設定に依存しているため、常に正しい状態を把握しておくことが欠かせません。 本記事では、Linuxシステムの現在のタイムゾーンを確認するための基本的な方法から、実際にタイムゾーンを変更する手順まで、初心者の方にもわかりやすく解説します。 1. dateコマンドでタイムゾーンを確認する 最も伝統的かつシンプルな方法は、dateコマンドを使うことです。オプションなしで実行すると、現在の日付・時刻とともにタイムゾー
-
【Linux入門】systemctlの使い方:サービスの一覧表示・ステータス確認・制御のコツ
このガイドでは、systemctlコマンドを使ってサービスを一覧表示し、ステータスを確認する方法を詳しく解説します。あわせて、サービスの制御や有効化・無効化など、systemctlのその他の実践的な活用方法についてもご紹介します。 従来のinitスクリプト方式から移行してくると、systemctlはまさに「清々しい」存在です。賛否両論の議論は数多く耳にしましたし、私自身も何度か意見が変わりました。しかし、日々の業務で使い続けた結果、今では完全にsystemctl派です。コマンドの文法は直感的で自然に感じられますし、日常的な運用面でも非常に扱いやすいツールです。私はこの変化を受け入れましたし、古