SSブログ

コマンド入力の基本 [概論・概要]

 さて。
 これまで、何度と無くコマンドを入力してもらってきたが、「コマンド入力」の方法についても基本的に押さえておきたい点があるので説明しておく。

 まず、コマンド名。これは正確に入力すること。(当たり前)
 たとえば、「passwd」コマンドを使うつもりで「password」なんて入力したりすると、当然のごとくエラーになる。
[piro791@kagami ~]$ password
-bash: password: command not found

 「command not found」…コマンドが見つかりませんというエラー。

 次に、多くのコマンドは「オプション」と「引数」をとる。
 「オプション」とは、そのコマンドの動作を変化させる場合に指定するもので、多くの場合は「-」(ハイフン)に続けてアルファベットや数字をとる。また、「--」(ハイフン2個)に続けて何らかの単語・キーワードを指定することもある。
 「オプション」はほとんど例外なく省略可能で、特に凝ったことを要求しない場合などは省略することが多い。

 それでは、「オプション」を取ったり付けたりすることでコマンドの動作が変化するという実例を見てみることにしよう。

 前アーティクルで使った「ls」コマンド。ろくすっぽ説明していないが、詳しいことはまた別アーティクルで説明する。
 この「ls」コマンドには、「オプション」をつけて実行している。コマンド名の「ls」に続けて「-la」と入力した部分。これが「オプション」に該当する。
 「-la」をつけて実行した時はこんな風に表示された。
[piro791@kagami ~]$ ls -la
合計 40
drwx------ 2 piro791 piro791 4096  1月 18 11:58 .
drwxr-xr-x 3 root    root    4096  1月  6 12:46 ..
-rw------- 1 piro791 piro791  149  1月 15 19:24 .bash_history
-rw-r--r-- 1 piro791 piro791   33  1月  6 12:46 .bash_logout
-rw-r--r-- 1 piro791 piro791  176  1月  6 12:46 .bash_profile
-rw-r--r-- 1 piro791 piro791  124  1月  6 12:46 .bashrc
-rw------- 1 piro791 piro791   35  1月 18 13:45 .lesshst
-rw-rw-r-- 1 piro791 piro791    7  1月 15 13:02 hoge
-rw-rw-r-- 1 piro791 piro791    7  1月 15 15:14 lesson1.txt

 前アーティクルまでで見た内容のままである。
 続いて、「オプション」を変えてみよう。「-la」とした部分を「-l」にしてみる。(「a」を省略する)
[piro791@kagami ~]$ ls -l
合計 8
-rw-rw-r-- 1 piro791 piro791 7  1月 15 13:02 hoge
-rw-rw-r-- 1 piro791 piro791 7  1月 15 15:14 lesson1.txt

 表示内容が変化した。いくつかのファイルが表示されなくなったことがわかるだろうか。これが、「コマンドの動作が変化」したということ。
 では、「-l」も省略したらどうかるだろうか。(オプションそのものを省略した場合)
[piro791@kagami ~]$ ls
hoge  lesson1.txt

 表示内容がさらに劇的に変化した。ファイルのモードとか所有者とかファイルの大きさとか全部ばっさり省略され、ファイル名しか表示されなくなっていることがわかる。

 今度は、「-la」の「l」を省略し、「-a」だけに指定してみよう。すると…
[piro791@kagami ~]$ ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .lesshst  hoge  lesson1.txt

 このように、表示されるファイルの数が増えたが、ファイルの詳しい情報は表示されていない。

 lsコマンドでは、「l」と「a」とでそれぞれ異なる機能を持っていて、それを付けたり外したり組み合わせたりすることで、コマンドの動作結果を変化させることが出来ていることがわかる。

 「オプション」は、今例示したlsコマンドのように、ハイフンに続けて複数のオプション指定をまとめることも出来る。逆に、それぞれのオプション指定にハイフンをつけてバラバラに指定することもできる。
 lsコマンドの場合、「-la」と指定したが、これを「-l -a」というように、「l」と「a」とを分けて記述することもできるという意味。
 試してみよう。
[piro791@kagami ~]$ ls -la
合計 40
drwx------ 2 piro791 piro791 4096  1月 18 11:58 .
drwxr-xr-x 3 root    root    4096  1月  6 12:46 ..
-rw------- 1 piro791 piro791  149  1月 15 19:24 .bash_history
-rw-r--r-- 1 piro791 piro791   33  1月  6 12:46 .bash_logout
-rw-r--r-- 1 piro791 piro791  176  1月  6 12:46 .bash_profile
-rw-r--r-- 1 piro791 piro791  124  1月  6 12:46 .bashrc
-rw------- 1 piro791 piro791   35  1月 18 14:13 .lesshst
-rw-rw-r-- 1 piro791 piro791    7  1月 15 13:02 hoge
-rw-rw-r-- 1 piro791 piro791    7  1月 15 15:14 lesson1.txt
[piro791@kagami ~]$ ls -l -a
合計 40
drwx------ 2 piro791 piro791 4096  1月 18 11:58 .
drwxr-xr-x 3 root    root    4096  1月  6 12:46 ..
-rw------- 1 piro791 piro791  149  1月 15 19:24 .bash_history
-rw-r--r-- 1 piro791 piro791   33  1月  6 12:46 .bash_logout
-rw-r--r-- 1 piro791 piro791  176  1月  6 12:46 .bash_profile
-rw-r--r-- 1 piro791 piro791  124  1月  6 12:46 .bashrc
-rw------- 1 piro791 piro791   35  1月 18 14:13 .lesshst
-rw-rw-r-- 1 piro791 piro791    7  1月 15 13:02 hoge
-rw-rw-r-- 1 piro791 piro791    7  1月 15 15:14 lesson1.txt

 このように、「-la」と「-l -a」とは同じ動作をしている。

 なお、コマンドによっては「--」(ハイフン2個)でオプションを指定するケースもある。lsでも可能なので、その例を示しておく。「-la」と全く同じことをするオプションを「--」(ハイフン2個)で指定すると…
[piro791@kagami ~]$ ls --format=long --all
合計 40
drwx------ 2 piro791 piro791 4096  1月 18 11:58 .
drwxr-xr-x 3 root    root    4096  1月  6 12:46 ..
-rw------- 1 piro791 piro791  149  1月 15 19:24 .bash_history
-rw-r--r-- 1 piro791 piro791   33  1月  6 12:46 .bash_logout
-rw-r--r-- 1 piro791 piro791  176  1月  6 12:46 .bash_profile
-rw-r--r-- 1 piro791 piro791  124  1月  6 12:46 .bashrc
-rw------- 1 piro791 piro791   35  1月 18 14:13 .lesshst
-rw-rw-r-- 1 piro791 piro791    7  1月 15 13:02 hoge
-rw-rw-r-- 1 piro791 piro791    7  1月 15 15:14 lesson1.txt

 「-l」の代わりに「--format=long」と書き、「-a」の代わりに「--all」と書いている。まあ、めったにこんな書き方はしないと思うけどもね…

 続いて、コマンドに指定する「引数」の方。
 これは、多くの場合はコマンドが処理する対象となるファイルや情報をコマンドに通知する際に指定するように用いる。

 すでに「vi」コマンドを練習したときにこの「引数」を指定している。「vi」コマンドに続けて指定した、「lesson1.txt」というファイル名がソレである。「引数」として「lesson1.txt」を指定することで、viコマンドはどのファイルを編集すればよいか判るのであった。

 ちなみに、lsコマンドも「引数」を取ることが出来る。たとえば、viと同じようにlsコマンドに「引数」として「lesson1.txt」と指定してみよう。
[piro791@kagami ~]$ ls lesson1.txt
lesson1.txt

 このように、lsコマンドが処理をすべき対象が特定されることになる。lsコマンドは「引数」として指定されたファイル「のみ」を対象として処理を行っている。

 「オプション」と「引数」とは組み合わせて用いることもできる。lsコマンドで、
  ・「-l」オプションの機能
  ・lesson1.txt のみを対象とする
 というような処理を行いたい場合、「オプション」と「引数」と、両方を指定すればよい。
[piro791@kagami ~]$ ls -l lesson1.txt
-rw-rw-r-- 1 piro791 piro791 7  1月 15 15:14 lesson1.txt

 このようになる。
 なお、「オプション」と「引数」とは、通常「オプション」→「引数」の順に記述するのが一般的である。ただし、「オプション」の一部のパラメータとして先頭にハイフンが付かない記述をすることもあるので注意が必要である。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。