1. bashシェルの基礎
bashシェルとは?
bash(Bourne Again Shell)は、MacOSやLinuxといったUnix系のオペレーティングシステムで使われる標準的なシェルです。シェルとは、OSにコマンドを送信するためのインターフェースのことです。グラフィカルな操作ではなく、文字ベースのコマンドを使ってファイル操作やプログラムの実行を行います。
例:bashシェルで「こんにちは」を表示する
echo "こんにちは"
Bashこのコマンドを入力して実行すると、「こんにちは」と画面に表示されます。
bashシェルの役割とは?
bashシェルは、主に以下の役割を果たします:
- コマンドの解釈と実行:ユーザーが入力したコマンドをシステムに送信して実行します。
- シェルスクリプト:複数のコマンドを1つのファイルにまとめたシェルスクリプトを使って、特定のタスクを自動化できます。
- ファイルやプロセスの管理:ファイルの作成、削除、移動、プログラムの実行など、システム内の操作を効率化します。
例:lsコマンドを使って、現在のディレクトリ内のファイル一覧を表示する
ls
Bashls
はlistの略で、フォルダ内のファイルやディレクトリの一覧を表示するコマンドです。
bashシェルのショートカットキーの利用
bashシェルでは、操作を効率化するためのショートカットキーが多数用意されています。覚えると作業が非常にスムーズになります。
Ctrl + A
:カーソルを行の先頭に移動Ctrl + E
:カーソルを行の末尾に移動Ctrl + U
:カーソルより前の文字列を全て削除Ctrl + K
:カーソルより後ろの文字列を全て削除Ctrl + L
:画面をクリアする(clear
コマンドと同じ)
例:行の先頭にカーソルを移動する
- コマンドを入力している途中で、先頭に戻りたい場合、
Ctrl + A
を押します。 - コマンドを途中まで打った後に、修正が必要だと気づいた時などに役立ちます。
コマンドやファイル名を補完する方法
bashシェルには、コマンドやファイル名を自動的に補完してくれる便利な機能があります。これにより、長いコマンドやファイル名をすべて手で打つ必要がなくなります。
Tab
キーを使う補完:コマンドやファイル名の一部を入力してTab
キーを押すと、残りの部分が自動で補完されます。
例:Documentsディレクトリに移動したい場合
cd Doc<Tab>
BashTab
を押すと、自動でDocuments
に補完されます。
以前に実行したコマンドの履歴を活用する方法
bashシェルでは、実行したコマンドが履歴として保存され、再利用することができます。これを利用することで、よく使うコマンドを毎回入力する手間が省けます。
↑
キー:過去に実行したコマンドを一つずつ表示します。Ctrl + R
:過去に実行したコマンドの検索ができます。コマンドの一部を入力すると、それに該当する履歴が表示されます。
例:以前実行したlsコマンドを再度使用する
Ctrl + R
を押します。- “ls”と入力すると、最後に実行した
ls
コマンドが表示されます。 - 表示されたコマンドをそのまま
Enter
キーで実行できます。
オンラインマニュアルでコマンドの使い方を参照する
bashには各コマンドの使い方を説明するマニュアルが用意されています。これは、man
コマンドを使って閲覧できます。
例:lsコマンドの使い方を調べる
man ls
Bashこのコマンドを実行すると、ls
の詳細な使い方が表示されます。
マニュアルを読み込む際に覚えておきたいキー操作
man
ページを読むときには、以下のキー操作が役立ちます:
Space
キー:次のページに進むB
キー:前のページに戻るQ
キー:マニュアルの閲覧を終了
2. ファイルとディレクトリ
Linuxのディレクトリ構造とは?
MacOSやLinuxは階層型のディレクトリ構造を持ち、ファイルやディレクトリがツリー状に配置されています。最上位のディレクトリは**ルートディレクトリ(/
)**と呼ばれます。そこから、各種サブディレクトリが分岐していきます。
代表的なディレクトリ:
/home
:ユーザーディレクトリ(MacOSでは/Users
)/etc
:設定ファイルが格納される場所/var
:ログや一時ファイルを保存する場所/bin
:システムが使う重要なコマンドが格納される場所
ディレクトリの参照
ディレクトリの中にあるファイルを確認するには、ls
コマンドを使います。
例:ホームディレクトリ内のファイルを表示する
ls ~
Bash~
はホームディレクトリを表すショートカットです。
相対パスと絶対パス
ファイルやディレクトリを指定する際、パス(パス名)を使います。パスには、絶対パスと相対パスがあります。
- 絶対パス:ルートディレクトリ(
/
)から始まる完全なパス- 例:
/Users/username/Documents/file.txt
- 例:
- 相対パス:現在のディレクトリを基準にしたパス
- 例:
Documents/file.txt
(現在の場所が/Users/username
の場合)
- 例:
テキストファイルの参照
テキストファイルの中身を確認するためには、以下のコマンドが役立ちます。
cat
コマンド:ファイルの内容を一気に表示します。less
コマンド:ページごとにファイルの内容をスクロールして表示します。
例:example.txtというファイルの内容を確認する
cat example.txt
Bashファイルの操作
ファイルのコピー、移動、削除には以下のコマンドを使います:
- コピー(
cp
):- 例:
file1.txt
をfile2.txt
にコピー
cp file1.txt file2.txt
- 例:
- 移動(
mv
):- 例:
file1.txt
をDocuments
フォルダに移動
mv file1.txt Documents/
- 例:
- 削除(
rm
):- 例:
file1.txt
を削除
rm file1.txt
- 例:
ディレクトリの作成
新しいディレクトリ(フォルダ)を作成するには、mkdir
コマンドを使います。
例:my_folderという新しいフォルダを作成する
mkdir my_folder
Bash空ファイルの作成方法
空のファイルを作りたい場合は、touch
コマンドを使います。これは、ファイルが存在しない場合は新しい空のファイルを作成し、既に存在する場合はそのタイムスタンプを更新します。
例:newfile.txt
という空のファイルを作成する
touch newfile.txt
Bashこのコマンドで、newfile.txt
という名前の空ファイルが作成されます。既に存在する場合は、更新日時が変更されますが内容には影響しません。
ワイルドカードの基本
ワイルドカードは、ファイルやディレクトリを一括で指定したり、特定のパターンに一致するファイルを指定したりするための特殊な記号です。以下のようなワイルドカードがよく使われます。
*
:任意の文字列に一致?
:任意の1文字に一致
例:拡張子が.txtのファイルをすべて表示する
ls *.txt
Bashここで、*
は任意の文字列を表すため、.txt
で終わるすべてのファイルが表示されます。
ワイルドカードの活用
ワイルドカードは非常に強力なツールです。複数のファイルを同時に操作したい場合に活用できます。
例:複数の.logファイルを削除する
rm *.log
Bashこれで、カレントディレクトリ内にあるすべての.log
ファイルが削除されます。
3. vimの利用
vi/vimとは?
vi(Visual Interface)は、Unix系OSに標準で搭載されているテキストエディタで、vimはその改良版(Vi IMproved)です。vimは高速かつ高機能で、ターミナル上でのテキスト編集に特化しています。MacOSにもデフォルトでインストールされています。
vimを起動してテキストファイルを開く
vim example.txt
Bashこのコマンドでexample.txt
というファイルをvimで開きます。ファイルが存在しない場合は、新しいファイルとして作成されます。
vimの基本操作
vimは主に2つのモードがあります:
- コマンドモード:テキストの削除、コピー、貼り付け、検索などの操作を行うモード。
- 挿入モード:テキストを入力するモード。
コマンドモードと挿入モードの切り替え
i
:挿入モードに入る(文字の入力ができるようになる)Esc
:挿入モードからコマンドモードに戻る
例:テキストを入力して保存する
- vimでファイルを開いた後、
i
キーを押して挿入モードに切り替えます。 - テキストを入力します。
- テキスト入力が終わったら、
Esc
キーを押してコマンドモードに戻ります。 - コマンドモードで
:wq
と入力してEnterキーを押すと、ファイルを保存してvimを終了します。
カーソルの移動
vimでのカーソル移動は、通常の矢印キーでも行えますが、h
、j
、k
、l
キーでの移動も非常に便利です。
h
:左に移動j
:下に移動k
:上に移動l
:右に移動
例:3行下に移動する
コマンドモードで3j
と入力すると、カーソルが3行下に移動します。
vim利用時のトラブルシューティング
vimは初心者にとってやや操作が複雑に感じることがありますが、以下のコマンドを覚えておくと便利です。
- 保存せずに終了:
:q!
- 保存して終了:
:wq
または:x
もしvimが「保存していない変更があります」と表示して終了できない場合は、q!
で強制終了できます。
行の削除・コピー・ペースト
vimでは、行単位の操作がとても簡単に行えます。
- 行を削除:
dd
- 行をコピー:
yy
- 行をペースト:
p
例:カーソルがある行を削除する
コマンドモードでdd
を押すと、カーソルのある行が削除されます。
ビジュアルモードの利用
vimには、マウスを使わずに範囲を選択できるビジュアルモードが用意されています。ビジュアルモードでは、テキストを選択して削除やコピーなどの操作が簡単に行えます。
- ビジュアルモードに入る:
v
- 選択したテキストをコピー:
y
- 選択したテキストを削除:
d
例:範囲を選択してコピーする
- コマンドモードで
v
を押してビジュアルモードに入ります。 - 矢印キーや
h
、j
、k
、l
で選択範囲を指定します。 - 選択範囲をコピーするには
y
、削除するにはd
を押します。
検索と置換
vimでは、ファイル内で簡単にテキストを検索したり置換したりすることができます。
- 検索:
/検索したい単語
- 置換:
:s/検索語/置換後/g
(1行のみ)、:%s/検索語/置換後/g
(ファイル全体)
例:ファイル全体で「apple」を「orange」に置き換える
:%s/apple/orange/g
Bashオプションの設定
vimでは、ユーザーが自分の好みに応じて設定を変更できます。例えば、行番号を表示するオプションは次のように設定します。
例:行番号を表示する
:set number
Bashこのコマンドを実行すると、vim内で行番号が表示されるようになります。
vimの設定ファイル(.vimrc)を使った設定
vimの設定を常に有効にしたい場合、ホームディレクトリにある.vimrc
ファイルに設定を記述します。例えば、行番号を常に表示したい場合は、.vimrc
に以下の行を追加します。
set number
Bashその他のテキストエディタの基本操作
vim以外にも、MacOSではnano
やemacs
など、他のテキストエディタを使用することができます。nano
は初心者にとって使いやすく、シンプルな操作感が特徴です。
例:nanoでファイルを開く
nano example.txt
Bashnano
はvimよりも直感的なキー操作で、画面下部に使用できるショートカットキーの一覧が表示されます。例えば、Ctrl + X
で編集を終了、Ctrl + O
で保存ができます。
これで、bashシェルとvimの基本的な使い方についての説明は終わりです。シェルやエディタの使い方に慣れることで、効率的に作業を進められるようになります。最初は複雑に感じるかもしれませんが、繰り返し使っていくうちに自然と操作に慣れてくるでしょう。