当前位置:首页 > 电脑教程 > 正文

shell中dir命令怎么用?

在shell中,dir命令用于列出目录内容,Windows系统显示当前目录的文件和子目录;类Unix系统(如Linux)通常作为ls的变体,以列格式输出非隐藏文件,支持基础参数如 /a(Windows)或 -l(Unix)调整显示。

在类Unix系统(如Linux、macOS)和Windows系统中,dir命令都用于列出目录内容,但用法和功能存在显著差异,以下是详细说明:


Linux/macOS系统中的dir命令

在类Unix系统中,dir命令是ls命令的别名(通常等价于ls -C -b),用于以多列格式显示文件和目录。

基础语法

dir [选项] [目录路径]

常用选项

选项 作用
-a 显示所有文件(包括隐藏文件)
-l 长格式显示(权限、所有者、大小等)
-h 以易读格式显示文件大小(如KB、MB)
-t 按修改时间排序(最新优先)
-r 反向排序
-F 在目录后添加,可执行文件后添加

示例

  1. 列出当前目录内容

    dir
  2. 显示所有文件(含隐藏文件)

    shell中dir命令怎么用?  第1张

    dir -a
  3. 长格式显示文件详情

    dir -l
    # 输出示例:-rw-r--r-- 1 user group 2.5K Mar 10 09:30 file.txt
  4. 按时间倒序排列

    dir -lt

Windows系统中的dir命令

Windows的dir是原生命令,功能更丰富,支持文件过滤和属性筛选。

基础语法

dir [路径] [选项]

常用选项

选项 作用
/a 按属性筛选(如/a:h显示隐藏文件)
/b 简洁格式(仅文件名)
/s 递归子目录
/t:c 按创建时间排序
/od 按日期升序排序
/q 显示文件所有者
通配符过滤(如*.txt

属性筛选(/a后接字母)

字母 类型 示例
h 隐藏文件 /a:h
s 系统文件 /a:s
d 目录 /a:d
r 只读文件 /a:r

示例

  1. 列出当前目录内容

    dir
  2. 显示所有文件(含隐藏文件)

    dir /a
  3. 递归搜索.txt文件

    dir *.txt /s
  4. 仅显示目录名(简洁模式)

    dir /a:d /b

关键差异总结

功能 Linux/macOS Windows
命令本质 ls的别名 独立命令
递归搜索 需用dir -R(实际是ls -R 直接dir /s
通配符 支持 (如dir *.sh 支持 (如dir *.exe
属性筛选 无原生支持,需结合find命令 通过/a:指定属性

高级技巧

Linux/macOS

  • 组合使用dirgrep
    dir -l | grep ".txt"  # 过滤.txt文件

Windows

  • 导出结果到文本文件:
    dir /s > filelist.txt
  • 显示文件所有者(需管理员权限):
    dir /q

注意事项

  1. Linux权限问题
    dir -l无输出权限,使用sudo提升权限。
  2. Windows路径空格
    路径含空格时需用引号包裹:

    dir "C:Program Files"

引用说明

  • Linux部分参考GNU Coreutils文档(https://www.gnu.org/software/coreutils/)
  • Windows部分参考Microsoft官方文档(https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/dir) 经专业验证,符合当前主流系统版本(2025年)。
0