相信不少小伙伴都曾经用过/偶尔使用Windows下的命令行终端(可按键盘组合键win+R然后输入cmd启动)
这里面需要使用DOS命令来操作。下表列举了一些常见DOS命令,以及含义与之对应的Linux命令。
Linux命令 | DOS命令 |
---|---|
ls | dir |
vi | 输文件名按回车即打开 |
cd | cd (可换目录不能换盘符) |
pwd | cd (不带参数) |
cp | copy |
clear | cls |
mv | rename或move |
rm | del |
$1 (命令行参数) | %1 |
touch (建空文件) | cd .> |
尽管知晓了常见命令,但是笔者在使用时还是经常下意识、第一反应就敲出ls、mv等命令,结果当然是无法识别,还要在脑子里转个弯转换一下。于是就想着能否让这些常见Linux命令在DOS中兼容。查了下ls的替代方式[1],发现答案很简单:可通过创建批处理文件(.bat)来伪装出这个Linux命令,于是其他的也容易写出来:
ls.bat(以下代码是文件内容,仅2行)
@echo off
dir
其中@echo off表示关闭回显,简单说就是输入ls就出命令结果。如果不写这句的话会先出现一行文件内容dir,然后才显示命令结果。
vi.bat
@echo off
%1
cp.bat
@echo off
copy %1 %2
mv.bat
@echo off
move %1 %2
rm.bat
@echo off
del %1
注意:这不会进入回收站,而是直接被删掉(这效果就真的与Linux下rm一样了)。提醒大家无论在哪个平台下:数据无价,谨慎操作。
touch.bat
@echo off
cd .> %1
其他命令类似,就不一一列出了。写完后将这些.bat文件放到C:\Windows\System32目录下(需要管理员权限),再进入CMD就可以使用这些命令了。当然,这种方式省略了Linux命令的很多高级功能,只能算做最简陋的代替。
倘若再结合Win下的make使用[2],就更像在linux下操作了,使用起来十分顺手。写本篇的起因是因为笔者想在Visual Studio的Fortran子例程system()中使用make、mv及cp等命令,这些代码和文件是在Linux下事先写好的,移植到Win下不想改动之,于是便萌生出了使这些命令在CMD里兼容的想法。
参考来源
[1] https://blog.csdn.net/qq_33413264/article/details/77018528
[2] http://gnuwin32.sourceforge.net/packages/make.htm