【エンジニアが使う謎の黒い画面】コマンドプロンプトを使ってみよう

はじめに

皆さんは、コマンドプロンプトを使ったことがあるでしょうか。

何の話か分からない方も多いかもしれませんが、これらはOSがwindowsやmacの人であればパソコンにデフォルトで必ず入っています。
言語のインストールやパッケージマネージャを使う際に使ったことがあるかもしれません。

エンジニアはこのコマンドプロンプトをよく使うのですが、まだあまり馴染みがないという方にとっては、得体も知れず難しいように思われる方も多いかもしません。

なので今回は、

  • コマンドプロンプトとは何か
  • コマンドプロンプトの使い方

について説明します。

使い方ではハンズオン形式で動作を確認していきます。
皆さんもぜひ手を動かして練習しましょう。

OSに関しての注意

今回はwindows10でのコマンドプロンプトを使用します。

もしLinuxやmacを使用している方は、使い方やコマンドが異なるため、この記事をそのまま適応できないので注意する必要があります。
コマンドについては最後にmacとwindowsでの違いをまとめてありますので、確認してください。
これから先で自分でコマンドの使い方を勉強したいと思われる方は、自分のOSでの情報が書かれているものを集めていくと良いと思います。

目次

コマンドプロンプトとは

GUIについて

皆さんはディレクトリを新しく作成したりするときは何を使用していますか。
恐らく、エクスプローラーというものを使っているのではないかと思います。
以下のようなものです。

explorer1

これらはマウスで簡単にディレクトリの移動や削除、名前の変更などの操作が出来ます。

こういった文字を使わずグラフィカルな操作が直感的に行えるインターフェースの事をGUI(Graphical User Interface: グラフィカル・ユーザー・インターフェース)と言います。
広い意味で銀行のATMや車のカーナビもタッチ操作一つで簡単に動かすことができるので、GUIという事になります。

インターフェース:

1 異なる種類のものを結びつけるときの共用部分。界面。接触面。
2 コンピューターで、機器やプログラムどうしをつなぐ装置、または部分。

引用元: コトバンク インターフェース

例えば、マウスやキーボードは人とパソコンを繋いでいるのでインターフェースとなります。

CUIについて

command prompt

一方コマンドプロンプトはCUI(character user interface: キャラクター・ユーザー・インターフェース)と言われているものです。

これはキャラクター(character)、つまり文字を打つことでコンピューターを操作していくものです。
今でこそクリック一つで色々できますが、昔は全てこのCUIでコンピューターを操作していました。
なんで今更そんな分かりづらいCUIなんて使うのか、と思われる人がいるかもしれません。
CUIを使う理由は以下の2つの理由があります。

まず、そもそもGUIが作られていないアプリケーションが世の中にはたくさんあります
エンジニアはGUIがなくても操作できるので、作る必要がない場合があるからです。
そういったアプリケーションを動かすためにCUIは非常に重要な役割を果たしていると言えます。

また、GUIよりも細かい動作や設定ができます
なので、エンジニアは好んで使っているというわけです。

特にコマンドプロンプトでは「コマンドライン」と呼ばれる入力欄に、「コマンド」という命令を打ち込むことで操作ができます。
なので、最初のうちはこのコマンドを覚える必要があります。

しかし、CUIを触ったことがない人にはイメージが沸きづらいかもしれません。
以下で実際に動かしてみるのでそこで確認していきましょう。

実際に手を動かしてみよう

コマンドプロンプトの準備

それではさっそくコマンドプロンプトを動かしてみましょう。

右下のwindowsボタンを押して、windows システム ツールの中にあるコマンドプロンプトをクリックすると起動します。

command2

※ この画像はイメージですので全く同じようには表示されませんが、似たような黒い画面が表示されると思います。

何も設定をしていなければ黒字に白文字で書かれていると思います。
コマンドプロンプトは文字の色やフォント、サイズを指定できます。

上のバーを右クリックをして一番の下のプロパティのフォントから指定できます。
自分の好みのものを選んでみてください。

command_property

コマンド操作をやってみよう

このコマンドで簡単なファイル操作を行っていきます。
今回はデモなので簡単なフォルダーをこちら側で準備してみました。
以下のファルダ―構造です。

folder1

1_practiceの中に3つのディレクトリ(sample_directory1, sample_directory2, sample_directory3)が入っています。
また、sample_directory1にはテキストファイル(test1.txt, test2.txt)が2つ入っています。
これらのファイルはあとで中身を確認するコマンドを使うので、何か文字を書いておいてください。
今回は「This is ファイル名」と記載しておきます。

このディレクトリを使っていくので、同じような事を行いたい場合は同様のディレクトリやファイルを好きなところに準備してください。

コマンドプロンプトを開くと以下のように書かれている思います。

Microsoft Windows [Version 10.0.17763.475]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\Users>

一番下のC:\Users>の行はコマンドラインと呼ばれています。
コマンドプロンプトは現在いるフォルダー上で動作します。
なので、>の左側に書かれているC:\Usersが、現在いるディレクトリ(カレントディレクトリといいます)という事になります。

私の場合はCドライブ直下のUsersというディレクトリ内にいることが分かります。

cdコマンド: カレントディレクトリの移動

それでは実際にコマンド操作を行っていきましょう。
コマンドプロンプトの操作はコマンドがカレントディレクトリで行っていきます。

まずは、デモで用意したフォルダーである1_practiceに移動してみたいと思います。
ここの右側にコマンドを打ち込んで操作します。
移動するにはcdというコマンドを使います。

cd 移動したいフォルダーの住所(相対パスか絶対パス)

皆さんが作ったフォルダーの位置と私が用意したフォルダーの位置が違う場合があるので、ここでは絶対パスを使います。
絶対パスは、1_practiceのフォルダーを右クリックして一番下のプロパティから場所を見ると書いてあります。

1_practice_property

ただここに書かれている場所はフォルダーの場所で、今回はフォルダー自体を選択します。
なので最後に\1_practiceを追加してください。
これを使ってカレントディレクトリを変更します。

Microsoft Windows [Version 10.0.17763.475]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\Users> cd C:\Users\1_practice

C:\Users\1_practice>

C:\Users\1_practice>に変わったことが分かったと思います。
これで移動ができました。

dirコマンド: ディレクトリーの中身を表示

dirコマンドはフォルダー直下にあるフォルダーとファイルは何があるのかを見ることができます。
これも見た方が早いので、さっそくやってみます。

C:\Users\1_practice>dir
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は XXXX-XXXX です

 C:\Users\1_practice のディレクトリ

2019/05/11  15:45    <DIR>          .
2019/05/11  15:45    <DIR>          ..
2019/05/11  15:46    <DIR>          sample_directory1
2019/05/11  15:43    <DIR>          sample_directory2
2019/05/11  15:44    <DIR>          sample_directory3
               0 個のファイル                   0 バイト
               5 個のディレクトリ  105,072,091,136 バイトの空き領域

今回準備した3つのディレクトリ(sample_directory1, sample_directory2, sample_directory3)が表示されました。
※ これらの他に . から始まるディレクトリが2つありますが、これらは隠しふぁりると呼ばれています。
今は全く気にしなくて良いです。

typeコマンド: ファイルの中身を表示

typeコマンドはdirコマンドとは違い、ファイルの中身を見ることができます。
sample_directory1の中にあらかじめ作ったテキストファイル(test1.txt, test2.txt)を見てみましょう。

まずcdコマンドでsample_directory1へ移動します。

C:\Users\1_practice> cd sample_directory1

C:\Users\1_practice\sample_directory1>

次にdirコマンドで中身を確認してみます。

C:\Users\1_practice\sample_directory1>dir
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は XXXX-XXXX です

 C:\Users\1_practice\sample_directory1 のディレクトリ

2019/05/11  15:46    <DIR>          .
2019/05/11  15:46    <DIR>          ..
2019/05/11  15:46                17 test1.txt
2019/05/11  15:46                18 test2.txt
               2 個のファイル                  35 バイト
               2 個のディレクトリ  105,071,652,864 バイトの空き領域

直下にテキストファイル(test1.txt, test2.txt)があることが確認できました。
それではさっそく中身を見てみましょう。

書き方は、

type ファイル名

で確認できます。

実際に確認してみましょう。

C:\Users\1_practice\sample_directory1>type test1.txt
this is test1.txt

自分の書いた文字が表示されたと思います。
私は「this is test1.txt」と書いておいたので、表示されています。

同様にtest2.txtもみてみます。

C:\Users\1_practice\sample_directory1>type test2.txt
this is test2.txt.

これも問題なく表示されています。

moveコマンド: ファイルやディレクトリの移動

これはディレクトリやファイルを、別のディレクトリやファイルに移動させることができるコマンドです。
ただ、このコマンドは出来ることが多いので分けて説明していきます。

ファイルをディレクトリに移動する

moveは対象と移動先のファイルやディレクトリを指定して使います。

move 対象 移動先

対象と移動先のファイルやディレクトリは絶対パスでも指定できます。

さっそくやってみましょう。
test1.txtをsample_directory2に移動させます。

C:\Users\1_practice\sample_directory1> move test1.txt C:\Users\1_practice\sample_directory2
        1 個のファイルを移動しました。

これでsample_directory2へ移動できました。

ディレクトリをディレクトリの移動する

またこのコマンドでは、ディレクトリごと移動もできます。

C:\Users\1_practice>move sample_directory1 sample_directory3
        1 個のディレクトリを移動しました。

ディレクトリの内部構造はtreeコマンドで確認できます。

C:\Users\1_practice>tree
フォルダー パスの一覧:  ボリューム Windows
ボリューム シリアル番号は XXXX-XXXX です
C:.
├─sample_directory2
└─sample_directory3
    └─sample_directory1

sample_directory3の中にsample_directory1が移動されていることが確認できました。

ファイルの名前を変更する

また移動だけでなくファイル名の変更もできます。
sample_directory2のtest1.txtの名前を変更してみます。

C:\Users\1_practice>cd sample_directory2

C:\Users\1_practice\sample_directory2>move test1.txt renamed_test1.txt
        1 個のファイルを移動しました。

名前をtest1.txtからrenamed_test1.txtに変更できました。

delコマンド: ディレクトリやファイルの削除

delコマンドは作成したディレクトリやファイルを削除することができます。

このコマンドはEnterを1回押すだけで簡単に削除できてしまうため、大切なものを消さないよう十分に注意してください。

以下のように記述します。

del 削除したいディレクトリやファイル名

さっそく使ってみましょう。
せっかく名前を変更したrenamed_test1.txtですが、削除したいと思います。

C:\Users\1_practice\sample_directory2>del renamed_test1.txt

C:\Users\1_practice\sample_directory2>dir
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は XXXX-XXXX です

 C:\Users\1_practice\sample_directory2 のディレクトリ

2019/05/12  00:10    <DIR>          .
2019/05/12  00:10    <DIR>          ..
               0 個のファイル                   0 バイト
               2 個のディレクトリ  105,070,542,848 バイトの空き領域

きちんと削除されていると思います。

helpコマンド: コマンドの説明

このhelpコマンドはコマンド自体の説明を表示できます。
以下のように記述します。

help コマンド名

試しにmoveコマンドの使い方を表示させてみます。

C:\Users\1_practice\sample_directory2>help move
ファイルを移動およびファイルとディレクトリ名を変更します。

複数のファイルを移動するには:
MOVE [/Y | /-Y] [ドライブ:][パス]ファイル名1[,...] 受け側

ディレクトリ名を変更するには:
MOVE [/Y | /-Y] [ドライブ:][パス]ディレクトリ名1 ディレクトリ名2

  [ドライブ:][パス]ファイル名1
                          移動するファイルの場所と名前を指定します。
  受け側                  ファイルの新しい場所を指定します。移動先はドライブ
                          文字とコロン、ディレクトリ名、または組み合わせから成
                          ります。1 つのファイルだけを移動する場合で、その
                          ファイルを移動するときに名前を変更する場合、
                          ファイル名を指定できます。
  [ドライブ:][パス]ディレクトリ名1
                          変更するディレクトリ名を指定します。
  ディレクトリ名2         新しいディレクトリ名を指定します。
  /Y                      移動先の既存のファイルを上書きする前に確認の
                          メッセージを表示しません。
  /-Y                     移動先の既存のファイルを上書きする前に確認の
                          メッセージを表示します。

環境変数 COPYCMD にスイッチ /Y を設定できます。これは、コマンド ラインの /-Y
で無効になります。既定では、MOVE コマンドがバッチ スクリプトから実行され
ていない場合、上書きを確認します。

困ったときはこのコマンドを思い出してください。
皆さんも、コマンドの使い方を忘れてしまった時は使ってみてください。

コマンドのまとめ

最後に今まで使ったものや主要なコマンドについてまとめておきます。
MacのターミナルとWindowsのコマンドプロンプトでコマンドが違うことの比較してみましょう。

ターミナル (mac)コマンドプロンプト(windows)コマンド内容
cdcdカレントディレクトリの移動
lsdirディレクトリやファイルの表示
treeディレクトリ構造をツリーで表示
mkdirディレクトリを作成
typeテキストファイルの内容の表示
mvmoveファイルやディレクトリの移動、名前変更
mvrenファイル名を変更
findファイルやディレクトリの検索
cpcopyファイルをコピー
rmdelファイルやディレクトリを削除する
manhelpコマンドの使い方を表示
clearclsターミナル画面に表示された文字を全て消去

基本的なコマンドをまとめてあります。
ぜひリファレンスに活用してください。

まとめ

今回はCUIであるコマンドプロンプトの使い方について解説しました。

文字だけで操作するので慣れるまでは大変かもしれませんが、使い方はそれ程複雑ではなかったと思います。
コマンドプロンプトはたくさんコマンドをたたいて練習することが習得への近道です。
ぜひたくさん練習して使いこなしましょう。

プロンプトは開発環境の設定でも大活躍

コマンドプロンプトは、今回お話ししてきたLinuxコマンドを使ったファイル操作だけが強みではありません。
プログラミングの勉強をする際に必ず必要な開発環境の設定でも猛威を振るいます。

開発環境の設定では、言語のインストール、フレームワークやパッケージマネージャのインストール、DB関係など目的によって様々な設定が必要ですが大抵の場合コマンドプロンプト(Macではターミナル)を使って行います。

実はこの「開発環境の設定」は数多くのプログラミング初心者が最初につまづく勉強のポイントで、慣れない専門用語や行ったり来たりの操作も多くしょっぱなからモチベーションの低下や、中には向いていないと感じ挫折して諦めてしまう人も多発します。

そのためCodeShipではプログラミングだけでなく、エディターの設定や言語及びフレームワークの設定、サーバーやデータベースなどのサービス開発に欠かせない開発環境の設定から丁寧に教え、ハードルをできるだけ下げることを意識しています。

まずは無料相談会&体験会でこんなことがしたい、こんなものを作りたいというところから学習方針をブラッシュアップしていきましょう。


おすすめ記事