ls
コマンドは、指定したディレクトリ内にあるファイルやディレクトリを一覧表示するコマンドです。
ls {ファイルパス}
というふうに使用します。もし、ファイルパスの指定を省略した場合は
デフォルトでカレントディレクトリ(ターミナルで今いる場所のディレクトリ)が使われます。
これを踏まえた上で、まずは下の方のコマンドを見てみましょう。
今回、Logarithmさんは次のように打っています。今回はファイルパスを指定していないのカレントディレクトリのファイル一覧を表示します。
ls
#結果
Desktop Music など...
出力から察するに、おそらくホームディレクトリ(/home/{ユーザ名}/)がカレントディレクトリになっていると思います。
ちなみに、カレントディレクトリがどこなのかはpwd
コマンドを実行すると確認できます。
次にls /
ですが、これはパス/
が指定されているので、/
のファイル一覧を表示します。
/
はルートディレクトリを表します。なのでls /
はルートディレクトリのファイル一覧が表示されます。
もし、ここまでの話がよくわからない場合、ls
コマンドについて調べる前にLinuxのディレクトリ構造についてインターネットなりで調べてみてください。そうしたら多分何の話かわかると思います。
ここまで踏まえて最初の質問であるコマンドを見てみましょう。最初のコマンドは
としていますね。ba*
の*
はワイルドカードといい、任意の文字列を表します。つまり、ba*
はba
から始まるファイル名なりフォルダ名なりを示しています。つまり、ls ba*
は、「baから始まるファイルやフォルダを一覧表示する」ことになります。
ここまで踏まえて、なぜLogarithmさんが実行したコマンドと、ほんのコマンドで違う結果が出力されたのかというと、
コマンドを打った時に、カレントディレクトリにbaから始まるファイルがないからです。
私は書籍の内容を知らないので詳細はわからないですが、おそらく書籍の方の結果は実行結果の例として書かれているか、実行するコマンドのディレクトリが間違っているかだと思います。