ls でフォルダのみ表示(grep使わない)なら「 -d」付けて ディレクトリ一覧だけ表示する

linuxで一番よく使うコマンドといえば「ls」ですよね。Linuxでlsコマンドは現在のディレクトリにあるファイルやサブディレクトリを一覧表示するために使用されます。

開発をしているとディレクトリ(フォルダ)の一覧だけを参照したいことがよくあります。一般的にはgrepなどのフィルタリングコマンドを使用して表示するファイルやディレクトリを絞り込むと思いますが、lsコマンドには、grepなどのフィルタリングツールを使用しなくても、ディレクトリ(フォルダ)のみを表示するためのオプションがあります。

この記事では、lsコマンドを使用して、grepを使用せずにディレクトリ一覧のみを表示する方法を紹介します。

目次

ls -d オプションで、ディレクトリの一覧を表示

lsコマンドには、様々なオプションが用意されています。その中には、ディレクトリのみを表示するためのオプションもあります。このオプションは、-dです。

次のコマンドを使用すると、現在のディレクトリのディレクトリのみが表示されます。

$ ls -d */
bin/  config/  logs/  plugins/  src/  tests/  tmp/  vendor/  webroot/

このコマンドを実行すると、現在のディレクトリにあるディレクトリのみが表示されます。ファイルは表示されず、ディレクトリの詳細情報も表示されません。

  • -dオプション: このオプションは、ディレクトリ自体の情報を表示し、その中に含まれるファイルやサブディレクトリの情報は表示しません。
  • */ 引数:この引数は、ファイルではなくディレクトリを指定することを示します。

この方法は現在のディレクトリのみを対象としています。特定のディレクトリ内にあるディレクトリのみを一覧表示する場合は、次のようにサブディレクトリのパスを指定する必要があります。

$ ls -d /root/myweb/www/htdocs/mylaravel/src/*/
Auth/  Console/  Controller/  Model/  Shell/  Template/  View/

ls -ld で パーミッション情報を含めて表示する

パーミッションなどの情報が必要な場合は、-dオプションに加えて l(エル)オプションを使用します。記述としては、ls のあとに 「-ld」または [-dl] とdオプションとlオプションを記述します。

$ ls -ld */
drwxr-xr-x  2 members   51 10月 10  2021 Auth/
drwxr-xr-x  2 members   34 10月 10  2021 Console/
drwxr-xr-x  3 members 4096  1月  7  2022 Controller/
drwxr-xr-x  5 members   62 10月 10  2021 Model/
drwxr-xr-x  2 members   37 10月 10  2021 Shell/
drwxr-xr-x 45 members 4096  1月  7  2022 Template/
drwxr-xr-x  3 members   72 10月 10  2021 View/

これで現在のディレクトリにあるディレクトリの詳細な情報が表示されます。アクセス権限などを確認する際に便利な方法です。

ls -R オプションで ディレクトリ配下のサブディレクトリも再起的に表示

さらに、-Rオプションを使用すると、サブディレクトリのディレクトリも含めて、すべてのディレクトリを再帰的に表示することができます。上記の dオプションやlオプションと合わせて利用すると詳細なディレクトリ一覧が表示できます。

以下の階層にいるときに、ディレクトリ「Template」はいかにあるディレクトリを権限付きで一覧表示してみます。

$ ls
Application.php  Auth  Console  Controller  Model  Shell  Template  View


$ ls -Rld ./Template/*/
drwxr-xr-x 2 members   86 10月 10  2021 ./Template/CstRanks/
drwxr-xr-x 2 members   86 10月 10  2021 ./Template/CstTypes/
drwxr-xr-x 2 members 4096 10月 10  2021 ./Template/Customers/
drwxr-xr-x 2 members   67  1月  7  2022 ./Template/DealInits/
drwxr-xr-x 2 members   86 10月 10  2021 ./Template/Documents/
drwxr-xr-x 6 members   85  1月  7  2022 ./Template/Element/
drwxr-xr-x 4 members   40 10月 10  2021 ./Template/Email/
drwxr-xr-x 2 members   56 10月 10  2021 ./Template/Error/
drwxr-xr-x 2 members   88  1月  7  2022 ./Template/Home/
drwxr-xr-x 2 members  110 10月 10  2021 ./Template/Invoicedefers/
drwxr-xr-x 2 members 4096 11月 20  2021 ./Template/Invoicegroups/
drwxr-xr-x 2 members   86 10月 10  2021 ./Template/Invoicelogs/
drwxr-xr-x 2 members   86 11月 18  2021 ./Template/Invoicerows/
drwxr-xr-x 2 members  112  1月  7  2022 ./Template/Invoices/
drwxr-xr-x 4 members 4096 11月 18  2021 ./Template/Layout/
drwxr-xr-x 2 members   99 10月 10  2021 ./Template/Links/
drwxr-xr-x 2 members   86 10月 10  2021 ./Template/MachineNames/
drwxr-xr-x 2 members 4096 10月 10  2021 ./Template/Machines/
drwxr-xr-x 2 members   86 10月 10  2021 ./Template/MakerNames/
drwxr-xr-x 3 members  126  1月  7  2022 ./Template/Ordermanages/

今日はここまでです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次