回答:
$ man ls
...
-d, --directory
list directories themselves, not their contents
現在のディレクトリは、リストされ.ているものとして表されls -dます。
現在のディレクトリ内のディレクトリはディレクトリの内容であるため、このオプションでは表示されません。
-dエイリアスでオプションを使用して、非表示のファイルとディレクトリを表示します
alias l.='ls -dC .* --color'
がなければ-d、これは隠しディレクトリの内容もリストしますが、これは私が望んでいるものではありません。
別の用途-lは、コンテンツではなくオプションを使用してディレクトリのメタデータを表示する場合です。
$ ls -ld playground
drwxr-xr-x 72 zanna zanna 12288 Mar 1 23:10 playground
現在のディレクトリ内のディレクトリのリストが必要な場合は、使用できます
ls -d */
man lsは、次の情報がありますlist directory entries instead of contents, and do not derefer‐ ence symbolic links。だからあなたのバージョンでは、それが本当に何をするのかについてのより良い説明があります。
lswithのみを使用して-dもほとんど役に立ちません。ディレクトリ自体に関する情報を提供します。内容はリストしません。
そのため、ディレクトリのリストが表示されません。予想されるディレクトリは、現在のディレクトリの「コンテンツ」です
単に実行するとls -d、現在のディレクトリが表示され.ます。
のような他のキーで実行するのが理にかなっている場合-l。
ls -ld 現在のディレクトリの権限が表示されます。
pilot6@Pilot6:~$ ls -ld
drwxrwxr-x 1 pilot6 pilot6 2570 Mar 4 12:14 .
次のような他のディレクトリの権限も確認できます
ls -ld /bin
pilot6@Pilot6:~$ ls -ld /bin
drwxr-xr-x 1 root root 2584 Feb 25 15:19 /bin
実行ls -lせずに実行-dすると、現在のディレクトリにあるファイルとフォルダーのすべての権限のリストが表示されます。あなたがそれを必要としないなら、それはls -ld使用法の良い例です。
次の方法で現在のディレクトリをリストできます。
ls -d */
ls -dパラメータなしでは常に返されるため、単独で使用することはほとんど役に立ちません.。パラメータを指定した後、それは理にかなっています。たとえば、ユーザー名がrickあり、自宅のすべてのディレクトリを使用する場合は、次を使用します。
$ ls -d /home/rick/*/
/home/rick/AAC/ /home/rick/EnhanceIO/ /home/rick/silentcast/
/home/rick/assembly/ /home/rick/EnhanceIO-master/ /home/rick/Templates/
/home/rick/bin/ /home/rick/log/ /home/rick/test/
/home/rick/Desktop/ /home/rick/Music/ /home/rick/tmpe/
/home/rick/Documents/ /home/rick/Pictures/ /home/rick/Videos/
/home/rick/Downloads/ /home/rick/Public/
例で説明しましょう:
ls:ディレクトリの内容を一覧表示する
ls -dまたはls --directory:内容ではなくディレクトリ自体をリストします
例:
ls -d android-sdk-linux/
# result
android-sdk-linux/
ls android-sdk-linux/
# result
add-ons build-tools platforms platform-tools SDK Readme.txt temp tools
これのあなたのケースはls -d、私がそのコンテンツではないディレクトリを表示するだけであると言います(つまり.、Linux用語で)ので、結果は次のようになります.。
しかし、次のように言っていた場合:ls、現在のディレクトリに存在するすべてが表示され.ます。
ls -dC .* --colorまた、ディレクトリだけでなく隠しファイルもリストします。