ご利用ガイド 第5回:コマンドにチャレンジ!
目次
第5回:コマンドにチャレンジ!
前回は「ターミナルソフト」でサーバーに接続する方法を学びました。でも、接続しただけじゃ、サーバーは何もしてくれません。「命令」=「コマンド」を送ってあげて、サーバーははじめてあなたの思うとおりの処理をしてくれます。だいたいこんなイメージですね。
そこで今回は、簡単なコマンドをご紹介することでサーバーの操作を体験していただきましょう。
コマンドの体験をするには、まず、前回学んだターミナルソフトでサーバーに接続します。
TeraTermを起動して、「ホスト」のところにサーバーのIPアドレスを入力し「OK」…。
「ユーザー名」と「パスフレーズ」を打ち込むのでしたね。
これで、サーバーがコマンドを受け付ける画面になりました。
ここで画面の上のほうに
[localadm@test ~] ■
と出ているのが、「コマンドプロンプト」です(機種や環境によって表示は異なります)。「あなたのコマンド入力を待っているよー」という、サーバーからのラブコールだと思ってください。
まず、これまでもなんどか出てきたコマンドを改めてご紹介します。いまの日付・時刻を表示する「date」コマンドです。コマンドプロンプトに続いて「date」+Enterと入力してみましょう。
[localadm@test ~] date
Mon May 26 17:11:52 JST 2014
[localadm@test ~] ■
と表示されました。英語ですが、「きょうは5月26日の17時だよ」と言っているようです。わー! ぱちぱちぱち! みごとにサーバーとのファーストコンタクトに成功しましたね。
でも、日付くらいは人間だってわかりますよねー。サーバーはいやしくもコンピューターです。こんどはカレンダーを表示させてみましょう。「cal」コマンドです。
[localadm@test ~]$ cal
May 2014
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
[localadm@test ~]$ ■
おおっ? みごとに今月のカレンダーが表示されました。しかも、このコマンドのすごいところは、月・年を指定するといつのカレンダーでも出てくることです。「cal 4 645」とコマンドを入れてみましょう。これは「645年の4月のカレンダーを表示しろ」という意味になります。コマンドにつづけて細かい指令を打ち込むときは、あいだに半角スペースを入れる決まりです。
[localadm@test ~]$ cal 4 645
April 645
Su Mo Tu We Th Fr Sa
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
[localadm@test ~]$ ■
おおすごい。大化の改新の年のカレンダーが出てきました。
ちなみに「cal 1972」のように年だけ指定すると、その一年のカレンダーが表示されるのですが、
[localadm@test ~]$ cal 1972
1972
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 1 2 3 4 5 1 2 3 4
2 3 4 5 6 7 8 6 7 8 9 10 11 12 5 6 7 8 9 10 11
9 10 11 12 13 14 15 13 14 15 16 17 18 19 12 13 14 15 16 17 18
:
表示が長すぎて読み切れません。こういうときは途中で「コマ送り」のようにしてくれる便利なコマンドがあります。「less」です。この子はちょっと変わっていて、「cal 1972 | less」のようにほかのコマンドと組み合わせて使います。組み合わせの部分にある「|」(パイプ記号)は多くのキーボードでは「Shiftキー+¥」で入力できると思います。
[localadm@test ~]$ cal 1972 | less
1972
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 1 2 3 4 5 1 2 3 4
2 3 4 5 6 7 8 6 7 8 9 10 11 12 5 6 7 8 9 10 11
9 10 11 12 13 14 15 13 14 15 16 17 18 19 12 13 14 15 16 17 18
16 17 18 19 20 21 22 20 21 22 23 24 25 26 19 20 21 22 23 24 25
23 24 25 26 27 28 29 27 28 29 26 27 28 29 30 31
30 31
April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 1 2 3 4 5 6 1 2 3
2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 9 10
9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17
16 17 18 19 20 21 22 21 22 23 24 25 26 27 18 19 20 21 22 23 24
23 24 25 26 27 28 29 28 29 30 31 25 26 27 28 29 30
30
July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 1 2 3 4 5 1 2
2 3 4 5 6 7 8 6 7 8 9 10 11 12 3 4 5 6 7 8 9
9 10 11 12 13 14 15 13 14 15 16 17 18 19 10 11 12 13 14 15 16
:
と、: が出て途中でとまりました。ここで「スペースキー」を押すと次のページへ進み、「p」キーを押すと前のページに戻ります。「q」で終了。
かんたんなコマンドをざっと眺めてきましたが、サーバーの操作でいちばん使うことになるものを次にご紹介します。サーバーもコンピューターの一種なので、あなたのパソコンとおなじようにハードディスクがついています。Windowsなら、フォルダを開いていけば中にどんなファイルがあるか表示されますが、サーバーではこの場合もコマンドを使います。そのためのだいじなコマンドが「ls」です。
たとえば「ls /」とコマンドを打ってみましょう。
[localadm@test ~]$ ls /
bin cgroup dev home lib64 media opt root selinux sys usr
boot data etc lib lost+found mnt proc sbin srv tmp var
[localadm@test ~]$ ■
これは、サーバーのハードディスクのいちばん根元にあたる「/」=「ルートディレクトリ」の中身を表示したようすです。Windowsだと C: ドライブの中をいきなり開いた感じです。
サーバーでは、フォルダではなく「ディレクトリ」と呼びます。むかしはWindowsもディレクトリと呼んでいたのですが、時代は変わりました…。
さらに「/」ディレクトリの中をlsで調べていきましょう。どうやら「etc」というディレクトリがあるようなので、「ls /etc」とコマンドを打ってみます。
[localadm@test ~]$ ls /etc
abrt gai.conf nsswitch.conf rwtab.d
acpi gcrypt ntp sasl2
adjtime gnupg ntp.conf scl
aliases group openldap screenrc
:
favicon.png my.cnf rpm zshenv
filesystems nanorc rsyslog.conf zshrc
fonts NetworkManager rsyslog.d
fstab networks rwtab
[localadm@test ~]$ ■
たくさんファイルがありますねー。ちょっと中身を覗いてみましょうか。/etc の中には passwd というファイルがあるので、その中身を表示してみましょう。ファイルの中身を表示するコマンドは「cat」です。
[localadm@test ~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
localadm:x:500:500::/home/localadm:/bin/bash
[localadm@test ~]$ ■
あれ。なんだか、あなたが作ったアカウント名の「localadm」という文字が出てきましたね。実はこの /etc/passwd というのはそのサーバーがもっているアカウントの一覧を記録しているファイルです。
ディレクトリの深いところを追っていくと、このようにいろいろなファイルに遭遇します。ところで、サーバーにログインしたあなたは、サーバー上のどこかのディレクトリの中にいることになっています。いまどのディレクトリの中にいるのか調べるのが「pwd」コマンドです。
[localadm@test ~]$ pwd
/home/localadm
[localadm@test ~]$
表示されたように「/home/localadm」というディレクトリにいるのがわかります。ふつう、ログインした直後は /home/なになにといった、あなたのアカウント専用のディレクトリの中にいます。
「おれはこんな狭いディレクトリにいたくない! おれは自由だ!」という人は、別のディレクトリにジャンプすることもできます。「cd」というコマンドを使います。
[localadm@test ~]$ cd /etc
[localadm@test etc]$ pwd
/etc
[localadm@test etc]$
「cd /etc」として /etcディレクトリにジャンプしたあと、pwdで位置を確認するとたしかに「/etc」に移動しているのがわかります。
ちょっと駆け足でいろいろなコマンドを見てきましたので、今回はここまで。軽く復習しておきましょう。
- ・date コマンド
日付・時刻を表示する - ・cal コマンド
カレンダーを表示する - ・lessコマンド
他のコマンドと組み合わせてコマ送り表示する - ・ls コマンド
ディレクトリの中身を見る - ・cat コマンド
ファイルの中身を見る - ・pwd コマンド
現在いるディレクトリを表示する - ・cd コマンド
指定のディレクトリにジャンプする
何回か繰り返してコマンドの入力を練習すると、だんだん慣れてきますよ。では、また次回!
- 問題は解決できましたか?
-