質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

712閲覧

Linuxのlsコマンドについて

Logarithm

総合スコア80

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2021/11/21 14:44

環境 Vartualbox CentOS
新しいLinuxの教科書という書籍でlsコマンドのページにきたのですが、

Linux

1#書籍のコマンド 2ls ba* 3 4#結果  5base64 basename など... 6 7#私のコマンド 8ls ba* 9 10#結果 11そのようなディレクトリやファイルはありませんみたいな感じの文

そもそもlsコマンドのみ入力すると

Linux

1ls 2 3#結果 4Desktop Music など... 5 6ls / 7bin dev など...

この違いを教えてほしいです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

lsコマンドは、指定したディレクトリ内にあるファイルやディレクトリを一覧表示するコマンドです。

ls {ファイルパス}というふうに使用します。もし、ファイルパスの指定を省略した場合は
デフォルトでカレントディレクトリ(ターミナルで今いる場所のディレクトリ)が使われます。

これを踏まえた上で、まずは下の方のコマンドを見てみましょう。
今回、Logarithmさんは次のように打っています。今回はファイルパスを指定していないのカレントディレクトリのファイル一覧を表示します。

ls #結果 Desktop Music など...

出力から察するに、おそらくホームディレクトリ(/home/{ユーザ名}/)がカレントディレクトリになっていると思います。
ちなみに、カレントディレクトリがどこなのかはpwdコマンドを実行すると確認できます。

次にls /ですが、これはパス/が指定されているので、/のファイル一覧を表示します。
/はルートディレクトリを表します。なのでls /はルートディレクトリのファイル一覧が表示されます。

もし、ここまでの話がよくわからない場合、lsコマンドについて調べる前にLinuxのディレクトリ構造についてインターネットなりで調べてみてください。そうしたら多分何の話かわかると思います。

ここまで踏まえて最初の質問であるコマンドを見てみましょう。最初のコマンドは

$ ls ba*

としていますね。ba**はワイルドカードといい、任意の文字列を表します。つまり、ba*baから始まるファイル名なりフォルダ名なりを示しています。つまり、ls ba*は、「baから始まるファイルやフォルダを一覧表示する」ことになります。

ここまで踏まえて、なぜLogarithmさんが実行したコマンドと、ほんのコマンドで違う結果が出力されたのかというと、
コマンドを打った時に、カレントディレクトリにbaから始まるファイルがないからです。
私は書籍の内容を知らないので詳細はわからないですが、おそらく書籍の方の結果は実行結果の例として書かれているか、実行するコマンドのディレクトリが間違っているかだと思います。

投稿2021/11/21 15:11

編集2021/11/21 17:13
ukyoda

総合スコア386

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Logarithm

2021/11/21 15:35

ルートディレクトリを索引するにはどうすればいいですか?
itagagaki

2021/11/21 15:53

pwaはpwdですね。
ukyoda

2021/11/21 17:11

@Logarithm さん すみません。索引するとは具体的にどういったことを考えていますか? ルートディレクトリのファイルリストを表示したいのであれば`ls /`でできます。 ルートディレクトリに移動したいのであれば`cd`コマンドを使います。 GUIでルートディレクトリを見たいのであれば、GUIの種類によって違ったりするので一概にこうとはちょっと言いづらいです。 @itagagaki さん おっと、思いっきりタイポしてました!! ありがとうございます!
guest

0

ベストアンサー

まず最初に…マニュアルを読みましょう。man lsでマニュアルが表示されます。

質問の答えを書くと、

ls

カレントディレクトリの内容を出力します。

ls /

/(ルートディレクトリ)の内容を出力します。

ls base64 basename

base64 basename の情報を出力します。
もしそのようなファイルやディレクトリが無ければ

No such file or directory

というエラーが出力されます。

ls ba*

シェルがba*をファイル名展開します。
lsは、上記と同様、そのファイル名展開された各パラメータについて情報を出力します。

もしカレントディレクトリにba*に該当するファイルが無い場合には、シェルはファイル名展開せずba*という文字列をそのままlsに渡します。lsはカレントディレクトリにba*というファイルが無ければ上記のようにエラーを出力します。

おそらく、私の説明の中にわからないキーワードもあると思いますので別途調べてください。

投稿2021/11/21 15:44

itagagaki

総合スコア8402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問