はじめに
プログラミングを始めると、必ず「ターミナル」という黒い画面に出会います。最初は少し難しそうに見えるかもしれませんが、基本的なコマンドを覚えるだけで、開発作業が格段に効率的になります。
この記事では、ターミナルを使う意味と、最低限押さえておきたい基本コマンドを紹介します。
この記事の対象環境
- macOS
- シェル: zsh
ターミナルとシェルについて
シェルとは
ターミナルで実際にコマンドを解釈して実行するプログラムを「シェル」と呼びます。シェルにはいくつかの種類があり、代表的なものとしてbashとzshがあります。
bashとzshの違い
- bash: Bourne Again Shellの略で、長年Linuxやmacの標準シェルとして使われてきました
- zsh: Z Shellの略で、bashの機能を拡張したシェルです。macOS Catalina以降はzshが標準シェルになっています
zshはbashと互換性を保ちながら、より強力な補完機能やカスタマイズ性を持っています。基本的なコマンドはbashと同じように使えるので、この記事で学ぶ内容は両方で活用できますね。
WindowsとMacの環境の違い
OSによってターミナルの環境が異なります。
Mac
- 標準でUnixベースのコマンドが使える
- ターミナル.appやiTermなどのアプリで操作
- 標準シェルはzsh(macOS Catalina以降)
Windows
- コマンドプロンプトやPowerShellが標準
- コマンド体系がUnixと異なる(
lsの代わりにdirなど) - WSL(Windows Subsystem for Linux)を使うことで、LinuxライクなUnixコマンドが使える
この記事では、Mac環境でzshを使った操作を前提に説明していきます。
ターミナルを使う意味
システムの深い部分にアクセスできる
ターミナルを使うことで、通常のGUI操作ではアクセスできない範囲まで、システムの操作が可能になります。例えば、隠しファイルの編集や、システムファイルの操作など、より細かい制御ができるようになりますね。
開発ツールの多くはターミナルから実行する
現代の開発では、Git、npm、Python、Dockerなど、ほとんどの開発ツールがターミナルから実行されます。ターミナルの基本操作を身につけることは、開発者にとって必須のスキルと言えます。
基本コマンド
ここからは、実際によく使う基本コマンドを見ていきましょう。
現在位置を確認・移動する
まずは、今自分がどこにいるのかを確認し、目的の場所に移動するコマンドです。
pwd: 現在のディレクトリパスを表示
pwdはPrint Working Directoryの略で、現在作業しているディレクトリの絶対パスを表示します。
% pwd
/Users/username/projects
ls: ファイルとフォルダの一覧表示
lsはListの略で、現在のディレクトリ内にあるファイルとフォルダを一覧表示します。
% ls
folder1 folder2 file1.txt file2.js
cd: ディレクトリの移動
cdはChange Directoryの略で、指定したディレクトリに移動します。
% cd folder1
% pwd
/Users/username/projects/folder1
ファイルとフォルダを作成する
mkdir: フォルダの作成
mkdirはMake Directoryの略で、新しいフォルダを作成します。
% mkdir new_folder
% ls
new_folder folder1 folder2
touch: ファイルの作成
touchコマンドで、新しい空のファイルを作成できます。
% touch new_file.txt
% ls
new_file.txt new_folder folder1
ファイルとフォルダを削除する
rm: ファイルの削除
rmはRemoveの略で、ファイルを削除します。
% rm file1.txt
注意点として、ターミナルで削除したファイルはゴミ箱に移動されず、完全に削除されます。一度削除すると復元できないので、慎重に操作しましょう。
rm -rf: ディレクトリの削除
フォルダを削除する場合は、-rfフラグを付けます。-rはRecursiveで中身も含めて削除、-fはForceで強制削除を意味します。
% rm -rf folder1
このコマンドは非常に強力なため、実行前に対象のディレクトリ名を必ず確認してください。
作業効率を上げる便利機能
Tab補完で入力を楽にする
cdコマンドなどでディレクトリ名を入力する際、Tabキーを使った自動補完機能が使えます。zshは特に補完機能が強力で、より賢く候補を提示してくれます。
この機能の利点は以下の通りです。
- ファイル名やディレクトリ名を途中まで入力してTabキーを押すと、自動的に補完される
- 候補が複数ある場合は、Tabキーを押すと候補一覧が表示される
- 入力ミスを防ぎ、作業効率を向上させる便利な機能
フラグでコマンドを拡張する
ターミナルコマンドには「フラグ」と呼ばれるオプションがあり、コマンドに追加機能を持たせることができます。フラグは-または--の後に文字を付けて指定します。
例えば、lsコマンドにフラグを付けると、表示方法を変更できます。
# 詳細情報を表示
% ls -l
# 隠しファイルも含めて表示
% ls -a
# フラグの組み合わせ
% ls -la
フラグは組み合わせて使うこともできるため、コマンドの機能を柔軟にカスタマイズできますね。
まとめと注意点
ターミナルの基本コマンドを理解すると、開発作業がスムーズに進められるようになります。
押さえておきたいポイント
- Mac環境ではzshが標準シェル(macOS Catalina以降)
-
pwdで現在地を確認、lsでファイル一覧を表示、cdで移動 -
mkdirでフォルダ作成、touchでファイル作成 -
rmでファイル削除、rm -rfでディレクトリ削除 - Tab補完で入力を効率化
- フラグでコマンドをカスタマイズ
注意すべきこと
- 削除コマンドは取り消しができないため、実行前に必ず対象を確認する
- 特に
rm -rfは強力なコマンドなので、慎重に使用する
最初は少しずつ、基本的なコマンドから使ってみましょう。慣れてくると、ターミナルが強力な開発ツールであることが実感できるはずです。