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键指的是CtrlAlt键中间的那个键:

  • Windows键+E:打开资源管理器。

Windows下大家使用,

  • Windows键+R:程序运行

为什么这个组合用的最多?看看「最绿色最高效,用win+r启动常用程序和文档」这篇文章。

  • Windows键+D:转到桌面

对我而言,桌面是临时处理文件的地方,经常需要转到桌面;

  • Windows 键 + L:锁定系统

    这个是要养成习惯的

  • Shift + F10: 显示右键菜单

几个小工具

在「提高教学效率的工具箱」一文中,推荐了作为老师常用的效率工具,其中的EverythingPowerCMD推荐给学习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.exexxx.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”微信公众号(手机上长按二维码)

做中教,做中学,实践中共同进步!



如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文


Java程序设计的DOS命令基础的更多相关文章

  1. Java实现操作dos命令

    java实现操作dos命令的两种方式 1.读取文件中的命令 package com; import java.io.InputStream; public class cmd { public sta ...

  2. Windows的DOS命令基础

    Windows的DOS命令基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1.dir: 查看当前路径下的目录(directory)详细信息 . 详细信息: a>.dir ...

  3. [转载]java调用本地dos命令

    在社区看到java调用本地dos命令的代码,特贴出来 String command = "ipconfig"; Runtime run = Runtime.getRuntime() ...

  4. Java预科:DOS命令及电脑快捷键

    Java预科:DOS命令及电脑快捷键 1.快捷键 常用快捷键 a/t +f4关闭窗口 cmd窗口打开快捷方式 1.开始+系统+命令提示符 2.win+r 输入cmd 3.在任意文件夹下面,按住shif ...

  5. Java入土---基本DOS命令

    基本DOS命令 打开cmd方式 开始+系统+命令提示符 win+R,输入cmd 在任意文件夹下,按住shift + 右键,打开命令行窗口 资源管理器里打开 常用DOS命令 盘符切换 E: dir命令查 ...

  6. DOS命令基础,包涵DOS库说明书

    20种常用的DOS命令小结 作者: 字体:[增加 减小] 类型:转载   DOS命令总共大约有一百个(包括文本编辑.查杀病毒.配置文件.批处理等),我们这里详细介绍二十个常用的DOS命令     先介 ...

  7. DOS命令基础

    DOS命令 打开CMD win+R,输入cmd. 桌面任何地方按住shift+鼠标右键 ,点击powershell. 我的电脑文件路径前cmd+空格. 开始+系统. 关闭CMD alt+空格+C. 常 ...

  8. 在Java控制台模拟dos命令下操作MySQL

    一.导入mysql的驱动:"com.mysql.jdbc.Driver", 必须将mysql的驱动 包(jar文件)导入到本工程中. Class.forName("com ...

  9. 《Java程序设计》 课程教学

    <Java程序设计> 课程教学 给学生 考核方式 100分构成 翻转课堂考核12次(5*12 = 60):每次考试20-30道题目,考试成绩规格化成5分(比如总分20分就除以4) 注意:不 ...

随机推荐

  1. CSS3 background-size属性

    请复制粘贴,图片请自带 <!DOCTYPE html > <html > <head> <meta charset="utf-8"> ...

  2. 《内容生产向视频过渡:Facebook收购QuickFire意欲何为?》有感

    1月9日消息,Facebook周四表示,已收购位于加州圣迭戈的QuickFire Networks. 一.解决视频传输问题 QuickFire是一家开发视频内容发布设备和转码处理软件的创业公司,其创办 ...

  3. select接收后台返回值的解决方案

    在做页面表单或者条件筛选的时候,如何把select标签的值,在刷新页面后,保持选择的值.下面,将给出两种解决方案: 前提: 前台select标签 name为type : 后台接收type的值,业务完成 ...

  4. SQLServer复合查询条件(AND,OR,NOT)对NULL值的处理方法

    在SQL的3值逻辑下,一个查询条件可以产生以下三种情况:TRUE,FALSE,NULL.只有那些满足WHERE子句的值是TRUE的记录才出现在结果表中. NULL值影响查询条件的结果,并且结果很微妙. ...

  5. dubbo-admin-2.5.3 运行报错: Bean property 'URIType' is not writable or has an invalid 解决方法

    因为 jdk 是1.8的版本,和 dubbo-admin 存在兼容性问题.所以报错: Bean property 'URIType' is not writable or has an invalid ...

  6. 二:Go编程语言规范-类型

    1.类型 布尔值,数值与字符串类型的实例的命名是预声明的. 数组,结构,指针,函数,接口,切片,映射和信道这些复合类型可由类型字面构造. 每个类型 T 都有一个 基本类型:若 T 为预声明类型或类型字 ...

  7. C# FTP 命令无法获取ServerU目录列表问题

    第一步:  使用C# 的Ftp功能时,发现了一个很奇怪的现象,获取目录列表的命令,在SeverU上面直接返回错误,而在windows自带的FTP上则正常,经过反复试验,终于发现,原来是ServerU默 ...

  8. Hive分析hadoop进程日志

    想把hadoop的进程日志导入hive表进行分析,遂做了以下的尝试. 关于hadoop进程日志的解析 使用正则表达式获取四个字段,一个是日期时间,一个是日志级别,一个是类,最后一个是详细信息, 然后在 ...

  9. 一次Mutex死锁的原因探究

    1.现象    最近项目中调出一个bug,某些时候程序会卡死不动,用windbg进行加载后用 ~*kb 命令列出所有的线程栈调用,发现有多个线程调用 WaitForMultipleObjects 在等 ...

  10. 拓扑排序 POJ2367Genealogical tree[topo-sort]

    ---恢复内容开始--- Genealogical tree Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4875   A ...