
我很高兴分享我最喜欢的 26 个 FreeDOS 命令。
我家最早的一批计算机中有一台运行着一款名称为 DOS 的命令行操作系统,即 “ 磁盘操作系统 ”。我是在 DOS 系统环境中长大的,学会了利用命令行来使我的工作更轻松。很多其他的人也是如此。我们非常爱 DOS ,所以在 1994 年 6 月 29 日,我们创建了 FreeDOS 工程。
如果你的 FreeDOS 的初学者,你可能会对如何使用其附带的不同的命令行程序感到困惑。让我们从我最喜欢的 26 个 FreeDOS 命令开始吧。要学习更多的信息,在大部分命令的后面添加 /? 选项来获取更多的信息:
1 | C:\>attrib /? |
A 是 ATTRIB
ATTRIB 程序显示或更改文件的 属性 。属性可以是以下四个值之一:隐藏(H)、系统 S)、只读(R)、存档(A)。
标记为隐藏的文件将不会在目录列表中显示。例如,假设你想隐藏一个名称为 SECRET.TXT 的文件,这样就不会有人它在那里。首先,你可以显示该文件的属性,以便查看它的当前设置:
1 | C:\FILES>attrib secret.txt |
为隐藏这个文件,使用加号(+)操作符来开启用隐藏属性,像这样:
1 | C:\FILES>attrib +h secret.txt |
ATTRIB 的另一种常见使用方法是操作只读属性,这样你就不会意外地覆盖重要的文件。假设你想要保护 SECRET.TXT 文件,这样你就不能删除或更改它。使用 +R 修饰符 ,打开只读属性,像这样:
1 | C:\FILES>attrib +r secret.txt |
B 是“哔哔”声
如果你需要在一个批处理文件中添加一些激情活力,你可以使用 BEEP 命令来获取用户的注意力。BEEP 不会在屏幕上显示任何内容,但是会简单地发出一个 “哔哔” 的声音信号。
注意:BEEP 使用个人计算机内置的扬声器来发出 “哔哔” 声。如果你使用一台虚拟机器来引导启用 FreeDOS,检查你的系统是否建立正确的模拟个人计算机扬声器。否则,你将不会听到任何声音。
C 是 CD
像 Linux 一样,FreeDOS 支持目录,这会允许你以一种来你有帮助的方式来组织你的文件。例如,你可以在一个名称为 FILES 的目录中存放你的全部文件,对于某些类型的文件,你可能会有其它的目录,例如,针对字处理器文件的 DOCS ,或者针对表格文件的 SPRDSHT。
你可以使用 CD(即 “ 更改目录 ”) 命令来导航到一个目录。CHDIR 命令和 CD 命令一样,如果你更喜欢使用这种语法的话。
为更改到一个新的目录,使用 CD 目录和目标目录:
1 | C:\>cd files |
你不必一次导航一层目录。相反,你可以使用一个 CD 命令和提供完整的你想要更改到的目录路径:
1 | C:\>cd \files\sprdsht |
D 是 DELTREE
如果需要删除一个单个文件,你可以使用 DEL 命令。为删除一个空的目录,你可以使用 RMDIR 或 RD 命令。但是,如果你想删除一个有很多文件和子目录的目录?
一个包含有其它目录的目录称为 目录树 。你可以使用 DELTREE 命令来删除整个目录树。例如,为删除你的 FILES 目录,包括其中包含的所有的文件和目录,输入这个命令:
1 | C:\>deltree files |
你可以使用一个单一的 DELTREE 命令来轻松快捷地完成很多工作,因此,FreeDOS 的 DELTREE 提示会询问你是否真的想要这样做。谨慎地使用这个命令。
E 是 EDIT
如果你需要在 FreeDOS 上编辑一个文本文件,EDIT 程序会让你轻松快速地完成任务。例如,要开始编辑一个名称为 HELLO.TXT 的文件,输入 EDIT HELLO.TXT 。如果 HELLO.TXT 文件已经存在,EDIT 打开文件并开始编辑。如果 HELLO.TXT 尚未存在,那么 EDIT 为你开启一个新的文件。

FreeDOS 的 EDIT 使用了一种友好的界面,对大多数人来说应该很容易使用。使用菜单来访问 EDIT 的各种特色功能,包括保存文件、打开一个新的文件、或者退出编辑器。为访问菜单,在你的键盘上按下 Alt 按键,然后使用箭头按键来避开和进入选择的动作。

F 是 FIND
如果你需要在一个文件中查找文本,FIND 命令可以完成这项工作。类似于在 Linux 上的 fgrep ,FIND 会打印一些包含一个字符串的行。例如,为检查 FDCONFIG.SYS 文件中的 “Menu Default” 条目项,像这样使用 FIND :
1 | C:\>find "MENUDEFAULT" fdconfig.sys |
如果你不确定你想要查找的字符串是使用的大写字母还是小写字母,添加 /I 选项来忽略字母的大小写情况:
1 | C:\>find /i "menudefault" fdconfig.sys |
G 是 GRAPHICS
如果你想要捕捉屏幕,你可以使用你键盘上的 PrtScr( 打印屏幕 )按键来直接将你显示器上的文本打印到打印机上。不过,这只对纯文本来说有效。如果你要打印图形屏幕,你需要加载 GRAPHICS 程序。
GRAPHICS 支持不同的打印机类型,包括 HP 的 PCL 打印机、Epson 的点阵打印机,和兼容 PostScript 的打印机。例如,如果有一台连接到你的计算机的 HP 的激光打印机,你可以通过输入这条命令来为这台打印机加载支持:
1 | C:\>graphics hpdefault |
H 是 HELP
如果你刚刚来到 FreeDOS 的世界,你可以通过输入 HELP 来获取如何使用不同命令的提示。这将带来 FreeDOS 的帮助系统,包含所有命令的文档:

I 是 IF
你可以使用 IF 语句来将条件语句添加到你的命令行或批处理文件 。IF 进行一次简短的测试,然后执行一个单个命令。例如,如果存在某个文件,那么打印结果 “It’s there”,你可以输入:
1 | C:\>if exist kernel.sys echo It's there |
如果你想要测试相反的东西,在测试内容前,使用 NOT 关键字。例如,如果两个字符串的值不相同,那么打印结果 “Not equal” ,输入这条语句:
1 | C:\>if not "a"=="b" echo Not equal |
J 是 JOIN
早期的 DOS 版本是相当简单的;DOS 的第一个版本甚至不支持目录。为向这些较旧的程序提供向后兼容性,我们需要 JOIN 程序来作为一种巧妙的应变方法。JOIN 使用驱动器字母代替路径,这样,你可以将旧程序放入其自己的子目录中,但是,使用一个单个驱动器字母来访问它。
让我们假设你有一个名称为 VC 的旧应用程序,它不懂目录。为保持 VC 的工作,你可以将它的路径 连接 到一个驱动器字母。例如:
1 | JOIN V: D:\VC |
FreeDOS 将 JOIN 实施为 SWSUBST,它也兼备类似 SUBST 命令的特色功能。为将 D:\VC 路径链接到到一个名称为 V: 的驱动器字母,输入:
1 | C:\>swsubst v: d:\vc |
K 是 KEYB
DOS 默认采用美式英语键盘布局。你的键盘是不同的,你可以使用 KEYB 命令来加载新的键盘语言布局。例如,为为加载一种德语键盘布局,输入:
1 | C:\>keyb gr |
L 是 LABEL
FreeDOS 使用 标签 来命名每个软盘驱动器和硬盘驱动器。这些标签提供了一种识别磁盘可能包含内容的方法。当你需要将文件存储到单个不同的软盘上时,LABEL 命令是非常有用的,你可以标记一个软盘 “Data”,另一个软盘为 “Games” 。
为分配一个新的标签到一个驱动器。或者更改在一个驱动器上的现存标签。像这样使用标签:
1 | D:\>label d: data |
M 是 MEM
运行程序和加载驱动程序会占用内存。可以查看你的系统有多少内存,以及有多少可用来运行 DOS 程序,使用 MEM 命令:
1 | C:\>mem |
N 是 NANSI
如果你想添加一点颜色到 FreeDOS 命令行,你可以使用 ANSI 转义序列。这些序列之所以叫“转义”,是因为每个序列都以代码 33(转义字符 ESC)和一个由美国国家标准化协会(ANSI)定义的特殊字符序列为开头。
FreeDOS 通过 NANSI.SYS 驱动程序来支持 ANSI 转义序列。随着 NANSI 的加载,你的 FreeDOS 控制台将解释 ANSI 转义序列,例如,设置文本颜色。

O 是 oZone
FreeDOS 是一款命令行操作系统,但是一些人们更喜欢使用可备选的图形化用户界面。这就是为什么 FreeDOS 的 1.3 发行版包含一些图形化桌面的原因。我喜欢的一款名称为 oZone 的图形化桌面,它提供一种时尚、现代化外观的界面。

注意,oZone 有一点烦人的错误,可能还需要一些来自外部开发者的关爱。如果你想让 oZone 变得更好,可以下载源文件代码做些贡献。
P 是 PROMPT
标准的 FreeDOS 命令行提示符会告诉你:你所在文件系统中的位置。当你第一次启动 FreeDOS 时,你的提示符看起来像 C:\>, 这意味着 \(根)目录在 C: 驱动器。> 字符表示着你可以在那里输入命令。
在你的提示符中,如果你更喜欢不同的信息,使用 PROMPT 目录来更改它。你可以使用一个带有 $ 的开头的特殊代码来显示不同的信息,例如,$D 用于日期、$T 用于时间。例如,你可以使用 $$ 指令来使你的 FreeDOS 命令行看起来像一个 Linux 提示符,来打印一个单个美元符号:
1 | C:\>prompt $$ |
输入 PROMPT /? 来查看一份全部特殊代码的列表。
Q 是 QBASIC
FreeDOS 实际上没有 QBASIC 。它是针对 MS-DOS 的专有 BASIC 语言环境。作为备选方案,我们提供一些开放源文件的编译器,包括一些针对 BASIC 编程的编译器。
FreeBASIC 编译器可以编译外来的大多数 QBASIC 程序。这里有一个简单的 “猜数” 示例:
1 | dim number as integer |
使用 FBC 命令来编译 FreeBASIC 程序:
1 | C:\DEVEL\FBC>fbc guess.bas |
这里是这个简单游戏的快速演示:
1 | C:\DEVEL\FBC>guess |
R 是 REM
在编写程序时,注释是极好的;注释帮助我们理解程序应该要做什么。可以在批处理文件中使用 REM 来做同样的事。在批处理文件中,在 REM 的后面的任何东西都将会被忽略。
1 | REM this is a comment |
S 是 SET
FreeDOS 命令行使用一系列称为 环境变量 的变量,让你来自定义你的系统。你可以使用 SET 命令来设置这些变量。例如。使用 DIRCMD 变量来控制 DIR 如何排列目录列表。为设置 DIRCMD 变量,使用 SET 命令:
1 | SET DIRCMD=/O:GNE |
这告诉 DIR 先按照目录分组(G)来排序(O)输出,然后再按照名称(N)和扩展名(E)来排序结果。
T 是 TYPE
TYPE 命令是最常使用的 DOS 命令之一。TYPE 显示一个文件的内容,类似于在 Linux 上的 cat 。
1 | C:\DEVEL>type hello.c |
U 是 UNZIP
在 Linux 上,你可能更熟悉标准的 Unix 存档命令: tar。在 FreeDOS 上也有一个 tar 版本(和其它大量的流行的存档程序),但是,在 DOS 上的事实上的标准的存档命令是 ZIP 和 UNZIP 。两者都默认安装在 FreeDOS 1.3 之中。
比如说,我有一些文件的一个 zip 存档。如果我想提取整个 Zip 文件,我可以只使用 UNZIP 命令,并将 Zip 文件作为命令行的选项来提供。这将在我当前工作目录中开始提取存档文件。除非我正在恢复一些东西的先前版本,我通常不希望覆盖我的当前文件。在这种情况下,我将提取存档到一个新的目录。你可以使用 -d(“ 目标 ”)命令行选项来具体指定目标路径:
1 | D:\SRC>unzip monkeys.zip -d monkeys.new |
为学习更多关于 ZIP 和 UNZIP 命令的信息,可以阅读 如何在 FreeDOS 上存档文件。
V 是 VER
在 DOS 的古老岁月中,VER 命令会报告你正在运行的 DOS 发行版本,例如:“MS-DOS 5.0.D”。对于 FreeDOS,VER 命令将给予你额外的详细信息,例如 FreeDOS Shell 的版本:
1 | C:\DEVEL>ver |
如果你还想查看 FreeDOS 内核版本和 DOS 兼容性等级,添加 /R 选项:
1 | C:\DEVEL>ver /r |
W 是 WHICH
FreeDOS 命令行可以运行来自记录在 PATH 变量中的不同的目录列表的程序。你可以使用 WHICH 命令来准确地识别出程序的位置。只需要输入 WHICH 加上你想要定位的程序名称:
1 | C:\>which xcopy |
X 是 XCOPY
COPY 命令只能将文件从一个位置复制到另一个位置。如果你想扩大复制的范围来包括一些目录,使用 XCOPY 命令。我通常添加 /E 选项来包含所有的子目录,包括空的子目录,这样,我可以复制整个目录树。这样就可以有效地备份我正在工作的任意工程:
1 | D:\SRC>xcopy /e monkeys monkeys.bak |
Y 是 Yellow
这不是一个命令,而是关于 DOS 如何显示颜色的有趣的百科知识。如果你仔细留心过 FreeDOS,你可能已经注意到,文本只能获取有限的颜色范围—— 十六种文本颜色、八种背景颜色。
IBM 的 5153 彩色显示器,通过点亮不同亮度等级的微小的红、绿、蓝荧光点的方式创建 16 种文本颜色和 8 种背景颜色来为用户显示颜色。早期的个人计算机只能以“标准强度”级别来显示背景颜色;只有文本颜色可以使用明亮颜色。
如果你查看文本颜色,你有黑色、蓝色、绿色、蓝绿色、红色、品红色、橙色和白色。这些颜色的“明亮”版本有亮黑色(暗灰色)、亮蓝色、亮绿色、亮蓝绿色、亮红色、亮品红色、黄色和亮白色。橙色的“明亮”版本有实际上是黄色。没有“亮橙色”。
如果你想要学习更多关于文本颜色的信息,阅读我们关于 FreeDOS 为什么有 16 种颜色 的文章。
Z 是 ZIP
你可以在 DOS 命令行中使用 ZIP 来创建文件和目录的存档。这是一种很便利的方法:可以备份你的工作,或者发布一个 “软件包” 来在未来的 FreeDOS 发行版中使用。例如,比如说,我想备份我的工程源文件代码,其中包含这些源文件文件:
1 | D:\SRC>zip -9r monkeys.zip monkeys |
ZIP 支持很多命令行选项来完成不同的工作,但是,我使用最多的命令行选项是: -r 用于递归处理目录和子目录、-9 用于提供尽可能大的压缩比。ZIP 和 UNZIP 使用类 Unix 命令行,因此,你可以在短划线后面合并选项: -9r 将在 Zip 文件中给予最大压缩比和包括子目录。
关于如何使用 ZIP 和 UNZIP 命令的更多详细信息,阅读 如何在 FreeDOS 上存档文件。
新的 FreeDOS 指南
准备好你的 FreeDOS 旅程的下一步了吗?查看我们的新的电子书,现在开始尝试我们的 FreeDOS !
(题图:MJ/0b21dcc8-4c8d-457b-9e0d-fbbe5dd08c60)
via: https://opensource.com/article/22/6/26-freedos-commands