Linux 命令在 Windows 里的等价实现

前言

很多人在吐槽 Windows 的命令行不好用,事实的确如此。但是,批评 Windows 命令行功能不强大,我不认同。本文将持续更新,介绍一些常见的 Linux 命令功能在 Windows 环境的等价实现。

ls

Linux 的 ls 命令很强大,也很美观,在 Windows 里一种十分勉强的实现方式是

dir /b

但是这样区分不出文件和文件夹,可以用 dir /b /ad 列出文件夹,用 dir /b /a-d 列出文件。Linux 的 ls 可以分列,这个功能在 Windows 可以用 PowerShellFormat-Wide 实现。

然后需要实现的是用不同颜色区分文件和目录我粗略的写了一个程序(Github Project) 勉强实现了分列显示和用颜色区分文件和目录,其实调用 Windows 的 API 完全可以写出一个和 Linux 的 ls 一模一样的程序来。但是 Windows 的用户已经习惯右键查看文件属性,因此没人去写这个程序。

需要强调的是,从 dir /? 可以看出,这个命令的功能很完整,只是输出的结果不好看而已。

pwd

查看当前目录的完整路径,等价

cd

或者

echo %CD%

realpath

查看文件的完整路径

echo %CD%\<filename>

或者

forfiles /M <filename> /c "cmd /ce echo @path"

遍历指定类型文件

例如:以完整路径列出所有txt文件

forfiles /S /M *.txt /c "cmd /c echo @path"

或者

for /r . %i in (*.txt) do echo %i

相对路径则是

forfiles /S /M *.txt /c "cmd /c echo @relpath"

使用 for 命令也可以实现,但不如上面这条命令简单。这个功能我遇到的使用场景是需要把工程目录的所有 Verilog 源文件列举出来生成文件列表给仿真器使用。Linux 里使用 find 可以做到。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值