macOSは優れたGUI環境を備えているので、オフィス系アプリケーションソフトやグラフィック系アプリケーションソフト等を中心に使っている方は、通常ターミナルでコマンドを使うことは滅多にないかもしれません。しかし、プログラミングをしたり、サーバー設定やLinux特有の設定をしたりする場合など、やはりターミナルでコマンドを使う必要性が出てきます。

そもそもmacOSは、スティーブ・ジョブズが創り上げたNeXTコンピューターのOPENSTEPの技術をベースに開発されてきたという経緯がありますが、OPENSTEPはLinuxと同じ祖先であるUNIX系のOSです。ご存知の通り、UNIXは本来CUI(Character User Interface)で操作するコンピューターですから、Macにもユーザー・インターフェースの一つとしてCUIが備えられているのも頷けます。ちなみに現在では、macOSはPOSIXに準拠したLinuxの一つという位置付けになっています。

さて、前置きはこのくらいにして本論に入りたいと思いますが、今回は初心者レベルを卒業したと自認するMacユーザーなら是非覚えておきたいターミナルの使い方と設定、及びよく使うLinuxコマンドをまとめてみました。

スポンサーリンク




目次

  1. ターミナルの基本的な使い方と設定
    1. 起動する方法
    2. 環境設定について
  2. よく使うLinuxコマンド一覧
    1. コマンド補完機能の活用
    2. ファイル操作系コマンド
    3. インストール系コマンド
    4. ネットワーク系コマンド
    5. 圧縮解凍系コマンド
    6. その他のコマンド
  3. まとめ

1. ターミナルの基本的な使い方と設定

起動する方法

まずは起動の方法ですが「ターミナル.app」は「アプリケーション > ユーティリティー」の中にあります。まずは起動してみましょう。

このようなウィンドウが表示されます。上の画面はダークモードに設定されているので、このように見えます。ここでは、2行目に注目してみてください。

yourmac:~ username$

yourmac」の部分は、コントロールパネルの「共有」で設定されているコンピューター名(の英字表記)です。

~(チルダ)」は、現在のディレクトリがユーザーのホームディレクトリであることを示しています。

username」の部分は、Macをセットアップした時のユーザー名(の英字表記)が表示されているはずです。

最後の「$(ドルマーク)」の後にカーソルが表示されていますが、コマンドはここから入力していきます。そして「return」キー押下で入力したコマンドが実行されます。

環境設定

ここでは環境設定についても簡単に言及しておきたいと思います。これは完全に個人的な好みの問題ではありますが、背景色や文字色を好きな色に変更してからでないとなんとなく落ち着きません。そんな方は、下記の方法で設定を好みの設定に変更してみましょう。

ターミナルを起動したら、メニューバーの「ターミナル > 環境設定」を選択することで下の画面を表示させることができます。

この画面のように「プロファイル」の項目では主に表示に関わる設定を変更することができますが、ここで背景文字色、起動時のウィンドウサイズ等を設定することができます。いくつかのテーマがプリセットされていますので、その中から好みのものを選ぶか、画面のように特定のプロファイルを複製してから好みの設定にカスタマイズすることも可能です。好みで設定してみてください。

2. よく使うLinuxコマンド一覧

ここからはよく使うコマンド集です。必要に応じて使ってみてください。コマンドサンプルの「yourmac:~ username$」の部分は、あくまでもこの記事の一例ですので注意してください。

2-1. コマンド補完機能の活用

Tabキー

コマンドを打つときに欠かせないのが、Tabキーの補完機能です。例えば、現在のディレクトリの特定ファイル名を入力したい場合、途中まで入力してTabキーを押下すると残りの文字列を補完してくれるという便利な機能です。

↑↓キー

すでに入力したコマンドを再び繰り返したい時、↑キーあるいは↓キーを押下するとコマンド入力の履歴が表示されます。これも便利なので、是非覚えておきたいところです。

2-2.ファイル操作系コマンド

pwd

現在のディレクトリをフルパスで表示する。

実行例:

yourmac:~ username$ pwd
/Users/username

ls

現在のディレクトリのファイルリストを表示する。

主なオプション:

-aファイル名の先頭にピリオドがあるファイルも表示
-l長いフォーマットで表示
-F実行可能なファイル名の後に「*」を表示

実行例:

yourmac:~ username$ ls -alF
total 176
drwxr-xr-x+  45 username  staff   1440  2 25 15:12 ./
drwxr-xr-x    6 root           admin    192  1 16  2019 ../
-r--------    1 username  staff      7  1 16  2019 .CFUserTextEncoding
-rw-r--r--@   1 username  staff  22532  2 25 14:06 .DS_Store
drwx------    2 username  staff     64  2 25 11:54 .Trash/
-rw-------    1 username  staff  12200  2 25 13:45 .bash_history
-rw-r--r--    1 username  staff   1252 12 28  2019 .bash_profile
drwx------  374 username  staff  11968  2 25 14:10 .bash_sessions/
drwx------    3 username  staff     96  2  5 13:43 .ssh/
drwx------@  11 username  staff    352  2 25 14:10 Desktop/
drwx------@  24 username  staff    768  2 25 13:49 Documents/
drwx------+   6 username  staff    192  2 24 18:50 Downloads/
drwx------@  82 username  staff   2624  2  3 17:13 Library/
drwx------+   8 username  staff    256 11 27  2019 Movies/
drwx------+   5 username  staff    160  1 19  2019 Music/
drwx------+   8 username  staff    256  3 10  2020 Pictures/
drwxr-xr-x+   4 username  staff    128  1 16  2019 Public/

cd

現在のディレクトリを変更する。

実行例:

yourmac:~ username$ cd Documents/
yourmac:Documents username$ 

この実行例では現在のディレクトリを「Documents」フォルダ内に変更しています。なお、一つ上のディレクトリに行きたい場合は「cd ../」、二つ上のディレクトリに行きたい場合は「cd ../../」、ルートディレクトリに行きたい場合は「cd /」と入力します。


mv

ファイルパスを変更する。

実行例:

yourmac:~ username$ mv ./sample.txt ../sample.txt

この実行例では現在のディレクトリにある「sample.txt」を一つ上のディレクトリに移動しています。


cp

ファイルをコピーする。

主なオプション:

-aサブディレクトリや属性を可能な限り保持しながらコピー
-rディレクトリごと再帰的にコピー
-f同名ファイルが既にある場合、警告なしで上書き

実行例:

yourmac:~ username$ cp -a ./sample.txt ./sample_copy.txt

この実行例では「sample.txt」を「sample_copy.txt」として複製しています。


rm

ファイルを削除する。

主なオプション:

-rディレクトリごと再帰的に削除
-f同名ファイルが既にある場合、警告なしで削除

実行例:

yourmac:Desktop username$ rm -rf sample/

この実行例では、デスクトップ上にある「sample」というフォルダを中のファイルごと全て消去しています。「rm」コマンドはゴミ箱に入れるということではなく、完全消去なのでその点は注意してください。


chmod

ファイルパーミッションを変更する。パーミッションとは「ファイルやフォルダへのアクセス権」のことで、主にMacをWebサーバーとして使用するような時に使用する。

主なオプション:

-Rディレクトリに含まれる全ファイルを指定

実行例:

yourmac:www username$ chmod -R 644 html/

この実行例では、現在のディレクトリ「www」上の「html」というフォルダ、及び中にある全てのファイルのパーミッションを「644」に変更しています。


chown

ファイルオーナーを変更する。

実行例:

yourmac:www username$ chown username sample.html

この実行例では、現在のディレクトリ「www」上の「sample.html」のファイルオーナーを「username」に変更しています。


chgrp

ファイルグループを変更する。

実行例

yourmac:www username$ chown staff sample.html

この実行例では、現在のディレクトリ「www」上の「sample.html」のファイルグループを「staff」に変更しています。


df

ディスク容量を確認する。特定のディレクトリを指定するとそのディレクトリが格納されているディスク容量のみ確認することができる。

実行例:

yourmac:Desktop username$ df ./
Filesystem   512-blocks      Used Available Capacity iused               ifree %iused  Mounted on
/dev/disk1s1  976363488 516187760 450383584    54% 2244545 9223372036852531262    0%   /

この実行例では「Desktop」が格納されている「Macintosh HD」の容量が表示されています。


cat

ファイルの中身を全て確認する。

実行例:

yourmac:Desktop username$ cat sample.txt
sample

この実行例では「Desktop」上にある「sample.txt」の中身を表示しています。


more

ファイルの中身を少しずつ確認する。スクロールする場合は、returnキーを押してページサイズ分スクロールするか、スペースキーを押して1行ずつ確認、または「:」の後にスクロールする行数を指定してスクロールすることもできる。

実行例:

yourmac:html username$ more index.html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
:

この実行例では「html」フォルダ内にある「index.html」の中身を確認しています。


vi

テキストファイルを作成したり、編集したりする。

実行例:

yourmac:html username$ vi index.html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">

この実行例では「html」フォルダ内にある「index.html」を上書き編集しようとしています。

よく使う編集コマンド:

aカーソルの後に文字を挿入(escキーで挿入モード解除)
iカーソルの前に文字を挿入(escキーで挿入モード解除)
dl文字を一文字ずつ削除
dd一行ずつ削除
:q!保存しないで終了
ZZ上書き保存して終了

touch

空のファイルを作成する。

実行例:

yourmac:php username$ touch error.log

この実行例では「php」フォルダ内に空の「error.log」を作成しようとしています。


2-3. インストール系コマンド

brew

macOSまたはLinuxのパッケージマネージャーで、特にMacユーザーの間では人気がある。macOSで提供されていない様々なパッケージを簡単に導入することができる。使うにはインストールが必要。

インストールコマンド:

yourmac:Desktop username$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

なお最新のインストールコマンドや詳細情報は下記を参照してください。

Homebrew
https://brew.sh/index_ja

実行例:

yourmac:Desktop username$ brew install wget

この実行例では、ファイルをダウンロードするための「wget」を導入しようとしています。


2-4. ネットワーク系コマンド

nslookup

IPやドメインについて調査する。正引き・逆引きの両方に対応。

実行例:

yourmac:Desktop username$ nslookup nasa.gov
Server:		2400:4051:a382:3400:21b:8bff:fe59:2f96
Address:	2400:4051:a382:3400:21b:8bff:fe59:2f96#53

Non-authoritative answer:
Name:	nasa.gov
Address: 23.22.39.120
Name:	nasa.gov
Address: 52.0.14.116

上記の実行例では「nasa.gov」のIPアドレスを正引きしています。


ssh

他のサーバーにssh接続して操作する。

実行例:

yourmac:Desktop username$ ssh pi@raspberrypi.local

この実行例ではラズベリーパイに「pi」ユーザーとしてssh接続しようとしています。


wget

URLを指定してファイルをダウンロードする。macOSでは要インストール。

インストールコマンド:

yourmac:Downloads username$ brew install wget

主なオプション:

-bバックグラウンドで実行
-c途中までダウンロードされていたら、続きからダウンロード実行

実行例:

yourmac:Downloads username$ wget https://www.handsonplus.com/download/tenki.jp_zenkoku.zip

この実行例では、当サイトから「tenki.jp_zenkoku.zip」というファイルをダウンロードしています。

arp

ローカルネットワーク上の接続マシーンをスキャンして調査する。要インストール。

automakeのインストール:

yourmac:Downloads username$ brew install automake

「arp-scan」のインストール時に「make」コマンドを使うため、「automake」がインストールされていない人はインストールしてください。

arp-scanのインストール:

yourmac:Downloads username$ git clone https://github.com/royhills/arp-scan.git
cd arp-scan
autoreconf --install
./configure
make
sudo make install

任意のディレクトリで実行してください。「git clone」コマンドでダウンロードしてから、2行目以降のコマンドを順番に実行してください。

実行例:

yourmac:Desktop username$ sudo arp-scan -I en1 -l
Password:
Interface: en1, type: EN10MB, MAC: **:**:**:**:**:**, IPv4: 192.168.11.2
Starting arp-scan 1.9.6 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.11.1	**:**:**:**:**:**	NEC Platforms, Ltd.
192.168.11.3	**:**:**:**:**:**	Apple, Inc.
192.168.11.4	**:**:**:**:**:**	(Unknown)
192.168.11.5	**:**:**:**:**:**	(Unknown)

「arp-scan -I en1 -l」若しくは「arp-scan -I en0 -l」でローカルネットワーク上にある機器一覧を取得できます。なお上記の実行例ではMACアドレスは伏せてあります。


2-5. 圧縮解凍系コマンド

tar

「tar」コマンドは、複数のファイルを1つにまとめた圧縮アーカイブファイルを作成/展開する機能を持つ。

圧縮/解凍オプション:

-zcvf*.tar.gzに圧縮
-zxvf*.tar.gzを解凍

実行例(圧縮オプション):

yourmac:Desktop username$ tar -zcvf data.tar.gz ./data

この実行例では「data」フォルダを「data.tar.gz」に圧縮しています。

実行例(解凍オプション):

yourmac:Downloads username$ tar -zxvf data.tar.gz

この実行例では「data.tar.gz」を解凍しています。


unzip

zipファイルを解凍する。

実行例:

yourmac:Downloads username$ unzip data.zip

この実行例では「data.zip」を解凍しています。


2-6. その他のコマンド

sudo

特権ユーザー(su)の実行権限でプログラムを実行する。他のコマンドと組み合わせて使う。

実行例:

yourmac:httpd username$ sudo vi httpd.conf

この実行例では現在のディレクトリにある「httpd.conf」を特権ユーザー(su)の実行権限で編集しようとしています。


man

コマンドのマニュアルを参照する。

実行例:

yourmac:Desktop username$ man vi

この実行例では、viコマンド(vim)のマニュアルを参照しようとしています。


3. まとめ

今回はMacのターミナルの使い方と環境設定、個人的によく使うLinuxコマンドをまとめてみました。紹介したLinuxコマンドはあくまで備忘録を兼ねた個人的によく使うものに過ぎません。ですので、偏りがありますし使用できるコマンドのごく一部に過ぎないのですが、ちょっとしたコマンド・リファレンスとして使用できるよう今後も加筆修正していきたいと思います。