Linux查看下一级目录常用ls、tree、find等命令,ls命令配合-l、-a、-F选项可查看目录内容详情,如ls -l dir/显示dir下文件详细信息及权限;tree -L 1以树状结构直观展示下一级目录层级;find . -maxdepth 1 -type f/d则精准筛选当前目录下的文件或子目录,ls -R可递归显示所有子目录,但需结合maxdepth限制层级,这些方法各有侧重,可根据需求灵活选择,高效实现目录内容查看与管理。
在Linux系统中,目录结构是文件管理的基础,无论是日常运维、开发调试还是系统管理,经常需要查看当前目录的下一级子目录(即直接子目录,不包括更深层次的目录),本文将详细介绍几种常用方法,帮助用户快速、准确地查看下一级目录,并附上具体示例和场景说明。
使用ls命令:最基础、最常用的方法
ls(list)是Linux中最基础的文件/目录列表命令,默认会显示当前目录下的所有文件和子目录(包括隐藏文件,以开头),通过结合不同选项,可以灵活满足查看下一级目录的需求。
基本用法:直接列出下一级子目录
在终端中进入目标目录,输入ls并回车,即可显示当前目录下的所有文件和下一级子目录(混合显示)。

示例:
假设当前目录为/home/user/docs,其结构如下:
/home/user/docs/
├── file1.txt
├── file2.pdf
├── subdir1/
├── subdir2/
└── .hidden_dir/
执行ls命令:
ls
输出结果:
file1.txt file2.pdf subdir1 subdir2 .hidden_dir
可以看到,ls默认列出了所有文件(file1.txt、file2.pdf)和子目录(subdir1、subdir2、.hidden_dir),其中.hidden_dir是隐藏目录(以开头)。
只显示下一级子目录(过滤文件)
如果只想显示下一级子目录,不显示文件,可以通过以下两种方式实现:
方法1:结合grep过滤文件类型
ls -l会以长格式显示文件/目录信息,其中目录的权限字段首字符为d(文件为),结合grep可以只筛选目录:
ls -l | grep "^d"
示例(继续以上目录结构):
ls -l
输出:
-rw-r--r-- 1 user user 123 Jan 1 10:00 file1.txt
-rw-r--r-- 1 user user 456 Jan 1 10:01 file2.pdf
drwxr-xr-x 1 user user 789 Jan 1 10:02 subdir1
drwxr-xr-x 1 user user 101 Jan 1 10:03 subdir2
drwxr-xr-x 1 user user 202 Jan 1 10:04 .hidden_dir
再执行ls -l | grep "^d":
drwxr-xr-x 1 user user 789 Jan 1 10:02 subdir1
drwxr-xr-x 1 user user 101 Jan 1 10:03 subdir2
drwxr-xr-x 1 user user 202 Jan 1 10:04 .hidden_dir
此时仅显示下一级子目录及其详细信息(权限、所有者、大小、修改时间等)。
方法2:使用ls -d */(推荐)
-d选项表示“显示目录本身,而非其内容”,是通配符,匹配所有以结尾的子目录(即所有下一级子目录),执行后会只显示子目录名称,不显示文件和隐藏目录(除非显式指定)。
示例:
ls -d */
输出:
subdir1/ subdir2/
如果想包含隐藏目录,可以添加-a选项(显示所有文件,包括隐藏):
ls -d .*/
输出:
.hidden_dir/
结合使用可同时显示普通子目录和隐藏子目录:
ls -d */ .*/ 2>/dev/null # 2>/dev/null 隐藏"没有匹配项"的警告
其他常用ls选项
-
-F:区分文件类型,目录显示为,文件显示为(可快速识别目录):ls -F
输出:
file1.txt file2.pdf subdir1/ subdir2/ .hidden_dir/ -
-h:以人类可读格式显示文件大小(如K、M),常与-l结合使用:ls -lh
输出(目录大小为子目录总大小):
total 16K -rw-r--r-- 1 user user 123 Jan 1 10:00 file1.txt -rw-r--r-- 1 user user 456 Jan 1 10:01 file2.pdf drwxr-xr-x 1 user user 4.0K Jan 1 10:02 subdir1 drwxr-xr-x 1 user user 4.0K Jan 1 10:03 subdir2 drwxr-xr-x 1 user user 4.0K Jan 1 10:04 .hidden_dir
使用find命令:灵活筛选,适合复杂场景
find命令用于递归查找文件/目录,通过-maxdepth选项可以限制搜索层级,适合需要按条件筛选下一级目录的场景(如按名称、权限等)。
基本语法
find [路径] -maxdepth [层级] -type d
[路径]:默认为当前目录(),可省略;-maxdepth [层级]:限制搜索深度为[层级],1表示仅搜索下一级;-type d:仅查找目录(-type f表示文件)。
示例
示例1:查找当前目录的下一级子目录
find . -maxdepth 1 -type d
输出:
./subdir1
./subdir2
./.hidden_dir
示例2:按名称筛选下一级子目录(如名称包含"dir")
find . -maxdepth 1 -type d -name "*dir*"
输出:
./subdir1
./subdir2
./.hidden_dir
示例3:排除隐藏目录(仅显示普通子目录)
find . -maxdepth 1 -type d -not -name ".*"
输出:
./subdir1
./subdir2
使用tree命令:可视化显示目录层级
tree命令以树形结构展示目录层级,直观清晰,适合需要查看目录嵌套关系的场景,注意:tree默认可能未安装,需先安装(不同系统命令不同)。
安装tree
- Debian/Ubuntu:
sudo apt update && sudo apt install tree
- CentOS/RHEL:
sudo yum install tree
基本语法
tree -L [层级]
-L [层级]:显示指定层级的目录结构,2表示当前目录+下一级子目录。
示例
示例1:显示当前目录及下一级子目录结构
tree -L 2
假设当前目录为/home/user/docs,输出:
/home/user/docs
├── file1.txt
├── file2.pdf
├── subdir1
├── subdir2
└── .hidden_dir
3 directories, 2 files
示例2:只显示目录(不显示文件)
tree -L 2 -d
输出:
/home/user/docs
├── subdir1
├── subdir2
└── .hidden_dir
3 directories
总结与建议
| 命令 | 优点 | 适用场景 |
|---|---|---|
ls(基本用法) |
简单快速,系统自带 | 日常快速查看下一级目录和文件 |
ls -d */ |
仅显示子目录名称,简洁 | 需要快速获取下一级子目录列表 |
ls -l | grep "^d" |
显示目录详细信息 | 需要查看目录权限、大小、修改时间等 |
find |
灵活筛选(按名称、权限等) | 复杂条件下的子目录查找 |
tree |
可视化层级结构,直观 | 需要展示目录嵌套关系 |
选择建议:
- 日常快速查看:优先使用
ls或ls -d */,简单高效; - 需要目录详细信息:用
ls -l | grep "^d"; - 按条件筛选子目录:用
find命令,支持复杂逻辑; - 可视化目录结构:用
tree -L 2,适合展示层级关系。
通过掌握以上方法,用户可以根据实际需求灵活选择,高效查看Linux系统中的下一级目录,提升文件管理效率。


