1. はじめに
- Mac環境の勉強がてらTerminal(ターミナル)について調べたので自分用の備忘録としてまとめました。
2. Terminal(ターミナル)とは
- 端末エミュレータのこと。
- MacOSに標準で搭載されている
Terminal.appや、iTerm2が該当する。 - Terminal.appを起動すると、CLI(Command Line Interface:コマンドラインインターフェイス)のShell(シェル)であるBash(Bourne Again Shell:ボーンアゲインシェル)が起動する。
2-1. 端末エミュレータとは
- キャラクタ端末(テキストの入力と表示を行う端末)を画面(ウインドウシステム)上で擬似的にエミュレートしたもの。
2-2. Shell(シェル)とは
- ユーザがOS内部(Kernel:カーネル)とやりとりするためのソフトウェア。
- カーネル自身はユーザと対話することができないため、ユーザがターミナルで入力したコマンドや入力操作をシェルが解釈し、カーネルに処理を依頼する。その後カーネルから出力された結果やメッセージをユーザに返す。
2-3.ターミナル上でのコマンド入力、解釈、実行までの流れ
- 例として
lsコマンド実行までの流れ
- ターミナル上で
lsコマンドを入力。 - シェルがコマンドを解釈し、カーネルに処理(ディレクトリ、ファイルのリスト出力)を依頼。
- カーネルが依頼された処理を実行。
- シェルがカーネルの処理結果を解釈し、ターミナルに結果(ファイル、ディレクトリのリスト)を返す。
- ターミナル上に結果(ファイル、ディレクトリのリスト)が表示される。
3. (よく使いそうな)コマンド一覧
pwd コマンド
- print working directoryの略。
- カレントディレクトリのパスを表示する。
pwd
$ pwd #カレントディレクトリのパスを表示
ls コマンド
- listの略。
- カレントディレクトリにあるファイルを表示する。
ls
$ ls #カレントディレクトリにあるファイルとディレクトリを表示
$ ls -a #隠しファイルも含めたファイルとディレクトリを表示
$ ls -l #ファイルやディレクトリの詳細も表示
cd コマンド
- change directoryの略。
- カレントディレクトリを移動する。
cd
$ cd Desktop #カレントディレクトリをDesktopフォルダに移動
$ cd ~ #ホームディレクトリに移動
$ cd .. #カレントディレクトリを1階層上のディレクトリに移動
touch コマンド
- ファイルのタイムスタンプを変更する。
- 存在しないファイル名を指定するとファイルを新規作成する。
touch
$ touch hoge.md #hoge.mdを新規作成
$ touch hoge.md #hoge.mdのタイムスタンプを現在日時に設定
$ touch -d "2019-8-11 20:30" hoge.md #hoge.mdのタイムスタンプを2019/8/11 20:30に設定
mkdir コマンド
- make directoryの略。
- カレントディレクトリに指定フォルダ(ディレクトリ)を作成する。
mkdir
$ mkdir hoge #hogeフォルダを作成
$ mkdir -m 666 hogehoge #パーミッション(666:全ユーザに読み書き許可、実行許可なし)のhogehogeフォルダを作成
mv コマンド
- moveの略。
- ファイルを移動またはファイル名をリネームする。
mv
$ mv hoge.md Desktop/ #hoge.mdをDesktopに移動
$ mv hoge.md hoge1.md #hoge.mdをhoge1.mdにリネーム
cp コマンド
- copyの略。
- ファイルまたはフォルダ(ディレクトリ)をコピーする。
cp
$ cp hoge.md hoge1.md #hoge.mdをhoge1.mdとしてコピー
$ cp -r test test1 # testフォルダをtest1フォルダとしてコピー
rm コマンド
- removeの略。
- ファイルまたはフォルダ(ディレクトリ)を削除する。
rm
$ rm hoge.md #hoge.mdを削除
$ rm hoge* #ファイル名にhogeを含むファイルを削除
$ rm -r test #testフォルダを削除
openコマンド
- ファイルまたはフォルダ(ディレクトリ)を開く。
open
$ open . #カレントディレクトリをFinderで開く
$ open ~ #ホームディレクトリをFinderで開く
$ open hoge.md #関連付けられているアプリでhoge.mdを開く
source コマンド
- ファイルを再読み込みする。
source
$ source .bash_profile #.bash_profileを再読み込みし、設定を有効にする
findコマンド
- ファイルを検索する。
find
$ find ~/ -name *.md # ホームディレクトリ配下の.mdファイルを検索
grepコマンド
- ファイル内の文字列に対して検索する。
grep
$ grep hoge *.md # カレントディレクトリに存在する.mdファイルについて、hogeを検索
$ grep hoge ./DEV # DEVディレクトリに存在するファイルについて、hogeを検索
# findコマンドと組み合わせて指定ディレクトリ配下を再帰的に検索する
$ find ./DEV -name "*.md" | xargs grep hoge # DEVディレクトリ配下の.mdファイルについて、hogeを検索