今回はterminal(ターミナル)で遊んでみたいと思います。
terminalとはコンピュータと直接対話を行いコンピュータを
操作することができるアプリケーションです。
コンピュータと対話するために「コマンド」と呼ばれる
命令文を使用します。
今回は基本的なコマンドを利用してファイルの操作を
コンピュータに実行してもらいます。
まずはコンピュータにコマンドを入力してみましょう。
恐れることはありません。
とりあえずhelloと入力してエンターキーを入れてみます。
1 |
hello |
エンターキーを入力した後、コンピュータからメッセージが来ています。
1 |
zsh: command not found: hello |
メッセージの左端のzsh(ゼットシェル)というのはコマンドをコンピュータ
に届けたり、コンピュータからのメッセージをターミナルを使っている人に
届けたりするメッセンジャーみたいなものです。
そのzshからメッセージが届いています。
「command not found」(コマンドがみつかりません)
このメッセージは今後良く目にすると思います。
このメッセージはエラーです。
このエラーメッセージの意味は「hello」というコマンドは
存在しないということです。
コマンドの打ち間違いで良く表示されるエラーですので気をつけて下さいね。
カレンダーを表示するコマンド「cal(カル)」
それではちゃんと結果が現れるコードを入力してみましょう。
次のコマンドです。
1 |
cal 2020 |
黒い無愛想な画面に綺麗なカレンダーが表示されました。
calの後に西暦を入れるとカレンダーが表示されます。
そのほかにも、特定月のカレンダー表示も可能です。
下記は現在の年の12月のカレンダーを表示するコマンドです。
1 |
cal -m 12 |
今日の日付がハイライトされるので分かりやすいですね。
日付を調べたい時にパッと表示できるので便利です。
皆さんも是非一度お試しください。
ターミナルの結果は「便りがないのは良い便り」
突然ですが次のコマンドを入力してエンターを入力してください。
1 |
cd |
特に何も表示されません。
実は、この場合は正常にコマンドが実行されたということになります。
先ほどのカレンダーは「カレンダーを表示する」というコマンドなので結果が
カレンダーとして表示されましたが、画面に何かを表示するコマンドではない場合、
コマンド実行に成功してもターミナルは何も画面に表示しません。
エラーの場合はエラーが表示されるため、「何も表示されない=成功」ということになります。
コマンドの結果表示の特徴を理解した上で、いくつかのコマンドを練習してみましょう。
基礎コマンド
今どこにいるの?を教えてくれるコマンド「pwd」
pwd(ピーダブリューディー)コマンド
print working directory(プリントワーキングディレクトリ)の略です。
このコマンドは現在の自分のいる場所を表します。
場所ってなんのこと?と思う人が多いと思いますが
ターミナルは特定のディレクトリ上で動作します。
試しにpwdと入力してみましょう。
1 |
pwd |
上の例では/Volumes/Share/parcticeの場所にいるということです。
この場所はFinderでも確認することができます。

この「practice」という場所をターミナルは見ているということです。
Finderと違って今と何処の場所を見ているか分かりにくいので
自分の居場所がわからなくなったらpwdと覚えてください。
空のファイル作りますね、「touch」
touch(タッチ)
このコマンドは空のファイルを作成したり
ファイルのタイムスタンプを変更します。
touchコマンドを利用して実際にファイルを作成してみましょう。
現在ターミナルはpracticeにいるので
下記のコマンドを入力します。
1 |
touch test.txt |
すると Finder上で0バイト(空)のテキストファイルが
作成されているのが分かります。
touchコマンドはtouchコマンドにスペースを空け、作成したい
ファイル名を入力すればOKです。
1 |
touch 作成したいファイル名 |
ここでちょっと気になることがあります。
ファイルは確かに作成されましたが、ターミナル上では
コマンド成功がしても何も表示されないため、本当にファイルが
作成されたか確認することができません。
この問題をは次に紹介するls(エルエス)コマンドで解決する
ことができます。
ファイル一覧を表示する「ls」
lsコマンド
list(リスト)の略ですね。
いま現在自分がいる位置に存在するファイルの一覧を表示します。
それでは先ほど作成したテキストファイルがちゃんと存在するか
確認してみましょう。
lsコマンドを入力します。
1 |
ls |
赤枠で現在の場所「practice」にtext.txtが存在することが
ターミナルでも確認することができました。
次はファイルの中に書き込みを行います。
catコマンド
cat(キャット)コマンド
catenate(カタネイト)連結するという意味の単語の略です。
このコマンドはテキストファイルの表示や書き込みを行うことができます。
説明では分かりにくいので、実際に使ってみましょう。
先ほど作成したtext.txtファイルに文字を書き込んでみます。
catで文字を書き込む場合は以下のように使用します。
cat >ファイル名
ポイントは「>」の記号です、この記号を利用することで
ファイルに書き込むことができます。
厳密に説明するとcatは入力した文字をそのまま表示することができます。
この表示される文字を「>」を利用してファイルに落とし込むイメージです。
まずはcatを単体で利用してみましょう。
1 2 |
cat HelloWorld! |
画面にHelloWorld!と表示されました。
catコマンドは終了するまで文字の入力を待ち続けるので
Ctrl + C キーで終了してください。
このようにcatコマンドは入力された文字をそのまま表示します。
しかし、今回の目的は画面に表示するのではなくファイルに書き込み
を行いたいので次のように記述します。
1 |
cat > test.txt |
このコマンドを入力した後から入力した文字が
ファイルに書き込まれていきます。
書き込みしたい内容を書き終わったらCtrl + C キーで
書き込みを終了しましょう。
書き込みが完了したらFinderからtext.txtダブルクリックして開いてみましょう。

ちゃんと入力した内容が書き込まれていることが確認できました。
今度はターミナルからファイルの中身を確認してみます。
テキストファイルの中身を確認するコマンドもcatを利用します。
使い方は次の通りです。
1 |
cat ファイル名 |
それではcatでファイルの中身を確認してみます。
1 |
cat text.txt |

無事ファイルの中身が表示されていることを確認しました。
次はファイルのコピーです。
ファイルを複製する「cp」コマンド
cp(シーピー)
copy(コピー)の略です。
このコマンドはファイルを複製することができます。
使い方は次の通りです。
1 |
cp コピー元ファイル コピー先ファイル |
ちょっと分かりにくいですね。
cpの後にコピーしたいファイル、続けてコピーで作られる
ファイルの名前を指定します。
それでは実際につかってみましょう。
先ほど作成したtext.txtをsample.txtとして
コピーしてみます。
1 |
cp text.txt sample.txt |
何も出力されていないので成功しています。
lsコマンドでファイル作られているか確認しましょう。
内容ももちろん一緒です。

次はファイルの移動を行いますが
その前にファイルの移動先となるディレクトリを作成しましょう。
ディレクトリを作成するmkdir
mkdir(メイクディーアイアール)
make directory(メイクディレクトリ)の略です
このコマンドを利用するとディレクトリ(フォルダ)を
作成することができます。
使い方は次の通りです。
1 |
mkdir 作成したいディレクトリ名 |
実際に作成してみましょう。
1 |
mkdir hoge |
実行すると現在ターミナルがいるディレクトリに
hogeディレクトリが作成されます。

それではsample.txtをhogeの中に移動してみましょう。
ファイルを移動するコマンド「mv」
mv(エムブイ)
move(ムーブ)の略です。
ファイル名の変更をしたり、ファイルを移動することができます
先ほど作成したhogeディレクトリの中に
sample.txtを移動してみましょう。
使い方(移動)
1 |
mv 移動させたいファイル名 移動先 |
実際に実行してみましょう。
1 |
mv sample.txt hoge |
sample.txtファイルがhogeディレクトリの中に移動したことが確認できました。
ターミナルは結果が分かりにくいですが、コマンドを入力してファイルがちゃんと
移動されているか確認してみましょう。
ファイルの存在はlsコマンドで確認することができますが、
現在の場所のファイルしか分かりません。
しかし、lsに中身をみたいディレクトリ名を指定してあげることで
そのディレクトリにあるファイル一覧を表示することができます。
今回の場合はhogeディレクトリの中身が知りたいのでlsにhogeをつけて実行します。
1 |
ls hoge |

無事sample.txtが移動されていることが確認できました。
また、mvコマンドはファイル名を変更することも可能です。
text.txtをTEST.txtに変更してみましょう。
使い方はファイルの移動と同じです。
1 |
mv 名前を変更したいファイル名 変更後のファイル名 |
test.txtをTEST.txtに変更する場合は次のようになります。
1 |
mv text.txt TEST.txt |
無事ファイル名が変更できました。
続いてはターミナルでディレクトリを移動する方法です。
ディレクトリを移動する「cd」コマンド
cd(シーディー)
change directory(チェンジディレクトリ)
ディレクトリ(フォルダ)を移動します。
使い方
1 |
cd 移動したいディレクトリ名 |
先ほど作成したhogeフォルダに移動する場合は次のように
書くことができます。
1 |
cd hoge |
成功はしているのですがちょっと分かりにくいので
pwdコマンドで確認します。
現在hogeディレクトリにいることが確認できました。
一つ上の階層に戻る場合(今回の場合はpractice)に戻る場合は
cdにドットをふたつ書くことで戻ることができます。
1 |
cd .. |
最後はファイルを削除する方法です。
ファイルを削除する「rm」コマンド
rm(アールエム)
remove(リムーブ)の略
このコマンドはファイルを削除します。
使い方は下記の通りです。
1 |
rm 削除したいファイル名 |
先ほど名前を変更したTEST.txtを削除してみましょう。
1 |
rm TEST.txt |
TEST.txtが削除されたことが確認できました。
なお、rmではディレクトリを削除することができません。
ディレクトリを削除する場合はrmdirを利用します。
rmdirディレクトリを削除する
rmdir(アールエムディーアイアール)
remove directory(リムーブディレクトリ)の略
このコマンドを利用するとディレクトリを削除することができます。
使い方は下記の通りです。
1 |
rmdir 削除したいディレクトリ名 |
実際にhogeディレクトリを削除してみましょう。
1 |
rmdir hoge |
エラーが帰ってきました。
1 |
rmdir: hoge: Directory not empty |
Directory not empty(ディレクトリが空ではありません)
実はrmdirは中身に何も入っていない空のディレクトリしか削除が
できません。
中身のファイルを削除してもう一度試してみましょう。
無事ディレクトリの削除が完了しました。
ターミナルでの操作は、初め不便に感じることがあると思いますが
慣れるとマウスを移動させたりする操作が不要でキーボードだけで
いろいろな操作ができるためとても効率が良くなります。
簡単なので是非挑戦してみてください。