Linux查看下一级目录的实用方法与命令详解

LEAF
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并回车,即可显示当前目录下的所有文件和下一级子目录(混合显示)。

Linux查看下一级目录的实用方法与命令详解

示例
假设当前目录为/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.txtfile2.pdf)和子目录(subdir1subdir2.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:以人类可读格式显示文件大小(如KM),常与-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 可视化层级结构,直观 需要展示目录嵌套关系

选择建议:

  • 日常快速查看:优先使用lsls -d */,简单高效;
  • 需要目录详细信息:用ls -l | grep "^d"
  • 按条件筛选子目录:用find命令,支持复杂逻辑;
  • 可视化目录结构:用tree -L 2,适合展示层级关系。

通过掌握以上方法,用户可以根据实际需求灵活选择,高效查看Linux系统中的下一级目录,提升文件管理效率。

文章版权声明:除非注明,否则均为XMSDN - MSDN原版系统镜像 | 纯净ISO系统下载原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码