Linuxの基本的なコマンドをマスターしよう

VPSを管理する際には、SSHでログインして、コマンドを使うことが多いです。そこで今回は、基本的なコマンドの使い方を解説します。

 

■基本的なコマンドは押さえておきたい

■ファイルとディレクトリの表し方

■ファイルを操作するコマンド

■ディレクトリを操作するコマンド

■圧縮ファイルの解凍

■root権限での作業

■サービスの操作

 

 

■基本的なコマンドは押さえておきたい

今回までの記事でお分かりになったと思いますが、VPSを管理する際には、SSHでログインして、コマンドを入力して作業することが多くなります。

多くの方は、インターネットなどで得た情報からひたすらコマンドをコピー&ペーストして、作業しているのではないでしょうか。ただ、それらのコマンドの意味をある程度理解していれば、ただコピー&ペーストするのとは違って、今行っている作業が何なのかをより把握しやすくなります。また、操作ミスをすることも減ります。

そこで今回は、Linuxでよく使うコマンドをいくつか紹介します。

 

 

■ファイルとディレクトリの表し方

Linuxはもちろんのこと、OSを操作する際には、ファイルとディレクトリを扱うことが多いです(コピーや移動など)。まず、ファイルやディレクトリの表し方を解説します。

 

・ファイルとディレクトリの表し方

Linuxでは、WindowsやMacと同様に、階層的にファイルを管理することができます。ただし、WindowsやMacではファイルの入れ物を「フォルダ」(Folder)と呼ぶのに対し、Linuxでは「ディレクトリ」(Directory)と呼びます。

最上位のディレクトリのことを、「ルートディレクトリ」(Root Directory)と呼び、「/」の記号で表します。そして、その後にディレクトリ名やファイル名を「/」で区切ってつなげて、ファイルの位置を表します。

例えば、図1の一番下にあるphpファイルは、次のような形で表します。

 

リスト 図1のファイルの表し方

/usr/local/bin/php

 

 

 

図1 ファイルの位置の例

図1 ファイルの位置の例

 

・相対パスと絶対パス

前述のように、ルートディレクトリから順に表した位置のことを、「絶対パス」と呼びます。一方、現在のディレクトリ(カレントディレクトリ)を基準に、そこから表した位置のことを、「相対パス」と呼びます。

相対パスでも、ディレクトリ名どうしや、ディレクトリ名とファイル名の間は「/」で区切ります。ただし、先頭には「/」はつけません。

例えば、図2のように、カレントディレクトリが「/usr」であるとします。この場合、図の最後にある「php」ファイルを相対パスで表すと、次のようになります。

 

リスト 図2のphpファイルを相対パスで表す

local/bin/php

 

 

図2 相対パスでファイルの位置を考える例

図2 相対パスでファイルの位置を考える例

 

また、「1つ上の階層ディレクトリ」を表したいこともよくあります。これは「..」という記号で表します。

 

 

■ファイルを操作するコマンド

ファイルを操作するコマンドは多数ありますが、中でもよく使うコマンドとして、「ls」「cp」「mv」「rm」「chmod」「chown」などがあります。

 

・ファイルの一覧を見る---lsコマンド

lsコマンドは、ファイルの一覧を画面に表示するコマンドです。「ls ディレクトリ名」のようにコマンドを実行すると、そのディレクトリの中にあるファイルやディレクトリを一覧で見ることができます。

例えば、次のコマンドを実行すると、「/bin」ディレクトリにあるファイルとディレクトリの一覧を見ることができます。

 

リスト /binディレクトリのファイルの一覧を見る

ls /bin

 

ディレクトリ名の前に、オプションを指定することもできます。中でもよく使うオプションとして「-al」というものがあります。これは、ファイルなどの情報を詳細に出力することを意味します(ファイルサイズや日付も出力)。

例えば、「ls -al /bin」というコマンドを実行すると、/binディレクトリにあるファイルやディレクトリの情報を詳細に見ることができます。

 

・ファイルのコピーと移動---cp/mvコマンド

あるファイルを別の場所にコピーするには、「cp」というコマンドを使います。また、ファイルを別の場所に移動するには、「mv」というコマンドを使います。どちらも、コピー/移動元のファイル名と、コピー/移動先のディレクトリ名を指定します。

例えば、「/foo」ディレクトリにある「bar」ファイルを、「/baz」ディレクトリにコピーしたいとします。この場合、次のコマンドを実行します。また、この例の「cp」を「mv」に変えると、ファイルを移動することができます。

 

リスト ファイルのコピーの例

cp /foo/bar /baz

 

・ファイルの削除---rmコマンド

ファイルを削除するには、「rm ファイル名」のようなコマンドを使います。例えば、次のコマンドを実行すると、「/foo」ディレクトリにある「bar」ファイルを削除することができます。

 

リスト ファイルの削除の例

rm /foo/bar

 

・パーミッションの変更---chmodコマンド

Linuxでは、ファイルごとに読み書きの権限を決めることができます。この仕組みのことを「パーミッション」(Permission)と呼びます。

パーミッションを変えるには、「chmod」というコマンドを使います。chmodの後に、パーミッションを表す3桁の数字と、対象のファイル(またはディレクトリ)の名前を指定します。

パーミッションには読み出し/書き込み/実行可能の3種類があり、それぞれ数字の4/2/1で表します。複数のパーミッションを与える場合は、それぞれに対応する数字を足し算します。

例えば、作業用ユーザーでログインしているときに、カレントディレクトリにある「sample.cgi」ファイルに、表1のようなパーミッションを設定したいとします。この場合、次のコマンドを実行します。

 

表1 パーミッションの設定の例

対象 与えるパーミッション
オーナー 読み出し/書き込み/実行可能
グループ なし
その他 読み出し/実行可能

 

リスト chmodコマンドで表1のパーミッションを設定する

chmod 705 sample.cgi

 

ただし、他のユーザーが作成したファイルなど、権限を持っていないファイルのパーミッションを変更したい場合、後述のsudoコマンドと組み合わせて、root権限でchmodコマンドを実行します。

 

・ファイルのオーナー/グループの変更---chownコマンド

個々のファイルには、オーナー(作成した人)とグループの情報が割り当てられ、パーミッションに応じて、読み書きできるユーザーが決まります。

場合によっては、ファイルのオーナーやグループを変更することが必要な場合があります。その時は、「chown」というコマンドを使います。書き方は次のようになります。

 

リスト chownコマンドの書き方

chown ユーザー名:グループ名 ファイル名

 

例えば、「sample.html」というファイルのユーザーを「foo」にし、グループを「wheel」にする場合だと、以下のようにchownコマンドを実行します。

chown foo:wheel sample.html

 

ただし、他のユーザーが作成したファイルなど、権限を持っていないファイルのオーナー/グループを変更したい場合、後述のsudoコマンドと組み合わせて、root権限でchownコマンドを実行します。

 

 

■ディレクトリを操作するコマンド

ディレクトリを操作するコマンドも、多数あります。その中では、「cd」「mkdir」「rmdir」をよく使います。

 

・カレントディレクトリを移動する---cdコマンド

前述したように、ファイルを操作する際には、カレントディレクトリからの相対パスを使うこともできます。このカレントディレクトリを移動するには、「cd」というコマンドを使います。

例えば、次のコマンドを実行すると、「/usr/local」ディレクトリをカレントディレクトリにすることができます。

 

リスト /usr/localディレクトリをカレントディレクトリにする

cd /usr/local

なお、「pwd」というコマンドを実行すると、カレントディレクトリの名前を出力することもできます。

 

・ディレクトリを作成する---mkdirコマンド

ディレクトリを作成するには、「mkdir」というコマンドを使います。パラメータとして、作成するディレクトリのパスを指定します。

例えば、「/foo」ディレクトリがすでにあるものとして、その中に「bar」ディレクトリを作りたいとします。この場合、次のコマンドを実行します。

 

リスト 「/foo」ディレクトリに「bar」ディレクトリを作る

mkdir /foo/bar

・ディレクトリを削除する---rmdirコマンド

ディレクトリを削除するには、「rmdir」というコマンドを実行します。ただし、対象のディレクトリの中が空になっていることが必要です。

例えば、「/foo/bar」ディレクトリを削除するには、次のコマンドを実行します。

 

リスト 「/foo/bar」ディレクトリを削除する

rmdir /foo/bar

なお、ディレクトリの中身も含めてすべて削除したい場合は、「rm -r -f ディレクトリ名」のようなコマンドを実行します。

 

■圧縮ファイルの解凍

ソフトのインストールの時などに、圧縮ファイルを解凍して作業することも多いです。Linuxでは、「tar.gz」と「zip」の2つの形式の圧縮ファイルがよく使われています。そして、それぞれで解凍に使うコマンドが異なります。

tar.gz形式のファイルを解凍するには、「tar xvzf ファイル名」のようなコマンドを実行します。例えば、カレントディレクトリにある「phpMyAdmin.tar.gz」というファイルを解凍する場合だと、次のコマンドを実行します。

 

リスト tar.gzファイルの解凍の例

tar xvzf phpMyAdmin.tar.gz

 

一方、zipファイルを解凍するには、「unzip ファイル名」のようなコマンドを使います。例えば、カレントディレクトリにある「phpMyAdmin.zip」というファイルを解凍する場合だと、次のコマンドを実行します。

 

リスト unzipファイルの解凍の例

unzip phpMyAdmin.zip

 

 

■root権限での作業

サーバーの設定を変えるときなど、一時的にroot権限に切り替えて作業することは多いです。このような時には、「sudo」というコマンドを使います。sudoの後に、実行するコマンドやそのパラメータを書きます。

例えば、root権限で「yum -y install httpd」というコマンドを実行したいとします。この場合、次のように書きます。

 

リスト sudoコマンドの例

sudo yum -y install httpd

 

なお、作業用ユーザーでログインしている状態でsudoコマンドを実行すると、パスワードを入力するメッセージが表示されることがあります。その場合は、その作業用ユーザーのパスワードを入力します。

 

 

■サービスの操作

たいていのサーバーソフトは、「サービス」という形で動作します。サービスとは、メモリに常駐し、いつでも実行できるような状態になっているソフトのことです。

VPSを管理する際には、サービスを扱う機会が非常に多くなりますので、サービスの操作に関するコマンドも紹介しておきます。

 

・サービスの操作---serviceコマンド

サービスの起動や終了などの操作は、「service」というコマンドで行います。serviceコマンドの書き方は次のようになります。なお、サービスの操作には通常はroot権限が必要なので、sudoコマンドと合わせて使います。

 

リスト serviceコマンドの書き方

sudo service サービス名 操作

 

「サービス名」には、個々のサービスの名前を指定します。また、「操作」には、一般的には表2のような値を指定します。ただし、サービスによって、使える操作には若干違いがあります。

 

表2 操作を表す値

操作
起動 start
停止 stop
再起動 restart
再読み込み reload

例えば、Apacheを起動する場合、Apacheのサービス名は「httpd」なので、次のコマンドを実行します。

 

リスト Apacheの起動

sudo service httpd start

 

・サービスの自動起動の設定---chkconfigコマンド

たいていサービスは、インスタンスが起動する際に同時に起動します。このような自動起動の設定は、「chkconfig」というコマンドで行います。

書き方は次のようになります。最後のパラメータに「on」を指定すると自動起動がオンになり、「off」を指定すると自動起動しなくなります。また、自動起動の設定にはroot権限が必要なので、sudoコマンドと組み合わせます。

 

リスト chkconfigコマンドの書き方

sudo chkconfig サービス名 onまたはoff

 

例えば、Apacheを自動起動するようにしたい場合、次のコマンドを実行します。

 

リスト Apacheの自動起動

sudo chkconfig httpd on

 

 

 

 

うちだ
サービスクリエーション本部所属        (監修:とみなが)       

オススメ記事

関連サービス

VPS VPSクラウド