OXY NOTES

Linuxのターミナルでコマンドを入力する方法と、オプションを調べる方法

ややこしいコマンドも、使い方と調べ方さえわかれば、あとは覚えるだけ

以前の投稿」で「コマンド」を紹介しました。
これからLANP環境を構築する上で必要になるため、コマンドの使い方と、基本的な書式を解説します。

合わせてオプションの指定やヘルプの参照方法、マニュアルの操作ついて解説します。


TeraTermのインストールとログイン

まずターミナル・エミュレータをインストールして、自分のサイトへアクセスします。今回は「TeraTerm」を使います。

公式ページ」にありますが、「SourceForge.jp」でページ中程にある「teraterm-4.75.exe」か「teraterm-4.75.zip」をダウンロードしてインストール、起動してください。

起動したら
新しい接続」ウィンドウにて、
ホスト」に「IPアドレス(VPS、専用サーバ用に提供されたもの)」、
TCPポート」に「22番
サービス」は「SSH2」を選択して
OK」ボタンをクリックします。

 
セキュリティ警告」ウィンドウで「サーバ側のホスト鍵指紋」や、その下にアスキーアートのようなものが表示されると思います。

これはサーバの正当性を確認する機能ですが、初回アクセス時はサーバに確認のしようが無いため、今回は「このホストをknown hostsリストに追加する」をチェックして、「続行」ボタンをクリックしてください。

Linuxでサーバ運営をするには、悪意ある第三者からの攻撃に細心の注意を払う必要があります。何のセキュリティ対策も行なっていないサーバをネットワークに繋いだ所、ものの数分でハッキングされウイルスを設置された例も報告されています。

「known hosts」の情報はTera Termのフォルダに「ssh_known_hosts」という名前で保存されています。もし1度「known hosts」に登録したドメインで「セキュリティ警告」が出た場合、悪意ある第三者が成りすましを行なっている可能性があります。

サーバの鍵情報と「ssh_known_hosts」にある鍵情報比較したい場合は、Webminで「サーバ > SSHサーバ > Host SSH Keys」と進んで、表示された鍵の文字列と比較してください。ファイルを直接参照する場合は「/etc/ssh/ssh_host_rsa_key.pub」に保存されています。

 
ユーザー名」と「パスワード」を入力します。
Osukiniサーバの例で言えば、「設定報告書」の「基本仕様」にある「ユーザー名」と「パスワード」を入力します。
プレインテキストを使う」にチェックを入れて「OK」ボタンをクリック。

(Osukiniサーバではセキュリティのため、デフォルトでrootユーザーのログインを許可していません。)

 
ログインが成功すると以下のようなコマンドプロンプトが表示されます。この例ではユーザー名が「hoge」で、ホスト名が「example」という表示です。
行頭にある「$(ドル)」が一般ユーザーを表し、「#(シャープ)」がrootユーザーを表します。

コマンド入力の書式

これからコマンドを入力していきますが、コマンドプロンプトの「[hoge@example: ~]$ 」という表記を毎回書くのは表示が煩雑で、無駄が多くなります。そこでコマンド入力の際は省略して「$」と「#」を先頭に記述します。

コマンド「hoge」を一般ユーザーで入力する例。

$ hoge

コマンド「hoge」をrootユーザーで入力する例。

# hoge

上の例は一般的な書式ですが、当サイトでは長くなりがちなターミナルの表示をわかりやすくするため、以下の書式で統一します。

※コマンドラインの見方
コマンド」「引数、その他」「コメント」「#(rootユーザ)」「$(一般ユーザ)」

# su hoge これはコメント

 

それでは実際にコマンドを入力してルートユーザーに変更してみます。「su」と入力してEnterを押してください。

$ su

すると以下のように「rootユーザーのパスワード」を入力を求められます。

 

ここで、パスワードを入力しますが、一般のパスワード入力のように「****」や「●●●●」といった伏字は表示されません。表示はされていませんが、しっかり入力されているので安心してください。
間違いなく入力できたらEnterを押します。成功すると先頭の文字が以下のように「$」から「#」へ変更されています。

 

パスワードの入力ですが、一度で間違わずに入力できましたか?
ターミナルではコピー・ペーストに「Ctrl+C」や「Ctrl+V」が使えません。また、マウスの利用を想定していないので右クリックからメニューを選ぶこともできません。

しかし、そこはあくまでエミュレータであるTera Termが対策を考えてくれています。「Ctrl」ではなく、「Alt+C」「Alt+V」でコピー・ペーストできます。

さらに「右クリック」も「ペースト」になっています。試しにテキストエディタなどで適当な文章をコピーして、Tera Termの画面上で右クリックしてください。ペーストできていると思います。

 

ではコピー・ペーストの練習に、Tera Termにログインした時のユーザーに戻してみます。
rootユーザーになる時に利用した「su」ですが、後にユーザー名を指定すると、指定したユーザーに切り替えることができます。(この例ではhogeユーザーにログイン)

# su hoge

そして再度rootユーザーになります。

$ su

パスワードを求められるので、今度は設定報告書でrootユーザーのパスワードをコピーしてください。そしてTera Termの画面上で右クリック(ペースト)してEnterを押してください。先ほど手入力したようにrootユーザーでログインできたと思います。

他にもTera Term上の文字をマウスで選択して「右クリック」すると、選択した文字をコピー・ペーストしてくれます。


コマンドのオプションを指定する方法

続いてはコマンドのオプションについて解説します。コマンドにはオプションを追加して指定することができます。オプションは通常「-(ハイフン)」もしくはハイフンを2つ続けて「--」というように指定します。

先ほどの「suコマンド」を例にオプションを指定してみます。suのバージョンを表示する「--version」というオプションを指定してみます。

$ su --version

すると以下のようにsuのバージョンに関する情報が表示されます

このようにオプションを利用することで、1つのコマンドで多くの機能を利用することができます。


コマンドのマニュアルを表示する方法

コマンドにオプションがあることを解説しましたが、コマンドによっては数百のオプションがあります。その全てを覚えるのは困難です。
あのオプションの指定方法は「-v」だったかな?「--version」だったかな?」と迷った時のために、マニュアルが用意されています。

では先程の「suコマンド」のマニュアルを表示してみます。マニュアルを表示するにはコマンドの前に「man」と入力してください。

$ man su

以下のようなマニュアルが表示されます。

マニュアルの見方について

名前」の段落はいいとして、「書式」を見てください。
後ろから2つ目に先ほど指定した「--version」オプションが表示されています。

suの後に[]で囲まれた文字が並んでいます。この[]はブランケット(もしくは角括弧)と呼ばれています。このブランケット内の文字がオプションです。

1つ目のオプションに[-flmp]とあります。これは[-flmp]というオプションがあることを表しているのではなく、「-f」「-l」「-m」「-p」というオプションがあることを表しています。
また、オプションは大文字、小文字で意味が変わりますので、注意してください。

-(ハイフン)」が1つのオプションは特に指定がない場合、連続して指定することができます。別の表記法として[-f|l|m|p]というように「|(パイプもしくはバーティカルバー)」で区切って表記してある場合もあります。

例「-f」「-l」「-m」の3つのオプションを指定

$ su -flm

 

ちなみに今回利用した「--version」というハイフンが2つのオプションは、他のオプションと結合できません。

これではエラーになる

$ su -flmversion

 

以下のようにハイフンが1つのものと分ける必要があります。

$ su -flm --version

 

続いてマニュアルの2つ目に注目してください。[-c commad]となっています。
これは「-c」の後にコマンドを指定してくださいという書式です。以下にマニュラルでよく使われる引数の例を載せておきます。オプションの利用の際に参考にしてください。

よく使われるマニュアルの引数表記

shell シェル
dir ディレクトリを指定
path ファイルのパス
user ユーザー名
userID ユーザーID
file ファイル名
mode パーミッション(777など)
group 所属グループ
host ホスト名(example.comなど)
繰り返し

マニュアルの操作方法

マニュアルを見て、コマンドの利用法がわかっても、マニュアルの操作方法がわからないと、マニュアルから抜けることができません。
マニュアルのマニュアル(トンチみたいな言い回しですがw)は、マニュアルの表示中に「h」を押すと表示できます。すべて覚える必要はありませんが、終了とスクロールだけは覚えてください。

よく使うマニュアル操作

マニュアルの終了 qもしくは:q
下にスクロール eもしくは↓(Tera Termではマウスのホイールも対応しています)
上にスクロール yもしくは↑
次のページ f
前のページ b
検索 /hogeと入力後Enter(hogeという単語を探す場合)
次の検索結果 n(複数hogeがある場合は続けて押せば次にヒットした場所に移動)
前の検索結果 Shift+n

ヘルプの見方について

多くの場合マニュアルの他にもヘルプが用意されています。違いを解説するよりも実際に見たほうが早いと思うので以下のコマンドを打ってください。

例:「suコマンド」のヘルプの表示方法です。

$ su --help

このようにマニュアルの簡易版を表示してくれます。ヘルプの表示は「--help」の他にも「-help」や「-h」である場合もあります。

このように、わからないコマンドやオプションに遭遇したら「man」でマニュアルを表示するか、「--hepl」でヘルプを参照して、自分で調べる癖を付けておくとコマンドやオプションに関する理解が進みます。

また慣れないうちは1度利用したコマンドはテキストファイルにしてまとめておくと、後で同じコマンドを打つときに再度検索せずに済むのでお勧めです。


今回は真っ黒な画面のターミナルに向かって、文字だけで操作をするという、なんだか専門家みたいな作業をしました。「ややこしくなってきたなぁ」というのが実感ではないでしょうか。
次は、さらに初心者を震え上がらせる鬼門w、「Linuxの鬼門、viエディタの基本的な操作方法と実用的なコマンド」にて、viエディタについて解説します。