Linuxのアスタリスクの意味について 今Linuxの基礎を勉強しているのですが、アスタリスクの役割がいくら調べてみても複雑すぎて理解できません…。 とりあえず今の私の認識ですと、

Linux系 | プログラミング143閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

2

2人がナイス!しています

ThanksImg質問者からのお礼コメント

皆様の回答全て読ませていただきまして、大変理解が深まりました。 一番最初に回答してくださった方をベストアンサーとして選ばせていただきます! 本当にありがとうございました。

お礼日時:5/25 15:55

その他の回答(2件)

1

回答されている方もおっしゃっているように、「*」には下記の2つがあります。 ・シェルがファイル名を展開するための「*」記号 ・コマンドが何かを行うための「*」記号 ○「grep A *.txt」のようにファイル名のところに「*」記号がある場合は、シェルがファイル名を展開してからコマンドの引数に渡して起動します。grepにはファイル名を記載する箇所に「*」を指定された場合にそれを実際のファイル名に展開する機能はありません。 ○ 一方、findコマンドの-name引数には正規表現を解釈する機能があり、この機能を使うためにはシェルに展開させないためにダブルクォートで囲むのです。 例えば、「find . -name *.txt -print 」と書いてしまうとシェルが*.txtをファイル名に展開してしまいます。 例えば、A.txt B.txt C.txtがフォルダにあった場合: # find . -name *.txt -print は # find . -name A.txt B.txt C.txt -print とシェルが解釈してfindを起動します。当然、「-name A.txt」は引数としても正しいですがその後の「B.txt C.txt」は引数として正しくないためエラーになります。 そこで素直に-name引数に「*.txt」を渡してほしいのでダブルクォートで囲みます。 他の回答者もおっしゃっていますが、コマンドごとに引数に正規表現が指定できるのかちがうので注意してください。

1人がナイス!しています

1

①コマンドがファイルとして認識する部分に適用されます。 ②コマンド固有のパラメータはコマンド毎の仕様に従います。 ③アスタリスクをアスタリスクとして使用する場面は少ないですが、使う場合は引用符で囲みます。

1人がナイス!しています