Java程序设计的DOS命令基础
Java程序设计的DOS命令基础
用户使用操作系统和软件有两种方式:命令行界面(Command Line Interface,CLI)和图形界面(Graphical User Interface,GUI)。与Unix/Linux下的用户习惯使用命令行(CLI)不同,Windows下的用户习惯使用图形界面(GUI)。一个重大的区别是前者只使用键盘,而后者离不开鼠标。
「为什么电影中的黑客几乎绝不用鼠标」的回答中,Parano Yang(知乎)说:
那为什么要远离鼠标呢?这是因为在文本输入密集的编程、系统管理工作中,频繁的在 “使用鼠标” 和 “双手打字” 两种模式切换是一个很恼人的动作。相比之下,若尽量使用键盘的快捷键来完成所有的操作,你只需动动手指头。这样的好处不仅仅节省时间提升工作效率,更是避免被频繁的移动右手而打断了思路。
我一直提倡在Linux下学习编程,但是我们面对的学生是只用过Window的,即使有人买了Macbook也是要把Mac OS换成Windows的。所以基本上所有的Java教材都是以Windows系统为例讲的,介绍点Java程序设计的DOS命令使用基础非常有必要。
在「别出心裁的Linux命令学习法」一文中介绍了命令行的好处,学习方法也可以借鉴。
几个快捷键
就像大家会用了「Ctrl + C」 和 「Ctrl + V」 以后就再也不想回到点鼠标右键再点复制、粘贴一样,Windows下有不少快捷键可以提高效率。尽量少用鼠标,最常用的操作使用快捷键是高效使用软件应当养成的习惯。
下面的Windows键指的是Ctrl和Alt键中间的那个键:

- Windows键+E:打开资源管理器。
Windows下大家使用,
- Windows键+R:程序运行
为什么这个组合用的最多?看看「最绿色最高效,用win+r启动常用程序和文档」这篇文章。
- Windows键+D:转到桌面
对我而言,桌面是临时处理文件的地方,经常需要转到桌面;
Windows 键 + L:锁定系统
这个是要养成习惯的Shift + F10: 显示右键菜单
几个小工具
在「提高教学效率的工具箱」一文中,推荐了作为老师常用的效率工具,其中的Everything和PowerCMD推荐给学习Java的同学们使用。
更多工具参考「程序开发与信息安全工具箱」。
DOS命令基础
DOS命令分为内部命令、外部命令、以及批处理文件。内部命令常驻内存,而外部命令是一条单独的可执行文件,而批处理类似Linux下的Shell脚本。
内部命令在都在COMMAND.COM中;外部命令存放在磁盘上,是以.exe结尾的文件;批处理文件以.bat结尾的文件。
注意几个小技巧:
tab:补全命令、目录、文件名等F7:查看并快速执行用过的命令,类似Linux下的history命令,非常有用。也可以使用上下键切换。/?:查找命令的帮助文档,类似Linux下的man命令。.: 表示当前目录..:表示父目录/:表示根目录X::盘符切换
常用DOS命令
在Windows 7后的操作系统,按一下Windows键或Windows键+R,然后输入cmd就会打开命令行窗口,如下图所示:

当然,这个命令行窗口非常不好用,在课上我们会使用PowerCMD,界面如下:

打开命令行窗口后就可以学习和使用DOS命令了,我们常用的命令如下:
- dir: 列出当前目录下的文件以及文件夹
- md: 创建目录
- rd: 删除目录
- cd: 进入指定目录
- del: 删除文件
- copy: 复制文件
- xcopy: 复制目录
- tree: 列出目录树
- ren: 文件改名
- type: 显示文件内容
- cls: 清屏
- exit: 退出DOS命令行
环境变量
不管是初学Java编程,还是Java程序设计老手,都要设置环境变量,为此,不少习惯于VC编程的同学还觉得学习Java门槛高。
比如我们要使用javac命令编译*.java程序时,首先我们要知道javac.exe安装在什么位置,查找神器Everything 这时候就起作用了,输入javac.exe,立马就找到javac.exe的在路径D:\Development\jdk\bin下,如下图所示:

当我们使用javac.exe的绝对路径来编译Java程序时是不需要环境变量的,如下图:

为什么要设置环境变量? 我们就想使用javac HelloWorld.java来编译,但系统不知道去哪找javac.exe时,就要用到环境变量中的PATH了。
一般我们在命令行窗口中输入xxx时,系统默认在command.com中查找xxx,如果找不到会在在当前目录中查找有没有xxx.exe,如果有就执行xxx.exe,如果找不到会在在当前目录中查找xxx.bat,如果有就执行xxx.bat,如果找不到会在PATH指定的路径中依次查找xxx.exe和xxx.bat,如果都找不到,就会出现下面的报错:

一般而言,课堂(网络,图书)上总会讲两种环境变量的设置方法:
- 使用
SET命令编辑一个批处理文件(或者添加到autoexec.bat文件中)
命令格式:SET [variable=[string]],其中variable 指定环境变量名称,string 指定要指派给变量的一系列字符。比如:
SET JAVA_HOME=d:\javadev\jdk;
注意:仅仅键入SET而不加参数,可以显示系统所有的环境变量,这些变量可以在程序设计和BAT编程中使用。
- 如果是在Win2000,XP操作系统下,使用鼠标右击「我的电脑」,选择
属性->高级->环境变量->系统变量->新建,变量名:JAVA_HOME 变量值:d:\javadev\jdk。Windows 7中是鼠标右击「计算机」,选择属性->高级系统设置->环境变量->系统变量->新建。
按照第二种方式,我们通过cmd命令打开DOS窗口时,就有了设定的环境变量。
问题是,随着工具、语言等(版本控制、单元测试、自动化、perl、python、ruby......)越来越多,要设置的环境变量也越来越多,如果重装机器,使用第二种环境变量的添加方式很是烦人,这本身也是个重复的过程。有什么好办法吗?其实环境变量在注册表中放在:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment,如果各种工具安装位置不变(个人或团队都应该有个规范,不宜变来变去),我们把环境变量节点导出即可(按一下Windows键或Windows键+R,然后输入regedit打开),日后只要双击一下该文件,就可恢复所有环境变量,当然,修改环境变量进最好也这么备份一下。
欢迎关注“rocedu”微信公众号(手机上长按二维码)
做中教,做中学,实践中共同进步!

版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文”
Java程序设计的DOS命令基础的更多相关文章
- Java实现操作dos命令
java实现操作dos命令的两种方式 1.读取文件中的命令 package com; import java.io.InputStream; public class cmd { public sta ...
- Windows的DOS命令基础
Windows的DOS命令基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1.dir: 查看当前路径下的目录(directory)详细信息 . 详细信息: a>.dir ...
- [转载]java调用本地dos命令
在社区看到java调用本地dos命令的代码,特贴出来 String command = "ipconfig"; Runtime run = Runtime.getRuntime() ...
- Java预科:DOS命令及电脑快捷键
Java预科:DOS命令及电脑快捷键 1.快捷键 常用快捷键 a/t +f4关闭窗口 cmd窗口打开快捷方式 1.开始+系统+命令提示符 2.win+r 输入cmd 3.在任意文件夹下面,按住shif ...
- Java入土---基本DOS命令
基本DOS命令 打开cmd方式 开始+系统+命令提示符 win+R,输入cmd 在任意文件夹下,按住shift + 右键,打开命令行窗口 资源管理器里打开 常用DOS命令 盘符切换 E: dir命令查 ...
- DOS命令基础,包涵DOS库说明书
20种常用的DOS命令小结 作者: 字体:[增加 减小] 类型:转载 DOS命令总共大约有一百个(包括文本编辑.查杀病毒.配置文件.批处理等),我们这里详细介绍二十个常用的DOS命令 先介 ...
- DOS命令基础
DOS命令 打开CMD win+R,输入cmd. 桌面任何地方按住shift+鼠标右键 ,点击powershell. 我的电脑文件路径前cmd+空格. 开始+系统. 关闭CMD alt+空格+C. 常 ...
- 在Java控制台模拟dos命令下操作MySQL
一.导入mysql的驱动:"com.mysql.jdbc.Driver", 必须将mysql的驱动 包(jar文件)导入到本工程中. Class.forName("com ...
- 《Java程序设计》 课程教学
<Java程序设计> 课程教学 给学生 考核方式 100分构成 翻转课堂考核12次(5*12 = 60):每次考试20-30道题目,考试成绩规格化成5分(比如总分20分就除以4) 注意:不 ...
随机推荐
- JavaScript(二)——语法
1.基本数据类型: 字符串.小数.整数.日期时间.布尔型等. 2.类型转换: 分为自动转换和强制转换,一般用强制转换. 其他类型转换为整数:parseint(): 其他类型转换为小数:parseflo ...
- python中set集合
一.set集合的特性 访问速度快 天生解决重复问题 二.set变量申明 s1 = set() s2 = set([1,2,3]) 备注:第二种方式在set类中直接传入一个序列. 三.set类中方法大全 ...
- 定义类Human,具有若干属性和功能;定义其子类Man、Woman; 在主类Test中分别创建子类、父类和上转型对象,并测试其特性。
package com.hanqi.test; public class Humen { private String speak; private String read; private Stri ...
- RabbitMQ入门教程——安装及配置
RabbitMQ是一个消息代理,一个消息系统的媒介,提供了一个通用的消息发送及接收平台,并且能够保障消息传输过程中的安全.使用erlang语言开发,开源,在易用性.扩展性.高可用性等方面表现不俗 技术 ...
- SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行)
前言 前面几篇我们分析了关于SQL Server关于性能调优的一系列内容,我把它分为两个模块. 第一个模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运算算法,详细分析了如何查看执行计划. ...
- 烂泥:高负载均衡学习haproxy之TCP应用
本文由ilanniweb提供友情赞助,首发于烂泥行天下 在前几篇文章中,我们介绍了haproxy的配置参数,而且配置例子都是http协议(7层应用)的. 这篇文章,开始介绍haproxy的4层TCP应 ...
- 烂泥:php5.6源码安装与apache集成
本文由秀依林枫提供友情赞助,首发于烂泥行天下. apache对php的支持是通过apache的mod_php5模块来支持的,这点与nginx不同.nginx是通过第三方的fastcgi处理器才可以对p ...
- my_strcmp()
void my_strcmp(const char* s1,const char* s2){ int i=0; while(*(s1+i)!='\0'||*(s2+i)!='\0'){ if(*(s1 ...
- GacUI学习(二)
GacUI学习(一)之高仿系统记事本(二) 转载请注明来源:http://www.cnblogs.com/lyfh/p/6107614.html 上篇<GacUI学习(一)之高仿系统记事本(一) ...
- fiddler抓包工具1
名称 含义 # 抓取HTTP Request的顺序,从1开始,以此递增 Result HTTP状态码 Protocol 请求使用的协议,如HTTP/HTTPS/FTP等 Host 请求地址的主机名 U ...