菜鸟科技网

dos ls命令怎么用?

这是一个非常经典的问题,因为 ls 并不是 DOS 的原生命令,而是从 Unix/Linux 世界借鉴过来的。

dos ls命令怎么用?-图1
(图片来源网络,侵删)

在传统的 DOS (Disk Operating System) 环境中,没有 ls 命令,DOS 中最核心、最常用的列出文件和目录的命令是 dir


DOS 的原生命令:dir

dir (directory) 是 DOS 环境下查看目录内容的标准命令,它功能强大,并且有很多参数可以调整输出格式。

基本用法

在命令提示符下,直接输入 dir 并按回车:

C:\> dir

这会列出当前驱动器当前目录下的所有文件和子目录。

dos ls命令怎么用?-图2
(图片来源网络,侵删)

常用参数

dir 命令的强大之处在于其丰富的参数:

  • dir /p: 分页显示,当内容很多,一屏显示不下时,会暂停,按任意键继续翻页。
    C:\> dir /p
  • dir /w: 宽格式显示,只显示文件名和扩展名,每行显示多个条目,不显示文件大小、日期和时间等信息。
    C:\> dir /w
  • dir /a: 显示所有文件,包括隐藏文件和系统文件,默认情况下,dir 不会显示这些特殊属性文件。
    • dir /a:h 只显示隐藏文件。
    • dir /a:s 只显示系统文件。
    • dir /a:d 只显示目录。
    • dir /a 显示所有文件(包括隐藏和系统文件)。
      C:\> dir /a
  • dir /o: 排序显示。
    • dir /o:n 按名称排序 (Name)。
    • dir /o:s 按大小排序 (Size)。
    • dir /o:d 按日期和时间排序 (Date)。
    • dir /o:e 按扩展名排序 (Extension)。
      C:\> dir /o:n
  • dir /s: 递归显示,不仅显示当前目录,还会显示所有子目录及其下的文件。
    C:\> dir /s
  • dir [路径]: 列出指定路径下的内容。
    C:\> dir C:\Windows
  • dir [文件名]: 列出指定的文件信息。
    C:\> dir autoexec.bat

为什么会有 ls 命令?—— 来自 Unix/Linux 的借鉴

ls (list) 是 Unix 和 Linux 操作系统中列出目录内容的命令,由于其简洁和高效,许多在 Windows 环境下工作的开发者、系统管理员和高级用户习惯了 ls

ls 的基本用法

在 Unix/Linux 终端中:

$ ls

ls 的常用参数

ls 的参数同样非常丰富,并且通常以单个短横线 开头:

dos ls命令怎么用?-图3
(图片来源网络,侵删)
  • ls -l: 以长格式显示,包含文件的详细信息(权限、所有者、大小、修改日期、文件名等),这是最常用的参数之一。
    $ ls -l
  • ls -a: 显示所有文件,包括以 开头的隐藏文件。
    $ ls -a
  • ls -h: 与 -l 配合使用,以人类可读的格式显示文件大小(如 K, M, G)。
    $ ls -lh
  • ls -R: 递归显示,类似于 DOS 的 dir /s
    $ ls -R
  • ls -t: 按修改时间排序,最新的在最前面。
    $ ls -t

在现代 Windows (命令提示符和 PowerShell) 中如何使用 ls

随着 Windows 系统的演变,情况变得更加复杂。

A. 在 cmd.exe (命令提示符) 中

  1. 原生 dir 命令依然有效,所有上面提到的 dir 用法在 Windows 的命令提示符中都可以正常工作。

  2. ls 命令是 dir 的一个别名,从 Windows 10 (版本 17063) 开始,微软在命令提示符中加入了 Unix 常用命令的别名,其中就包括 ls

    当你在 cmd.exe 中输入 ls 时,它实际上会自动执行 dir /w 的效果(宽格式显示)。

    C:\> ls
    # 输出效果等同于 dir /w

    你也可以通过 doskey 命令自定义别名,例如将 ls 永久设置为 dir /p

    doskey ls=dir /p

B. 在 PowerShell 中 (更现代、更强大的选择)

PowerShell 是 Windows 现代化的命令行工具,它不直接使用 cmd.exe 的命令。

  1. Get-ChildItem 是 PowerShell 的核心命令,功能等同于 dirls,它是获取子项(文件和目录)的命令。

    PS C:\> Get-ChildItem
    # 简写形式
    PS C:\> gci
  2. PowerShell 提供了 ls 的别名,为了方便从 Unix/Linux 迁移过来的用户,PowerShell 内置了 ls 作为 Get-ChildItem 的别名。

    PS C:\> ls
    # 输出效果等同于 Get-ChildItem
  3. PowerShell 的参数更强大

    • ls -Recurse: 等同于 dir /sls -R
    • ls -Force: 等同于 dir /a,显示隐藏文件。
    • ls -Name: 只显示名称,类似 dir /b
    • ls | Where-Object { $_.Length -gt 1MB }: 可以轻松筛选出大于 1MB 的文件,这是 dir 难以做到的。

总结与对比

特性/命令 DOS dir Unix/Linux ls Windows cmd.exe ls Windows PowerShell ls
来源 DOS 原生 Unix/Linux 原生 dir 的别名 Get-ChildItem 的别名
基本功能 列出文件和目录 列出文件和目录 列出文件和目录 (宽格式) 列出文件和目录
默认行为 详细列表 简洁列表 宽格式列表 详细列表
递归显示 dir /s ls -R dir /s (需用 dir) ls -Recurse
显示隐藏文件 dir /a ls -a dir /a (需用 dir) ls -Force
排序 dir /o ls -t (按时间) 等 dir /o (需用 dir) Sort-Object (管道)
现代性 已过时 依然强大且主流 基础,功能有限 非常强大,可扩展
  • 如果你使用的是传统的 DOS 环境,或者只是想快速在 Windows 命令提示符下看一眼文件,请使用 dir
  • 如果你来自 Unix/Linux 背景,习惯使用 ls,在 Windows 的 命令提示符 (cmd.exe) 中直接输入 ls 是可以的,它等同于 dir /w
  • 如果你使用的是现代的 PowerShellls 也可以用,并且功能非常强大,但为了更深入地利用 PowerShell 的能力,建议学习 Get-ChildItem (及其别名 gci) 及其管道操作。
分享:
扫描分享到社交APP
上一篇
下一篇