コマンドラインはコンピュータを操作するツールであり、webサイトやアプリを作る上で必須のものです。非エンジニアの方はあまり聞き慣れないかもしれませんが、コマンドラインという言葉はエンジニアの方が大好きなものです!GUIで操作するよりもコマンドライン(CUI、CLI、ターミナル、コマンドプロンプトなどと呼ばれる)を使って操作することが多いです。いわゆるエンジニアの方が使っている黒画面です。そこで今回は特にUNIXコマンドの必要最低限の基礎知識を学んでいきましょう!
目次
- コマンドラインを学ぼう
- コマンドラインとは
- ファイルの作成のコマンド:touch
- ファイルの中身を表示するコマンド:cat
- ディレクトリ(フォルダー)を作成するコマンド:mkdir
- ディレクトリを移動するコマンド:cd
- ルートディレクトリ
- カレントディレクトリを確認するコマンド:pwd
- ディレクトリの中身を表示するコマンド:ls
- ファイルを移動させるコマンド:mv
- ファイルのコピーをするコマンド:cp
- ファイルの削除コマンド:rm
コマンドラインを学ぼう
コマンドラインは開発をする上で必須のツールです。コマンドラインを省略して、CUI(キャラクタユーザインタフェース)、CLI(コマンドラインインターフェース)とエンジニアの方達は呼んでいます。
またその他にも、Windowsの場合はコマンドプロンプト、Macの場合はターミナルで使うため、そのような名称で呼ばれることもあります。非エンジニアの方からすると人によって使う名称が違うのでわかりづらいかと思いますが、どれも同じだと思っていただけるとわかりやすいです。
コマンドと呼ばれる命令を使うことで、コンピュータに様々なプログラムを実行させることができます。
特にUNIXコマンドにおいて開発をする上で最低限必要な基礎知識を学んでいきましょう!
コマンドラインとは
コマンドラインとは、文字だけでコンピュータを操作するためのものです。まだわかりづらいかと思いますが、普段皆さんはマウスでクリックなどをしてコンピュータを操作をするかと思いますが、そのことをGUI(グラフィカルユーザインタフェース)で操作していることになります。
それとは反対にCLIやCUIなどのコマンドラインとは、いわゆるエンジニアの方がよく開いている黒い画面でコマンド(命令)を入力して操作をする方法となります。
今回ご紹介するUNIXコマンドは、主にLinuxやmacOSで利用されるコマンドの一種です。
Macの場合は、「Launchpad → その他 → ターミナル」の順に進めば開くことができます。
コマンド(命令)
Macの場合はターミナル、Windowsの場合はコマンドプロンプトと呼ばれるものにコマンド(命令)を入力することで、コンピュータに指示を与えることができます。
これから、実際にどのようなコマンドがあるのかを見ていきますが、私はMacユーザーのためMacでご紹介します。
最初に伝えておくと「$」はコマンドの入力開始点に用意されている記号なので、書く必要はありません。
ファイルの作成のコマンド:touch
まずはファイルを作成するコマンドを見ていきます。ファイルを作成するには、「touchコマンド」を使います。
「touch ファイル名」と入力して実行することで、空のファイルを作成することができます。コマンドの実行には「Enter」を押してください。
もし「cli-nyumon.txt」というファイルを作成したい場合は以下のように記述します。
$ touch cli-nyuumon.txt
ファイルの中身を表示するコマンド:cat
普段、Sublime TextやVisual Studio Codeなどのエディタを使ってファイルの中身を表示するように、コマンドでファイルの中身を表示することができます。それには「catコマンド」を使います。catコマンドは「cat ファイル名」と入力することで使うことができます。
もし「cli-nyumon.txt」というファイルを作成したい場合は以下のように記述します。
$ touch cli-nyuumon.txt
catコマンドを実行したときに、存在しないファイルを指定するとエラーが出力されます。エラーが出た場合、実行したコマンドは無効になりますので注意してください。
[aside]コマンドラインの補完機能が便利
コマンドラインには補完機能というものがあります。補完機能とは、ファイル名やフォルダ名を入力するときにファイル名の入力途中にTabキーを押すことで、残りのファイル名を補完してくれる機能です。
これを使うことで効率が良くなるだけでなく、先程のような存在しないファイル名によるエラーなどを防ぎやすくなります。
[/aside]
ディレクトリ(フォルダー)を作成するコマンド:mkdir
コマンドを用いて新たにフォルダを作成することもできます。また、コマンドラインではフォルダのことをディレクトリと呼びますので、覚えておきましょう。
ディレクトリ(ファイル)を作成するには、「mkdirコマンド」を使います。mkdirコマンドは「mkdir ディレクトリ名」と入力することで使うことができます。mkdirは「make directory」の略です。
$ mkdir test
たまに「touch」と「mkdir」コマンドの違いがよくわからないという方もいますが、touchは、テキストファイルなどの単体を作成しますが、mkdirはファイル/フォルダーという箱を作成して、touchで作成したテキストファイルなどを入れることになります。
カレントディレクトリとは
コマンドラインでは、自分が現在いるディレクトリのことをカレントディレクトリと呼びます。例えば、touchコマンドを実行すると自分が今いるディレクトリ内にファイルが作成されます。
そのため、作成したディレクトリの中に新しいファイルなどを作成したい場合には、そのディレクトリに移動してから作成する必要があります。そのため、現在自分がどこのディレクトリがどこにいるかによって、次のコマンド(命令)が異なってくるため、カレントディレクトリを把握することは大事です。後にご紹介しますが、カレントディレクトリを確認するには「pwd」コマンドを使います。
ディレクトリを移動するコマンド:cd
ディレクトリを移動するためのコマンドを見ていきましょう。ディレクトリを移動するためには「cdコマンド」を使います。cdは「change directory」の略です。
「cd ディレクトリ名」とすることで、指定したディレクトリに移動することができます。
$ cd test
デスクトップにあるファイルに移動したいのであれば、最初にデスクトップに移動して後に、指定のファイルに移動します。以下であれば、「cd desktop」でデスクトップに移動して「cd test」でテストフォルダーに移動します。現在いる場所は「%」の前の部分でわかります。現在であれば「test %」となっているので、カレントディレクトリはtestとわかります。
1つ上のディレクトリに移動するコマンド
cdコマンドは、1つ下の階層に移動するコマンドですが、1つ上の階層(親階層)に移動したい場合には、単純なcdコマンドではできません。「cd ..」という形で親階層に移動できます。
$ cd ..
ホームディレクトリへ直接移動するコマンド
cdコマンドでは、ディレクトリを指定せずに「cd」のみで実行すると、ホームディレクトリと呼ばれるディレクトリに移動することができます。
ホームディレクトリは、下の図のように「~」で表されます。
$ cd
コマンドラインでエラーが表示された場合
タイプミスをして存在しないディレクトリを選択して以下のようなエラー(no such file or directory)が表示される可能性があります。その場合は、タイプミスをしている可能性があるので冷静に見返してみてください。
cd: no such file or directory:
ルートディレクトリ
先程見たファイル構造には、1番親のディレクトリにルートディレクトリというものがあります。ルートディレクトリは「/」で表されます。
カレントディレクトリを確認するコマンド:pwd
コマンドラインでは、現在作業しているディレクトリを把握していることが大切です。そのため、作業中のディレクトリを確認できる「pwdコマンド」があります。
下のようにpwdコマンドを実行すると、ルートディレクトリからカレントディレクトリまでの階層が全て表示されます。
$ pwd
cdコマンドを使って「デスクトップ → test → test2」と移動した後に、pwdコマンドで階層を表示しています。
ディレクトリの中身を表示するコマンド:ls
カレントディレクトリを確認することはできましたが、ディレクトリを移動するときなどには、現在いるディレクトリにどんなファイルやデータが入っているかの中身を見れた方が便利です。ディレクトリの中身を確認するには、「ls(エルエス)」コマンドを使います。
下のように「ls」と打つだけで、カレントディレクトリの中身を確認することができます。
lsコマンドで確認できるディレクトリとファイルは、1つ下の階層(子階層)だけですので覚えておきましょう。
$ ls
ファイルを移動させるコマンド:mv
まずは、ファイルを移動させるコマンドを見ていきましょう。ファイルを移動させるには、「mvコマンド」を使います。
「mv ファイル名 ディレクトリ名」とすることで指定したディレクトリにファイルを移動させることができます。また「mv ディレクトリ名 ディレクトリ名」とすることで、ディレクトリを移動することもできます。ちなみにmvは「move」の略です。
$ mv idousasemasu.txt moved
またファイルやフォルダーの移動だけではなく、mvコマンドはファイル名を変更することもできます。
「mv ファイル名 新しいファイル名」とすることでファイル名を変更できます。
以下は、movedフォルダーにある「idousasemasu.txtファイル」の名前を「name-edit.txt」に変更しました。
ファイルのコピーをするコマンド:cp
次はファイルのコピーについて見ていきます。ファイルをコピーするには「cpコマンド」を使います。
「cp コピーするファイル名 新しいファイル名」とすることでコピーすることができます。
$ cp cli-nyumon.txt cli-nyumon-copy.txt
ファイルではなくディレクトリをコピーする場合は、cpコマンドにパラメータとして「-r」を付けてください。「cp -r コピーするディレクトリ名 新しいディレクトリ名」とすることでディレクトリのコピーができます。
$ cp -r
ファイルの削除コマンド:rm
次は、ファイルの削除について見ていきます。ファイルを削除するには「rmコマンド」を使います。「rm ファイル名」とすることで削除できます。ちなみに「remove」の略です。
先ほどのコピーと同じようにディレクトリを削除したい場合は、パラメターで「-r」を付けてください。「rm -r ディレクトリ」とすることでディレクトリを削除できます。