Bashの基本使い方と活用法:Linux初心者でも簡単に始められる

この記事は < 1 分で読めます。
概要

Bashは、LinuxやmacOS、Windows環境で利用できる強力なコマンドラインシェルです。本記事では、初心者向けにBashの基本的な使い方からサーバー管理に役立つスクリプトの作成方法までを詳しく解説します。これからLinuxやBashを学び始める方に最適なガイドです。

管理人

本記事の読者層は以下の方を想定しています。

本記事の読者層
  • Linux初心者で、基本的なBashの使い方を知りたい方
  • Bashを利用して日常的なタスクを自動化したいと思っている方
  • CLIに慣れていないが、少しずつ操作を学びたい方
目次

Bashとは?

Bash(Bourne Again Shell)は、LinuxなどのUnix系オペレーティングシステムで使用される「シェル」の一つです。シェルとは、ユーザーがオペレーティングシステムと対話するためのコマンドラインインターフェースであり、特定のコマンドを入力することでOSに操作を指示します。Bashは、その柔軟性と汎用性から広く採用され、シェルプログラミングの標準としても利用されています。

例えば、OSに何かして貰いたいときには、人間が使う言語として考案された「コマンド」をこの「シェル」上で入力し、コンピューター言語と呼ばれる「マシン語」へ変換し実行してくれます。「シェル」はコンピューターと人間を橋渡ししてくれる大事なコミュニケーションツールです。

他のシェルとの比較

Bashは、最も広く使用されているシェルですが、他にもさまざまな種類のシェルが存在します。

なかでも、最初に誕生した「シェル」が「Boure Shell」と呼ばれるものです。これを拡張したものが今回紹介する「Bash」(バッシュ)と呼ばれるものになります。Linux系のOSでは標準セルとして組み込まれており、幅広いLinux系でも標準シェルとして利用されています。

その他のシェルとして、コマンド体系別に、Bourne系では「sh」、「ksh」、「bash」、「zsh」、Cシェル系では「csh」、「tsh」、「zsh」があります。

例えば、「zsh」や「csh」は、Bashと異なる特徴や機能を持っています。Bashは、多くのLinuxディストリビューションでデフォルトシェルとして採用されていますが、他のシェルに比べてシンプルかつ柔軟である点が大きな利点です。Bashは初学者でも理解しやすく、多くのリソースが利用可能なため、最初に学ぶシェルとして最適です。

中でも「zsh」は汎用性があり様々なサポート機能が充実していることから多くのユーザーから高い支持が得られています。

更に「zsh」の詳しい使い方は以下の記事をご参照ください。

Bashの使い方:基本的なコマンド

まずはBashの基本的な使い方を学んでいきましょう。Bashはコマンドを入力して、その結果を表示する非常にシンプルな構造です。

Linuxのコマンドプロンプトを立ち上げます。Terminalアプリなどの「端末」アプリを起動するだけで大丈夫です。

例えば、Ubuntuであれば「Ctrl+Alt+T」を押すと、terminal「端末」アプリが起動できます。初期状態の場合は、ユーザーはホームディレクトリにおり、ホームディレクトリを表す「~」(チルダ)が表示されます。

例として、以下のコマンドを試してみてください。

(日本標準時の場合)
% date
2023年  4月 13日 木曜日 08:47:02 JST

(世界標準時の場合)
% date -u
2023年  4月 12日 水曜日 23:47:22 UTC

このコマンドは、現在の日時を表示します。コマンドを実行するたびに、リアルタイムの情報を確認することが可能です。また、オプションを追加することで、結果をカスタマイズすることもできます。

Bashの便利なコマンド集

Bashには、日常的に使用できる便利なコマンドが多く存在します。例えば、ファイル操作、プロセス管理、ネットワーク操作など、さまざまなタスクを実行するためのコマンドがあります。以下にいくつかの代表的なコマンドを紹介します。

# ファイルの一覧を表示
$ ls

# 現在のディレクトリを表示
$ pwd

# ファイルをコピー
$ cp source.txt destination.txt

# ファイルを削除
$ rm file.txt

これらのコマンドを習得することで、システム操作が格段に効率的になります。

Bashスクリプトによる自動化

Bashの真の力は、複数のコマンドを組み合わせて一度に実行できる「シェルスクリプト」にあります。シェルスクリプトを活用することで、日常的なタスクを自動化し、手作業を大幅に削減できます。

これは「コマンド」の組み合わせを「シェル」を通して読み込ませることで複数のコマンドを一度に実行してしまうという便利な機能です。

例えば、定期的にバックアップを作成したい場合、以下のようなBashスクリプトを作成しておけば、手動で毎回コマンドを実行する必要がなくなります。

#!/bin/bash
tar -czf backup.tar.gz /path/to/backup

このスクリプトは、指定したディレクトリを圧縮してバックアップファイルを作成するものです。さらに、cronジョブを使って定期実行することで、完全に自動化されたバックアップシステムを構築できます。

Bashスクリプトの応用:サーバー管理の効率化

サーバー管理では、Bashスクリプトを活用して様々な運用タスクを効率化することが可能です。たとえば、サーバーのステータスを監視するスクリプトを作成することで、問題が発生した際に自動的にアラートを送信するシステムを構築できます。

以下は、サーバーのリソース使用状況を監視し、特定の条件下でアラートを発するシンプルなスクリプトの例です。

#!/bin/bash
# CPU使用率が80%以上になったら通知
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
if [ $cpu_usage -gt 80 ]; then
  echo "Warning: High CPU usage - $cpu_usage%" | mail -s "CPU Alert" admin@example.com
fi

このようなスクリプトは、サーバーのパフォーマンス監視や、リソースの過剰使用を防ぐための自動化された管理手法として非常に効果的です。

このプログラムの書き方を知っていれば、記載したコマンドを順次順番に実行することができるため、
①定期的に自動処理を行いたい場合
②一括処理をおこないたい場合


にとても便利な機能です。またサーバー管理においてbashを使ったバッチ処理を行うこともできます。

    詳細は以下の記事をご参照ください。

    Bashの使い方:応用テクニックと最新情報

    Bashは、単にコマンドを実行するだけでなく、複雑な処理も行うことが可能です。たとえば、パイプラインを使って複数のコマンドの出力を連結したり、リダイレクトを使ってファイルに結果を保存することができます。

    最新バージョンのBashでは、いくつかの新機能が追加されており、以前よりもさらに効率的にスクリプトを作成できるようになっています。例えば、「関数」の機能を活用することで、再利用可能なコードブロックを定義し、複数回呼び出すことができます。

    どこで利用出来るか?

    Windows10でもmacOSでも利用出来ます。Linux系であればUbuntuなどでも利用が可能です。Windowsで利用したい場合は、「Windows subsytem for Linux」をインストールすることでbashをwindows上で利用出来ます。

    詳細は以下のリンクをご参照下さい。

    どのシェルをしているかの確認

    どのシェルを利用しているかを確認するためには以下のコマンドを入力します。

    $ echo $SHELL
    /bin/sh

    bashを利用していれば、「/usr/bin/bash」と表示されます。

    zshを利用していれば、「/usr/bin/zsh」と表示されます。

    Bashでの計算機の方法

    Bashで簡単な四則演算を行う場合、$((数式)) を使用するのが基本的な方法です。この構文では、整数の足し算、引き算、掛け算、割り算、および余りの計算を実行できます。

    //足し算
    $ echo $((1+1))
    2
    
    //引き算
    $ echo $((77-11))
    66
    
    //かけ算
    $ echo $((21*5))
    105
    
    //割り算
    $ echo $((21/5))
    4
    
    //割ったあまりを計算する
    $ echo $((21%5))
    1

    これもかなり便利なものですので是非利用してみて下さい。このような四則演算は以下のechoコマンド以外にもbcコマンドでも利用できます。

    詳細は以下の記事をご参照ください。

    まとめ

    本記事のまとめ

    次回の記事をご期待下さい。どうぞよろしくお願いいたします。

    関連リンク

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!

    コメント

    コメントする

    目次