Linux Bashは、多くのLinuxシステムで使用される強力なシェルおよびスクリプティング言語で、ターミナルを通じてコマンドを実行したり、タスクを自動化するためのスクリプトを作成したりすることができます。初心者にとっては取っつきにくい部分もありますが、基本を理解すれば日常の業務効率を大幅に向上させられます。このガイドでは、初心者向けにLinux Bashの基本コマンドと簡単なスクリプト作成の方法を解説します。
Linux Bashとは?
Bash(Bourne Again SHell)は、Unixシェルの一種で、多くのLinuxディストリビューションでデフォルトシェルとして採用されています。コマンドラインインターフェースを提供し、ユーザーがテキストベースのコマンドを入力することで、システムの操作を行えるように設計されています。Bashはスクリプト言語としても利用され、自動化スクリプトを作成することで、繰り返し行う作業を効率化できます。
基本コマンド
ファイル操作
-
ls コマンド
ls
は現在のディレクトリ内のファイルやディレクトリの一覧を表示します。ls ls -l # 詳細を表示 ls -a # 隠しファイルを含めて表示
-
cd コマンド
cd
は現在の操作ディレクトリを変更します。cd /path/to/directory # 指定のディレクトリに移動 cd .. # 一つ上のディレクトリに移動 cd ~ # ホームディレクトリに移動
-
cp コマンド
cp
はファイルをコピーします。cp source.txt destination.txt # ファイルをコピー cp -r dir1 dir2 # ディレクトリをコピー
-
mv コマンド
mv
はファイルを移動または名前変更します。mv oldname.txt newname.txt # ファイル名を変更 mv file.txt /path/to/directory # ファイルを移動
-
rm コマンド
rm
はファイルを削除します。rm file.txt # ファイルを削除 rm -r directory # ディレクトリを削除
テキスト操作
-
cat コマンド
cat
はファイルの内容を表示します。cat file.txt
-
echo コマンド
echo
は画面にテキストを出力します。echo "Hello, World!"
-
grep コマンド
grep
は指定したパターンに一致する行を探して表示します。grep "search_string" file.txt
-
sed コマンド
sed
はテキストのストリームエディタとして、ファイル中の文字列を置換します。sed 's/old/new/' file.txt
簡単なスクリプトの作成
Linux Bashスクリプトは、上記のコマンドを組み合わせて書くことができます。スクリプトファイルは通常、.sh
という拡張子を持ちます。
スクリプトの基本構造
-
シェバンを設定
スクリプトファイルの最初の行にはシェバン(
#!/bin/bash
)を設定する必要があります。これにより、実行時にBashが使用されます。#!/bin/bash
-
コマンドを順番に書く
通常のBashコマンドを順番に記述します。
#!/bin/bash echo "Hello, Bash!" ls
-
変数の使用
Bashでは変数も使用でき、必要に応じて値を格納し利用します。
#!/bin/bash NAME="Linux User" echo "Hello, $NAME!"
-
条件分岐とループ
スクリプトは条件分岐やループを使用し、より複雑な制御が可能です。
-
条件分岐
if [ "$USER" == "root" ]; then echo "You are root user." else echo "You are not root." fi
-
ループ
for FILE in *.txt; do echo "Processing $FILE" done
-
-
スクリプトの実行権限
スクリプトを実行するには実行権限を設定する必要があります。
chmod +x script.sh ./script.sh
-
スクリプトの書き方のコツ
- コメントを挿入して分かりやすく
- 質問を読む範囲と内容を意識して長々と書かず簡潔に
- より多くの人が理解できるように標準的なBashシンタックスを心がける
まとめ
Bashは最初は難しく感じるかもしれませんが、基本的なコマンドとスクリプトの書き方を習得することで、Linux環境での作業が驚くほどスムーズになります。繰り返し作業を自動化し、業務の効率を向上させる手段として、Bashのスクリプト作成に挑戦してみましょう。慣れてきたら、より複雑なスクリプトや各種ツールとの連携を試みることで、更に活用の幅が広がります。
コメント