Bashの基礎
Bash (Bourne Again SHell) は、Unix系のオペレーティングシステムで標準的に用いられるコマンドラインインタープリタ(シェル)の一つです。ユーザーはBashを通じて、コマンドを入力することでコンピュータに様々な操作を指示できます。
主な役割:
- コマンドの実行: ユーザーが入力したコマンドを解釈し、オペレーティングシステムに実行させます。
- スクリプトの実行: 複数のコマンドを記述したスクリプトファイルを実行できます。
- 環境設定: 環境変数を設定したり、エイリアスを作成したりできます。
基本的な操作:
- プロンプト: Bashがコマンド入力を待ち受けている状態を示す記号です。通常、$ や # で終わります。
- コマンドの入力: プロンプトの後にコマンドを入力し、Enterキーを押すと実行されます。
- 引数: コマンドによっては、続けて処理対象のファイル名やオプションなどを指定できます。これらはコマンドの「引数」と呼ばれます。
よく使うコマンド
以下によく使う基本的なBashコマンドとその簡単な説明を挙げます。
ls: ディレクトリの内容を表示します。
- 例:
ls
,ls -l
,ls -a
cd: ディレクトリを移動します。
- 例: ```cd /home```, ```cd ..```, ```cd -```
pwd: 現在いるディレクトリのパスを表示します。
- 例:
pwd
mkdir: 新しいディレクトリを作成します。
- 例:
mkdir new_directory
rmdir: 空のディレクトリを削除します。
- 例:
rmdir empty_directory
rm: ファイルやディレクトリを削除します。
- 例:
rm file.txt
,rm -r directory
cp: ファイルやディレクトリをコピーします。
- 例:
cp file1.txt file2.txt
,cp -r directory1 directory2
mv: ファイルやディレクトリを移動またはリネームします。
- 例:
mv old_name.txt new_name.txt
,mv file.txt /tmp
cat: ファイルの内容を表示します。
- 例:
cat file.txt
less: ファイルの内容をページャーで表示します(大きなファイルに適しています)。
- 例:
less large_file.txt
head: ファイルの先頭部分を表示します。
- 例:
head file.txt
,head -n 10 file.txt
tail: ファイルの末尾部分を表示します。
- 例:
tail file.txt
,tail -f log_file.log
grep: ファイルの中から特定のパターンに一致する行を検索します。
- 例:
grep "keyword" file.txt
find: 指定した条件に合致するファイルやディレクトリを検索します。
- 例:
find . -name "*.txt"
chmod: ファイルやディレクトリのパーミッション(権限)を変更します。
- 例:
chmod 755 script.sh
chown: ファイルやディレクトリの所有者を変更します。
- 例:
chown user file.txt
sudo: 管理者権限でコマンドを実行します。
- 例:
sudo apt update
使用例
いくつかの具体的な使用例を見てみましょう。
現在のディレクトリにある.txtファイルをすべて探し、それらのファイル名をリスト表示する。
find . -name "*.txt" -print
この例では、findコマンドを使って現在のディレクトリ(.)以下にある名前が*.txtに一致するファイルを検索し、-printオプションでその名前を表示しています。
access.logファイルの中で "error" という文字列が含まれる行を抽出して表示する。
grep "error" access.log
ここでは、grepコマンドでaccess.logファイルの中から "error" というパターンに一致する行を抽出しています。
新しいディレクトリ backup を作成し、その中に現在のディレクトリにあるすべての.confファイルをコピーする。
mkdir backup
cp *.conf backup/
まず mkdir で backup ディレクトリを作成し、次に cp コマンドとワイルドカード *.conf を使って、拡張子が .conf のファイルをすべて backup/ ディレクトリにコピーしています。
script.sh という名前のシェルスクリプトに実行権限を与えて実行する。
chmod +x script.sh
./script.sh
chmod +x で実行権限を追加し、./ をつけてスクリプトを実行しています。
これらの基礎とコマンド、使用例が、Bashの理解を深める助けになれば幸いです。