はるなぴログ

ブログ・WEBサイト作成技術研究

コマンドプロンプトでのコマンドの使い方を覚える初心者向けチュートリアルを作ってみた

コマンドプロンプトの基本的なコマンドについて使い方を覚えるための初心者向けチュートリアルを作りました。

重要なコマンドはそんなに多くないので初心者は基本的なコマンドをしっかりと覚えましょう。ファイルのパスやワイルドカード、リダイレクトについても理解すれば一気に中級者の仲間入りです。

f:id:hal7pi:20190916151951j:plain

コマンドプロンプトの使い方をチュートリアルで覚える

コマンドプロンプトの使い方を実際に手を動かして覚えましょう。

ひとつひとつ別々にコマンドを覚えるのではなく、どのようにしたい時にどのようなコマンドを使うのか、実際の流れの中で覚えることが早道です。そのためのチュートリアルを作成しました。

またコマンドプロンプトからコマンドを打つのであれば単にコマンドを打てるようになるだけではなく、ファイルのパスやワイルドカード、リダイレクトなどの知識も一気に身につけてしまうのがお勧めです。

これをベースに更にLinuxコマンドを覚えればすぐにUbuntuやCentOSなどのLinux OSでも十分やっていけるようになります。

それではチュートリアルを始めます。

コマンドプロンプトの起動

まずはコマンドプロンプトを起動してみましょう。

前回の記事を参考にホームディレクトリを初期ディレクトリにしてコマンドプロンプトを起動して画面を開いてみてください。

前回記事を参照するのが面倒な方は以下の方法でコマンドプロンプトを起動します。

まずWindowsキーを押しながら同時にsキーを押してcmdと入力します。次に表示された画面から「開く」をクリックしてみてください。コマンドプロンプトが起動します。

f:id:hal7pi:20190916153237p:plain

ファイルのパス

コマンドプロンプトを開くと画面に次のように表示されていると思います。

C:\Users\(ご自分のユーザ名)>

はるなぴの場合はユーザ名をhal7piでPCに登録しましたので次のようになります。

C:\Users\hal7pi>

CとはCドライブの意味です。通常OSやデータはCドライブに配置されます。

その次のUsersというのはディレクトリの名前です。

ディレクトリとはファイルなどを入れておく箱のようなものだと考えておけば良いでしょう。ディレクトリの中にまたディレクトリを入れて入れ子構造のようにすることが可能です。

従い、その次のhal7piというのもディレクトリの名前です。つまりCドライブの中のUsersディレクトリの中のhal7piというディレクトリを表示しています。¥記号(またはバックスラッシュ\)はドライブやディレクトリの区切り記号です。

このように自分の居場所を指し示すのが「パス」です。つまりここではC:\Users\hal7piがパスです。

パスの次の>はプロンプト記号です。入力を促す記号です。プロンプト記号は設定で変更することが可能です。

C:\Users\hal7piのようにドライブを含め先頭から書くパスを絶対パスと呼びます。絶対パスがあるなら当然相対パスもあります。

まず自分のいる位置のひとつ上の親を表すのはドット2つ..記号です。

試しにひとつ上のディレクトリに移動してみましょう。

ディレクトリの移動コマンドはcdです。

cd ..

結果は

C:\Users>

となっていると思います。ひとつ上の階層のディレクトリに移動しました。それではもう一度元のディレクトリに戻りましょう。

自分のいる位置はドット記号で表します。区切り記号を入れるとコマンドは次のようになります。¥マーク(または\)はディレクトリの区切り記号です。

cd .\(ご自分のユーザ名)

はるなぴの場合は次のようになります。

cd .\hal7pi

元に戻りました。

C:\Users\hal7pi>

移動先を親の親と指定することもできます。

cd ..\..

パス先頭のCドライブ直下まで移動することになります。

C:\>

ドット記号を使ったパス指定が相対パスです。

これで自由にパスの中を行ったり来たりすることができるようになりました!

ホームディレクトリ

自分のホームディレクトリに移動します。

cd %homepath%

はるなぴの場合は次の場所に移動します。

C:\Users\hal7pi>

C:\Usersの下の自分のユーザ名のディレクトリに移動します。ここがWindowsでは自分のホームディレクトリになります。

パスの移動

それではパスの中のディレクトリ移動を復習してみましょう。

ディレクトリはcdコマンド(Change Directory)に絶対パスや相対パスを一緒に指定することで移動することができます。

相対パス指定で移動する場合は次のようになります。(2つ上のディレクトリに移動してもとに戻る)

cd ..\..
cd .\Users\(ユーザ名)

絶対パス指定で移動する場合は次のようになります。(2つ上のディレクトリに移動してもとに戻る)

cd C:
cd C:\Users\(ユーザ名)

cdコマンドの使い方とパス指定の方法を覚えました。

ディレクトリの中身を確認する

親のディレクトリに移動するのは一意に決まるから簡単です。

パスを辿っても良いしダブルドットで遡っても良いです。

では今いるディレクトリの下のディレクトリに移動するにはどうしたら良いでしょうか?

ディレクトリは箱のようなものだと書きました。箱の中に更に小さな箱がたくさん入っている入れ子構造になっています。

では自分のいる箱であるカレントディレクトリの中身を見たいときはどうするか?

この時に使うのがdirコマンドです。

dir

はるなぴのホームディレクトリでdirコマンドを実行すると結果は次のようになります。

 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は 8C09-5F2B です

 C:\Users\hal7pi のディレクトリ

2019/08/31  09:34    <DIR>          .
2019/08/31  09:34    <DIR>          ..
2019/08/31  09:34                77 .gitconfig
2019/08/25  16:51    <DIR>          3D Objects
2019/08/25  16:51    <DIR>          Contacts
2019/09/09  18:15    <DIR>          Desktop
2019/09/07  20:02    <DIR>          Documents
2019/09/07  22:34    <DIR>          Downloads
2019/09/07  20:06    <DIR>          Dropbox
2019/08/25  16:55    <DIR>          Favorites
2019/09/09  08:29    <DIR>          iCloudDrive
2019/08/25  22:42    <DIR>          Links
2019/08/28  22:36    <DIR>          Music
2019/09/09  12:43    <DIR>          OneDrive
2019/08/31  14:40    <DIR>          Pictures
2019/08/25  16:51    <DIR>          Saved Games
2019/08/25  16:51    <DIR>          Searches
2019/08/28  22:52    <DIR>          Videos
               1 個のファイル                  77 バイト
              17 個のディレクトリ  1,825,825,169,408 バイトの空き領域

C:\Users\hal7pi>

<DIR>と表示されているものはディレクトリです。その右に表示されているのがディレクトリ名です。

dirコマンドを叩くとディレクトリの名前順にリスト形式で今いるディレクトリの中身が表示されます。

これでもう自由自在にPCの中を行ったり来たりすることができるようになりました。

ディレクトリの作成

チュートリアル用にいろいろと試せるテスト用のディレクトリを新たに作成してみましょう。

ホームディレクトリの下にcmdtestというディレクトリを作成しましょう。

まずホームディレクトリに戻ります。

cd %homepath%

ディレクトリを作成するコマンドはmd(Make Directory)です。

md cmdtest

これでcmdtestディレクトリが作成されます。dirコマンドで確認してみます。

dir
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は 8C09-5F2B です

 C:\Users\hal7pi のディレクトリ

2019/09/09  23:01    <DIR>          .
2019/09/09  23:01    <DIR>          ..
2019/08/31  09:34                77 .gitconfig
2019/08/25  16:51    <DIR>          3D Objects
2019/09/09  23:01    <DIR>          cmdtest
2019/08/25  16:51    <DIR>          Contacts
2019/09/09  18:15    <DIR>          Desktop
2019/09/07  20:02    <DIR>          Documents
2019/09/07  22:34    <DIR>          Downloads
2019/09/07  20:06    <DIR>          Dropbox
2019/08/25  16:55    <DIR>          Favorites
2019/09/09  08:29    <DIR>          iCloudDrive
2019/08/25  22:42    <DIR>          Links
2019/08/28  22:36    <DIR>          Music
2019/09/09  12:43    <DIR>          OneDrive
2019/08/31  14:40    <DIR>          Pictures
2019/08/25  16:51    <DIR>          Saved Games
2019/08/25  16:51    <DIR>          Searches
2019/08/28  22:52    <DIR>          Videos
               1 個のファイル                  77 バイト
              18 個のディレクトリ  1,825,818,038,272 バイトの空き領域

C:\Users\hal7pi>

確かにcmdtestというディレクトリが作成されているのが分かります。

早速このディレクトリに移動しましょう。

cd cmdtest

自分のディレクトリのすぐ下に移動する場合は.\を書かなくても移動できます。

中身を見ます。

dir
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は 8C09-5F2B です

 C:\Users\hal7pi\cmdtest のディレクトリ

2019/09/09  23:01    <DIR>          .
2019/09/09  23:01    <DIR>          ..
               0 個のファイル                   0 バイト
               2 個のディレクトリ  1,825,824,333,824 バイトの空き領域

C:\Users\hal7pi\cmdtest>

新しくディレクトリを作成したばかりなのでまだ中身がありません。ドットは自分自身のディレクトリ、ドット2つは一つ上の階層の親ディレクトリを表しています。

ファイルの作成

このままではつまらないのでcmdtestディレクトリ内に新しくファイルを作成してみましょう。

とはいえWindowsにはLinuxのtouchのようなファイル作成コマンドはありません。

どうするかというとechoコマンドとリダイレクトを使います。

echoコマンドは画面(標準出力)にテキストを出力するコマンドです。

echo はるなぴログ

結果は

C:\Users\hal7pi\cmdtest>echo はるなぴログ
はるなぴログ

C:\Users\hal7pi\cmdtest>

echoの後に入力した文字列が画面に出力されます。次にリダイレクトについて説明します。

リダイレクトとは(コマンド編)

リダイレクトとは標準の入出力を別の入出力に切り替えることを指します。

echo はるなぴログ > test.txt

>記号を使って標準出力(画面)をtext.txtというファイルにリダイレクトしています。リダイレクト記号は半角で入力するよう注意してください。

これで「はるなぴログ」というテキストがtest.txtファイルに書き込みされます。

ファイルが作成されているか確認してみます。

C:\Users\hal7pi\cmdtest>dir
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は 8C09-5F2B です

 C:\Users\hal7pi\cmdtest のディレクトリ

2019/09/10  22:18    <DIR>          .
2019/09/10  22:18    <DIR>          ..
2019/09/10  22:18     15       test.txt
               1 個のファイル                  15 バイト
               2 個のディレクトリ  1,825,790,844,928 バイトの空き領域

ちゃんとファイルが生成されていますね。

ファイルの中身を表示

ファイルの中身を表示させるコマンドはtypeです。

C:\Users\hal7pi\cmdtest>type test.txt
はるなぴログ

アペンド(追記)

記号>>でファイルへの追記ができます。

echo はるなぴ >> test.txt

確認してみましょう。

C:\Users\hal7pi\cmdtest>type test.txt
はるなぴログ
はるなぴ

ファイルの名前変更

ファイルの名前を変更するコマンドはrenです。

ren 元のファイル名 新しいファイル名

の順でコマンドを打ちます。

ren test.txt hal7pi.txt

確認してみます。

C:\Users\hal7pi\cmdtest>dir
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は 8C09-5F2B です

 C:\Users\hal7pi\cmdtest のディレクトリ

2019/09/10  23:00    <DIR>          .
2019/09/10  23:00    <DIR>          ..
2019/09/10  22:36                26 hal7pi.txt
               1 個のファイル                  26 バイト
               2 個のディレクトリ  1,825,810,657,280 バイトの空き領域

ファイルのコピー

作成したファイルをコピーしてみましょう。

copyコマンドの使い方は以下のとおりです。

copy コピー元ファイル名 コピー先ファイル名

さっそくファイルをコピーしてみましょう。

copy hal7pi.txt copiedfile.txt

確認してみましょう。

C:\Users\hal7pi\cmdtest>dir
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は 8C09-5F2B です

 C:\Users\hal7pi\cmdtest のディレクトリ

2019/09/13  08:19    <DIR>          .
2019/09/13  08:19    <DIR>          ..
2019/09/13  07:57                26 copiedfile.txt
2019/09/13  07:57                26 hal7pi.txt
2019/09/13  07:55    <DIR>          newdir
               2 個のファイル                  52 バイト
               3 個のディレクトリ  1,830,514,159,616 バイトの空き領域

ワイルドカードで複数ファイルコピー

ワイルドカードとcpコマンドを使って複数のファイルを一気にコピーします。

ワイルドカードとはファイル名や拡張子などを指定する際に何でも当てはまるパターンを指します。アスタリスク記号*の部分が何にでも当てはまるパターンを表します。

具体的に見てみましょう。

copy *.txt newdir\

これは今のディレクトリ内にある拡張子がtxtのすべてのファイルをnewdirというディレクトリ内にコピーするコマンドになります。

C:\Users\hal7pi\cmdtest>dir
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は 8C09-5F2B です

 C:\Users\hal7pi\cmdtest のディレクトリ

2019/09/13  08:19    <DIR>          .
2019/09/13  08:19    <DIR>          ..
2019/09/13  07:57                26 copiedfile.txt
2019/09/13  07:57                26 hal7pi.txt
2019/09/13  08:38    <DIR>          newdir
               2 個のファイル                  52 バイト
               3 個のディレクトリ  1,830,507,900,928 バイトの空き領域

dirコマンドでnewdirディレクトリの中を表示させてみます。

C:\Users\hal7pi\cmdtest>dir newdir
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は 8C09-5F2B です

 C:\Users\hal7pi\cmdtest\newdir のディレクトリ

2019/09/13  08:38    <DIR>          .
2019/09/13  08:38    <DIR>          ..
2019/09/13  07:57                26 copiedfile.txt
2019/09/13  07:57                26 hal7pi.txt
               2 個のファイル                  52 バイト
               2 個のディレクトリ  1,830,502,510,592 バイトの空き領域

きちんとコピーされていますね。

ディレクトリのコピー

ディレクトリのコピーコマンドはxcopyです。

xcopyの使い方は以下のとおりです。

xcopy コピー元のディレクトリ名 コピー先のディレクトリ名

それではさっそくコピーしてみましょう。

xcopy newdir newdir2

結果は…

C:\Users\hal7pi\cmdtest>xcopy newdir newdir2
newdir2 は受け側のファイル名ですか、
またはディレクトリ名ですか
(F= ファイル、D= ディレクトリ)? D
newdir\copiedfile.txt
newdir\hal7pi.txt
2 個のファイルをコピーしました

コピー先がファイル名かディレクトリ名かを聞かれました。Dを選択するとnewdir2というディレクトリが作成され、その中にファイルがコピーされます。

C:\Users\hal7pi\cmdtest>dir
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は 8C09-5F2B です

 C:\Users\hal7pi\cmdtest のディレクトリ

2019/09/13  09:09    <DIR>          .
2019/09/13  09:09    <DIR>          ..
2019/09/13  07:57                26 copiedfile.txt
2019/09/13  07:57                26 hal7pi.txt
2019/09/13  08:38    <DIR>          newdir
2019/09/13  08:38    <DIR>          newdir2
               2 個のファイル                  52 バイト
               4 個のディレクトリ  1,830,264,877,056 バイトの空き領域

ツリー構造の確認

treeコマンドで配下のディレクトリやファイルのツリー構造を表示することができます。

ここまでファイルやディレクトリをコピーしてきたので、今いるディレクトリの配下がどのような状態になっているのか分かりにくくなってきました。treeコマンドで見てみましょう。

tree
C:\Users\hal7pi\cmdtest>tree
フォルダー パスの一覧:  ボリューム Windows
ボリューム シリアル番号は 8C09-5F2B です
C:.
├─newdir
└─newdir2

ファイル名まで表示させたいときは/Fオプションをつけます。

C:\Users\hal7pi\cmdtest>tree /F
フォルダー パスの一覧:  ボリューム Windows
ボリューム シリアル番号は 8C09-5F2B です
C:.
│  copiedfile.txt
│  hal7pi.txt
│
├─newdir
│      copiedfile.txt
│      hal7pi.txt
│
└─newdir2
        copiedfile.txt
        hal7pi.txt

同じファイルをあちこちにコピーしていることが良く分かりますね。ここからは削除のコマンドを覚えましょう。

ディレクトリの削除

ディレクトリの削除はrdコマンドです。

使い方は以下のとおりです。

rd 削除したいディレクトリ名

さっそく先ほど作成したnewdir2ディレクトリを削除してみましょう。

rd newdir2
C:\Users\hal7pi\cmdtest>rd newdir
ディレクトリが空ではありません。

ディレクトリの中が空ではないと注意を受けてしまい削除できませんでした。

delコマンドとワイルドカードでnewdir2の中のファイルをすべて削除してから実行すれば良いのですが面倒です。ここは強制的にディレクトリを削除してみましょう。間違ってデータをすべて削除してしまう可能性のある危険なコマンドですのでディレクトリ名を間違えないよう実行には十分ご注意ください。

rd newdir2 /s

/sスイッチをつけると強制的にディレクトリを削除します。

C:\Users\hal7pi\cmdtest>rd newdir2 /s
newdir2、よろしいですか (Y/N)? Y

確認メッセージが出ますのでYを入力します。

ファイルの削除

ファイル削除のコマンドはdelです。

del hal7pi.txt

Y/Nなどの確認はいっさいありません。サクッと削除されますのでご注意ください。

コピーや削除を行ったら都度dirコマンドで確認するようにします。

画面クリア

コマンドプロンプト画面をクリアするコマンドはclsです。

cls

また今まで使ったコマンドを上矢印キーで呼び出すことができます。同じコマンドを何回も打たなくて済みますし、過去に使ったコマンドを確認するときにも便利です。

コマンドプロンプトの使い方まとめ

チュートリアルの自然な流れに従ってコマンドプロンプトのコマンドの使い方を覚えればあっという間です。

パスやリダイレクト、ワイルドカードも同時に覚えてしまえば一気に応用範囲が広がります。そしてLinuxを触る場合でも基本的にコマンドが少し違うだけでパスや入出力、コマンドにオプションをつけることなどの根本的な考え方、使い方は変わりません。

ここから先はコマンドプロンプトのすべてのコマンドとそのオプションをきっちりと覚えることをお勧め…しません。基本は大切ですがいつまでも基本をネチネチやっていても面白くありません。必要になったらその都度学んでいけば十分です。それよりもLinux(Unix)コマンドを早く使えるようにした方が良いと思います。Linuxの世界にいくとまた新しい考え方に触れることができます。

コマンドプロンプトの黒い画面がとっつきにくいと感じている初心者の方向けに記事を書いてみました。はるなぴ自身がこんな風にコマンドの使い方を教えて欲しかったと思うような内容のチュートリアルにしてみました。お役に立てていただければ幸いです。