Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
- トップページ
- UNIX(Linux)入門編 - コマンドの構造と注意点について
TechAcademy(テックアカデミー)
当サイト著者の桜舞春人もメンター(先生)としてちょろりと参加しているTechAcademyさんです。爆速で技術を習得して結果を出したいと考える方に超絶おすすめです。
紹介記事はこちらへどうぞ。
運営及び開発費用ご支援のお願い
当サイト(wp-p.info)の情報はお役に立ちましたでしょうか。当サイトでは運営及び開発費用ご支援の募集をさせて頂いております。よろしければご支援についてご検討頂けませんでしょうか。何卒宜しくお願い致します。
コマンドの構造と注意点について
みなさまどうも。
続きましてUNIX系OSのコマンドの仕組みというか構造みたいなやーつとちょっとした注意点についてやっていきましょう。
まず前回紹介したPCの電源を切るコマンド『shutdown -h now』がありましたがこれはどういった構成になっているのかというとこういった構成になっています。日本語で書いてみました。
コマンド名 オプション(複数可) 引数(複数可)
このように『コマンド』などを記述した後に半角スペースを区切り文字として『オプション』とか『引数』(ひきすう)を指定しつつ実行するような形になります。各部分についてそれぞれみていきましょう。
まず『コマンド名』って部分ですね。これはその名の通り実行したいコマンドを書けばOKで今回の場合は『shutdown』が該当します。
これは複数来る事は滅多にないので最初に打ち込む単語はコマンド名だなってイメージを持ってしまってOKです。
次に『オプション』についてですが『オプション』を指定したい場合は『shutdown -h now』の『-h』のように頭に『-』を置くのが一般的な形式となっています。さらに頭に『-』では無く『--』を付ける形式になっているコマンドも多いのでこれも覚えておいて下さい。
そんでもって『オプション』は複数指定できるようになっている場合が多いのでそこも注目ですね。
そして最後の『引数』ですが、これは「処理を行うファイルを指定したり」とか「移動先を指定したり」とかそういう使われ方をするものになり、イメージとしては「処理を行う対象や目的を指定する」というような感じでOKかなと思います。英語文法で言うと「目的格」みたいな感じですかね。あと『引数』は「いんすう」では無く「ひきすう」と読みますのでそこもちょいとご注意です。
この『オプション』と『引数』についてはUNIXをいじっていくうちに自然と把握できるものなのでこの時点で特別意識する必要はありません。よく分からんくても次に進んでしまってOKです。
そして何かコマンドを実行させる際の『コマンド名』は必須となりますが『オプション』と『引数』は必須ではございません。
例えば前回解説したPCの電源を切る『poweroff』ってコマンドありましたよね。あれが『オプション』も『引数』も無いコマンドとなりますので「こんな感じなんだなー」ってイメージを持つと良いかもです。
ただちょっと注意点となりますが、これらのことは「コマンドを作る(プログラムを作る)際に絶対に守らないといけないかと言われると全くそんな事はない」ので気をつけて下さい。
この部分はコマンド(ソフトウェア)を作るプログラマーさんが好きなように構成出来る部分なので『オプション』だけど『-』を付けないようにしてもOKだし『_』を付けるようにするとしてもOKだし〜って感じで好きなように出来ちゃいます。
まあコマンドを0からプログラミングするときに上記のお作法を守らず作る必要性はまず無いのでほぼ上記のルールが採用されてますが念のため覚えておいて下さい。
そしてちょっとした小テクみたいなものですが『オプション』は複数をまとめて指定できる仕組みになっているものが多いのでそれも軽く紹介しておきます。
今現在のディレクトリの中身を出力出来る『ls』コマンドという子が居るのですが、この『ls』コマンドは「隠しファイルとかも全て表示する」という機能を持った『a』オプション、中身を詳細出力してくれる『l』オプションが用意されています。『ls』コマンドの『オプション』の頭に付ける接頭詞は『-』です。
ということはこれまでのことを鑑みるに『a』と『l』をオプションとして『ls』コマンドを実行させるとなるとこういう感じになりそうですよね。
[root@localhost ~]# ~]$ ls -a -l
これでも問題なく実行出来て大正解なのですが実は『オプション』は以下のようにまとめることができます。
[root@localhost ~]# ~]$ ls -al
『-a -l』ではなく『-al』となっていますね。このように「『-』をぽんっと置いてその後に必要なだけ『オプション』を指定する」という記法が使えますのでこれも覚えておきましょう。
ちなみに実行するコマンドによってはNGな場合もありますので100%イケるというわけではないのでそこは気をつけて下さい。
あと『オプション』を指定する順番も自由であることが多いです。なのでさっきのコマンドを以下のようにしても同じ結果となります。『-al』が『-la』になっているところに注目です。
[root@localhost ~]# ~]$ ls -la
ただしこちらもコマンドによってはNGとなる場合がありますので気をつけて下さい。
さてここで避けたほうが良い項目や気をつけるべき項目がいくつかあるのでちょいと確認していきます。
まずUNIX系OSではコマンドやファイル名などの大文字と小文字は区別されるようになっている場合と区別されない場合があります。
例えば『ls』コマンドを打ちたい、となった場合に『CentOS』で以下のように打つとダメでございます。
[root@localhost ~]# ~]$ LS -la
[root@localhost ~]# ~]$ Ls -la
じゃあ『MacOS』の『ターミナル』で上記のコマンドを打つとどうなるか、というとちゃんと動いちゃいます。
これ結構ややこしいのでUNIX系OSでは特別な事がない限り小文字のみを使って構成する事がおすすめかもですね。まあこの辺はお好みになってしまうかもですが頭の片隅にでも置いておいて下さい。
続いてファイル名についてです。
ほぼ全てのUNIX系OSではファイル名に『-』を使うことができ、それをファイル名の頭に持っていく事も出来ます。ということはつまり『-a』というようなファイル名も生成できるという事になり、こういうファイルを作るとコマンドを打つ際に「オプションなのかファイル名なのかが区別できなくなってしまう」という事態が起こってしまうので「ファイル名の頭に『-』を付けるべきではない」という暗黙の了解みたいなものがあったりします。
例えば『cat』というコマンドがありましてこの子はファイルの中身を出力してくれるコマンドなのですが『-n』とオプションを付けてファイル名を引数で渡すと行番号を付けた状態で出力してくれるようになります。こんな感じですね。
[root@localhost ~]# ~]$ cat -n ファイル名
じゃあ上記の事を踏まえて『-n』というファイル名が付けられたファイルを開こう、となるとこうなりますよね。
[root@localhost ~]# ~]$ cat -n
これ動くかどうかと聞かれるとご想像の通り動きません。『-n』という部分がオプションの扱いになってしまっていてファイル名と認識されていないのですね。
じゃあ『-n』ってファイルをどうしても『cat』コマンドで出力したい場合はどうするかというとこうします。
[root@localhost ~]# ~]$ cat -- -n
なにやら『--』が入っていますね。このように「『--』と付けるとそこから先は全てオプション意外のものとして扱う」事が出来ますので『cat -- -n』とすることでちゃんと『-n』と名付けられたファイルの内容を出力することが出来ます。
ただこんな事をいちいちするのも面倒くさいだけですよね。なので特別な理由がない限りは「『-』を頭に付けたファイルは作成しない」という事を守るようにするのがベストなわけでございます。
というわけでコマンドの構造とコマンド周りに関する注意事項は以上となりますね。
次の記事ではUNIX系OSのCUI操作の基本となる『ファイルシステム』についてと『cd』コマンドと『pwd』コマンドの解説をやっていきます。
ではまたお会いしましょう。
この記事は桜舞が執筆致しました。
![]() 著者が愛する小型哺乳類 |
桜舞 春人 Sakurama HarutoISDN時代から様々なコンテンツを制作しているちょっと髪の毛が心配な東京在住のプログラマー。生粋のロングスリーパーで、10時間以上睡眠を取らないと基本的に体調が悪い。好きなだけ寝れる生活を送るのが夢。ゲームとスポーツと音楽が大好き。誰か髪の毛を分けて下さい。 |
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。
TechAcademy(テックアカデミー)
当サイト著者の桜舞春人もメンター(先生)としてちょろりと参加しているTechAcademyさんです。爆速で技術を習得して結果を出したいと考える方に超絶おすすめです。
紹介記事はこちらへどうぞ。
Introduction
当サイトでは有料会員様の募集をしております。現在約431本の記事を公開中です。
有料会員になるとこれら全ての記事が読み放題となります。
お申込み頂ける際はログインまたはアカウント作成後、有料会員件をご購入下されば幸いです。有料会員権はまとめ買いがお得です。
現在の有料会員権一覧sale中!!
30日分980円
月額約980円、日額約32円
90日分通常2940円のところ1980円 (960円OFF)
月額約660円、日額約22円
180日分通常5880円のところ2980円 (2900円OFF)
月額約496円、日額約16円
360日分通常11760円のところ4980円 (6780円OFF)
月額約415円、日額約13円