插件窝 干货文章 linux找出子目录有哪些

linux找出子目录有哪些

递归 目录 使用 bash 706    来源:    2025-04-30

在Linux系统中,有多种方法可以列出当前目录下的子目录。以下是几种常用的方法:

1. 使用 ls 命令

ls -d */
  • -d 选项确保只显示目录本身,而不是目录内容
  • */ 通配符匹配所有目录

2. 使用 find 命令(递归查找)

find . -type d
  • . 表示当前目录
  • -type d 只查找目录类型

如果只想查找直接子目录(非递归):

find . -maxdepth 1 -type d

3. 使用 tree 命令(需安装)

tree -d
  • -d 只显示目录
  • 默认会递归显示所有子目录

如果只想显示一级子目录:

tree -d -L 1

4. 使用 echo 命令

echo */

5. 使用 ls + grep 过滤

ls -l | grep '^d'
  • ls -l 长格式输出
  • grep '^d' 过滤出以d开头的行(目录)

6. 使用 awk 处理 ls 输出

ls -l | awk '/^d/ {print $9}'

7. 使用 stat 命令(显示详细信息)

stat */ --printf="%n\n"

注意事项:

  1. 以上命令默认显示隐藏目录(以.开头的目录)
  2. 如果要排除隐藏目录,可以: bash ls -d */ | grep -v '^\.'
  3. 在脚本中使用时,推荐使用 find 命令,因为它最可靠

选择哪种方法取决于你的具体需求(是否递归、是否需要额外信息等)。