• ベストアンサー

$ ls ‘*’と$ echoはどんなことをしているのでしょうか?

Linuxのコマンドの質問です。 $ ls ‘*’と$ echo ‘*'は、どんなことをしているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

質問文では全角の‘と’になっていますが、もし全角ならその文字通りの意味です。 ls ‘*’は「‘」で始まって「’」で終わるファイルを表示します。無ければエラー。 echo ‘*' も同じですが、無い場合はエラーでなく「‘*'」を表示します。 以下、半角の`と'だとして回答します。 `も'もシェルの特殊記号です。`・・・` や '・・・・' のように2つ組で文字列を囲んで初めて意味があります。 一つだけ書くと、終わりを意味するもう一つを入力するまで、 > が出て続きを書くことを求められます。 ` は、「コマンド置換機能」、' はシングルクォート(引用符の一種)です。 シェルの入門書を読んでください。 通常の英文では、“・・・”のように引用符の最初と最後は違う記号ですが、シェルの場合は同じ記号で囲みます。

enbonbon
質問者

お礼

自己解決しました。 ご丁寧な解説ありがとうございました!

enbonbon
質問者

補足

ありがとうございます。 ファイルとかなにか作成されたりするのでしょうか? 書いた内容はなにかに反映されたりするでしょうか?

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

引用符で囲まない場合の質問ですよね。 ls * 現在のディレクトリにあるファイル・ディレクトリを表示する。ディレクトリについてはその下のファイル・ディレクトリを表示する。 echo * 現在のディレクトリにあるファイル・ディレクトリを表示する。 いずれも、* を「現在のディレクトリにあるファイル・ディレクトリ」に置き換えるのはlsやechoのコマンドではなくシェルです。このときピリオドで始まるファイル・ディレクトリは対象外になります。

enbonbon
質問者

補足

すみません。 引用符とは‘’のことですか? これで*囲んだ場合の質問ということで、お願いします。 説明不足してすみません。 $ ls ‘*’と$ echo ‘*'、実行すると、 > が表示され、入力できるようになります。 エンターを押すと改行できるようになります。 しかし、いったいこのコマンドがどんな命令なのか分かりません。

関連するQ&A