このセクションでは自宅サーバーとしてLinuxを扱ううえで役に立つ基本操作基礎知識テクニックについて初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
LinuxOSの使いこなし術

LinuxOSを使いこなす

クライアントOSとの違い

絶対パスと相対パス

"パスが通っている"とは?

"/"と"."と".."の意味

"."(ドット)ファイルについて

ワイルドカードと正規表現

コマンドの強制終了

コマンド操作の補完機能

コマンド操作の履歴機能

リダイレクトとパイプ

属性とパーミッション〜その1

属性とパーミッション〜その2

アカウント情報ファイルの操作

ランレベルについて

システムが起動しないときは

ハードディスクの増設

アプリケーションの導入法


コマンド操作の補完機能

CUI によるコマンド入力の シェル 操作で最も煩わしいのは、 「正確にタイプしなければならない。」 という点でしょう。

例えば "ls" のように単純なコマンドであればいいのですが、 "apachectl" のように覚えにくいコマンドや、長いパス名のファイルを指定しなければならない場合、「一文字でも間違えれば打ち直し」という操作体系は結構憂鬱なものかもしれません。

しかし、 WBEL CentOS の標準コマンドシェルである bash には、 「コマンドの補完」 という便利な機能が備わっていて、 「初めから何文字か」 さえ大体覚えていれば、完全なコマンド名やパス名、ファイル名がわからなくとも、すばやくかつ間違いなく作業を行うことができるようになっています。

コマンドの補完

例えば、 nslookup というコマンドを実行したいときには、そのすべてをタイプする必要はなく、 "nsl" までタイプして TAB キーを押すと、入力中の プロンプト に残りの "ookup" が自動的に付け加えられるようになっています。

[root@web1 ~]# nsl

TAB キーを一回押す。

[root@web1 ~]# nslookup  自動で"ookup"が補完される。

つまり TAB キーを押すことで、WBELやCentOSのシステムが実行可能なコマンド名の一覧から、 "nsl" で始まるものを自動的に検索してくれているわけです。

しかし、もっと省略して "ns" TAB では、ビープ音が鳴るだけでコマンドの補完は行われません。

[root@web1 ~]# ns

TAB キーを一回押す。

[root@web1 ~]# ns ビープ音が鳴るだけ。

TAB キーをもう一回押す。

[root@web1 ~]# ns
nscd    nslookup   nspluginviewer
nsgmls   nspluginscan nsupdate   "ns"で始まるコマンドが一覧表示される。
[root@web1 ~]# ns

という具合に、 "ns" で始まるコマンドの一覧が表示されます。

候補があまりにも大量にあるときは、例えば "Display all 186 possibilities? (y or n)" 、つまり 「大量に表示されますが、かまいませんか?」 と、問いかけてきます。普通は "n" でキャンセルすべきですね。 "y" で全部表示させても、まず意味がありませんから。

つまり、 "ns" で始まるコマンドが複数存在するために一度目の TAB キーでは補完を行うことができなかったため、二度目の TAB "ns" で始まるコマンドの一覧を表示してくれたわけです。

もちろん、ここで "l" を追加でタイプして TAB キーを押せばきちんと補完されます。

また、例えば useradd コマンドを実行するために、 "use" TAB とタイプしたとしますすると、 "r" だけ補完されて、ビープ音が鳴ります。

[root@web1 ~]# use

TAB キーを一回押す。

[root@web1 ~]# user "r"だけ補完される。

TAB キーをもう一回押す。

[root@web1 ~]# user  ビープ音が鳴るだけ。

TAB キーをもう一回押す。

[root@web1 ~]# user
useradd  userhelper userisdnctl usermount userpasswd
userdel  userinfo  usermod   usernetctl users
[root@web1 ~]# user

実は、このシステムで実行可能なコマンドで、 "use" で始まるものは、次の文字が全て "r" になっているため、最初の TAB キーでは "r" のみが補完された、というわけです。

ディレクトリ名とファイル名の補完

例えば、ネットワークの設定ファイルである、 "/etc/sysconfig/network" の編集を行うときは、

[root@web1 ~]# nano /etc/sysconfig/network Enter

で設定ファイルをエディタで開くことになります。

こういう深い パス の下にあるファイルを、自分の記憶だけを頼りに正確にタイプするのは大変なことです。

例えば上の例を 「コマンドの補完」 機能を利用すれば、

[root@web1 ~]# nano /e

TAB キーを一回押す。

[root@web1 ~]# nano /etc/ "tc/"が補完される。

と、ディレクトリ名 "/etc/" "/e" までタイプしておいて TAB キーを押すと、 "/" の直ぐ下のディレクトリやファイルの名前の中から "e" で始まるものを探してくれます。

"/" の直ぐ下で "e" で始まるものは、ディレクトリ "etc" しかありませんから、この場合は自動的に不足している "tc/" が補完され、入力されたわけです。

次いで、 "sys" までタイプして同様に TAB キーを押します。

[root@web1 ~]# nano /etc/sys

TAB キーを一回押す。

[root@web1 ~]# nano /etc/sys ビープ音が鳴るだけ。

ここでもう一度 TAB キーを押すと、今度は、 "/etc/" 以下で、 "sys" から始まるディレクトリやファイルの一覧が表示されます。

TAB キーをもう一回押す。

[root@web1 ~]# nano /etc/sys
sysconfig      syslog.conf
sysctl.conf     syslog.conf.rpmnew "sys"で始まるコマンドが一覧表示される。
[root@web1 ~]# nano /etc/sys

つまり、対象となる "/etc/" ディレクトリに以下に、 "sys" で始まるディレクトリとファイルの候補が複数(この場合は四つ)存在するケースでは、 TAB キーを二回押すことで「補完対象の候補」が表示されるわけです。

この「補完対象の候補」を見ればお分かりのとおり、目的のディレクトリ名 "sysconfig/" を一度の TAB 操作で補完するには、 "sysco" までタイプしておけば良いことがお分かりと思います。

[root@web1 ~]# nano /etc/sysco

TAB キーを一回押す。

[root@web1 ~]# nano /etc/sysconfig/ "nfig/"が補完されました。

同様にして、

[root@web1 ~]# nano /etc/sysconfig/net

TAB キーを一回押す。

[root@web1 ~]# nano /etc/sysconfig/net ビープ音が鳴るだけ。

TAB キーをもう一回押す。

[root@web1 ~]# nano /etc/sysconfig/net
netdump    netdump_id_dsa.pub network-scripts
netdump_id_dsa network      networking "net"で始まるコマンドの一覧表示。
[root@web1 ~]# nano /etc/sysconfig/netw  "w"をタイプして追加。

TAB キーを一回押す。

[root@web1 ~]# nano /etc/sysconfig/network "ork"が補完されました。

このように「コマンドの補完機能」は 実行できるコマンド名 だけではなく、 存在するファイル名 も呼び出すことが可能です。

こういうふうにひとつの操作毎に説明を入れると「なんだか面倒くさそう」と思われるかもしれませんが、慣れてくると自然に指が動くようになり、タイプミスが減って操作が格段に早くなります。

最初は戸惑うかもしれませんが、一度慣れてしまうともう二度と手放せない機能です。積極的に利用することをオススメします。

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System