Bashの基本コマンド一覧と使い方入門(cd, ls, echoなど)
これまでの記事で、Bashが動く環境(macOSのターミナルやWindowsのWSL)の準備が整いました。いよいよ、本格的にBashの世界に足を踏み入れる時です!キーボードからコマンドを打ち込み、コンピュータを意のままに操る…そんな「ハッカー」のような姿に憧れたことはありませんか?今日学ぶ基本的なコマンドは、その夢への第一歩です。
この記事では、Web制作の現場で日常的に使う、本当に重要な基本コマンドに絞って、その意味と使い方を一つひとつ丁寧に解説していきます。料理人が包丁の使い方を覚えるように、まずはこれらの基本ツールをマスターすることが、あらゆる応用技術への扉を開きます。各コマンドは、そのままコピー&ペーストして実行できるサンプル付きです。ぜひ、あなたのターミナルで実際に手を動かしながら、コマンド操作の感覚を掴んでいってください!
1. 移動のコマンド - ファイルシステムの探検家になろう
ターミナル操作の基本は、まず「自分がどこにいるか」を知り、「目的地へ移動する」ことです。これらのコマンドは、CUIの世界におけるあなたの「足」となります。
pwd - 現在地を確認する
pwd (Print Working Directory) は、今あなたがいるディレクトリの絶対パス(ルートからの完全な位置)を表示します。森で迷ったらコンパスを見るように、ターミナルで迷ったらまず pwd を打ちましょう。
$ pwd
/Users/yourname/Documents/Projects
cd - ディレクトリを移動する
cd (Change Directory) は、その名の通り、ディレクトリ(フォルダ)を移動するためのコマンドです。
特定のフォルダに入る:
$ cd website-v1
一つ上の階層に戻る:
$ cd ..
自分のホームディレクトリに一瞬で戻る:
$ cd
cd ~ と打つのと同じ意味です。どんなに深い階層にいても、このコマンド一発で自分の家に戻れます。
2. 一覧表示のコマンド - 周囲を見渡す
目的地に着いたら、次はその場所に何があるかを知りたくなりますよね。lsコマンドは、あなたの「目」となって周囲の状況を教えてくれます。
ls - ファイルとフォルダの一覧を表示する
ls (List) を単体で実行すると、現在いるディレクトリ内のファイルとフォルダの名前を一覧表示します。
$ ls
css images index.html js
オプションで表示をカスタマイズする
lsは「オプション」を付けることで、様々な表示方法に切り替えられます。
詳細情報を表示する (-l):
$ ls -l
total 8
drwxr-xr-x 2 user staff 64 7 6 10:00 css
drwxr-xr-x 3 user staff 96 7 6 10:00 images
-rw-r--r-- 1 user staff 512 7 6 10:01 index.html
drwxr-xr-x 2 user staff 64 7 6 10:00 js
パーミッションや所有者、ファイルサイズ、更新日時などの詳しい情報がわかります。
隠しファイルもすべて表示する (-a):
.htaccessのように、ファイル名の先頭がドットで始まる「隠しファイル」も表示します。
$ ls -a
. .. .htaccess css images index.html js
.はカレントディレクトリ、..は一つ上のディレクトリを指す特別な記号です。
オプションは組み合わせ可能:
$ ls -al
3. 作成と操作のコマンド - 世界を創り変える
移動と確認ができるようになったら、次はファイルやフォルダを実際に作ったり、コピーしたり、名前を変えたり、削除したりしてみましょう。これらはCUIの世界のあなたの「手」です。
mkdir - フォルダを作成する
mkdir (Make Directory) で新しいフォルダを作ります。
$ mkdir assets
touch - 空のファイルを作成する
touchコマンドで、タイムスタンプを更新したり、存在しない場合は空のファイルを作成したりできます。
$ touch contact.html
cp - ファイルやフォルダをコピーする
cp (Copy) は、ファイルやフォルダを複製します。
ファイルのコピー:
$ cp index.html index_backup.html
フォルダのコピー (-rオプションが必要):
$ cp -r css/ css_backup/
mv - ファイルやフォルダを移動・改名する
mv (Move) は、ファイルやフォルダを移動させます。また、名前の変更にも使われます。
ファイルの移動:
$ mv contact.html pages/
ファイル名の変更(同じ場所に違う名前で移動する、と考える):
$ mv index_backup.html index_old.html
rm - ファイルやフォルダを削除する
rm (Remove) は削除コマンドです。【超・超・重要注意!】GUIのゴミ箱と違い、rmで削除したものは二度と元に戻りません。実行する前には、深呼吸して、本当に削除してよいか指差し確認するくらいの慎重さが必要です。
ファイルの削除:
$ rm index_old.html
フォルダの削除 (-rオプションが必要):
$ rm -r css_backup/
4. ファイルの中身を見るコマンド
最後に、ファイルの中身を確認するためのコマンドをいくつか紹介します。ログの確認など、サーバー管理では必須のスキルです。
cat - ファイル全体を一気に表示する
catは、短いファイルの内容をさっと確認したいときに便利です。
$ cat index.html
less - 長いファイルをスクロールしながら見る
lessは、ログファイルのような長いファイルを見るときに非常に便利です。上下キーでスクロールでき、qキーで閲覧を終了します。
$ less /var/log/apache2/access_log
head / tail - ファイルの先頭・末尾だけを見る
headはファイルの先頭部分、tailは末尾部分を表示します。最新のログを確認したいときなどに多用します。
$ tail -n 20 access_log
-n 20は「末尾から20行表示する」という意味です。
まとめ
お疲れ様でした!今回は、Bashを使う上で避けては通れない、基本的なコマンド群を駆け足で見てきました。一つひとつのコマンドは単純ですが、これらを組み合わせることで、GUI操作では考えられないほど高速で効率的な作業が可能になります。
今日学んだことを体に染み込ませる一番の近道は、普段GUIでやっている簡単な作業を、あえてターミナルでやってみることです。「新しいフォルダを作って、そこにファイルをコピーする」といった簡単な操作でも、コマンドで実行する習慣をつけることで、あなたの指が自然と覚えていきます。
これで、あなたはBashという言語の基本的な「単語」を覚えました。次のステップは、これらの単語を組み合わせて「文章」を作る、つまりBashスクリプトの世界です。次回の記事では、簡単な自動化スクリプトの書き方を学び、あなたの作業をさらに楽にする方法を探求します!