たとえば、ls -d コマンドは '.' だけを返し、サブディレクトリは返しません。

たとえば、ls -d コマンドは '.' だけを返し、サブディレクトリは返しません。

私には基準がありますエルエスインストールしました私も持っていますエル・エスディインストールしたら、nerd-fontのlsをすぐに置き換えることができます。エラーがエイリアスに関連している可能性があるため、これについて言及します。

すぐにテストするために、alias ls=lsすべてのカスタムコマンドを削除しました。

明らかに、複数のサブフォルダがある/ etcディレクトリに入るとls(-dフラグなしで表示できます)、次の結果が表示されます。

>>>root@Unraid:/etc# ls -d /
/
>>>root@Unraid:/etc# ls -d
.
>>>root@Unraid:/etc# lsd -d

答え1

このオプションを指定すると、ディレクトリの内容が一覧表示されず、ディレクトリ名自体のみが一覧表示されることを意味します-dls追加情報を提供しない場合議論lsデフォルトは、現在のディレクトリを一覧表示することです。したがって、ls -dすべてのバリアントに正しい内容(現在のディレクトリ名)が表示されます。.

答え2

Jeff Schallerの答えロゴの-d仕組みや理由を説明します。この回答では、これがなぜかいつ役に立つのかを詳しく説明したいと思います。

ls -d追加のパラメータがなければほとんど役に立ちません。議論は1つだけで、それもあまり役に立たないと思います。ls -ld dirname権限、所有権、タイムスタンプなどの有用な情報を取得できますがstat dirname

点滅はls -dワイルドカードです。

比較する:

$ ls -l */*
one/a:
total 0
-rw-rw-r-- 1 gholl o16217 0 Mar 25 10:20 aa

one/b:
total 0
-rw-rw-r-- 1 gholl o16217 0 Mar 25 10:20 bb

two/c:
total 0
-rw-rw-r-- 1 gholl o16217 0 Mar 25 10:20 ab

two/d:
total 0
-rw-rw-r-- 1 gholl o16217 0 Mar 25 10:20 oe

そして:

$ ls -ld */*
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 one/a
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 one/b
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 two/c
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 two/d

または

$ ls -l */
one/:
total 8
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 a
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 b

two/:
total 8
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 c
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 d

または

$ ls -ld */*[ac]
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 one/a
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 two/c

ワイルドカードを使用するときは通常これを行います。いいえディレクトリを入力したい。代替は私に、またはls -l */*ディレクトリに関する多くの情報を提供しません。代替案も同様ですが、別の方法で私は通常よりコンパクトな出力を好みます。もちろん、ワイルドカードを使用すると、常にサブディレクトリのすべての内容を一覧表示し、特定の名前だけを一致させることができます。結果はフラグを介してのみ取得できます。one/aone/btwo/ctwo/dls -ld */*ls -l */ls -ld */*ls -l */ls -ld */*[ac]-d

  • -dにワイルドカードを渡すときは、ほとんど常にこのフラグを使用してくださいls
  • -d単一のディレクトリを渡すときにタグをほとんど使用しません。
  • -dパラメータをまったく渡さない場合は、このフラグを使用しません。

答え3

デフォルトでは、lsディレクトリを除く各名前に関する情報が表示されます。ディレクトリが提供されたら、各ディレクトリで名前の一覧を検索し、そのディレクトリに関する情報を表示します。

ただし、この-dオプションはこれを抑制し、lsディレクトリを特別に扱うことなく、単に与えられたすべての名前に関する情報を表示します。

lsパス名引数なしで呼び出されると、指定されたとおりに.動作します。これがないと、-d現在のディレクトリの内容が表示されますが、それを使用すると、観察したとおりに-d単に報告されます.

関連情報