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. jQuery jqGrid中ColModel的参数大全

    ColModel 是jqGrid里最重要的一个属性,设置表格列的属性. 用法: java 代码: jQuery("#gridid").jqGrid({  ...     colMo ...

  2. json对象转为字符串,当做参数传递时加密解密

    [son对象  字符串 互相转行] 比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: var a={"name":"tom","sex ...

  3. laravel excel迁移到lumen

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出  ...

  4. 项目管理学习笔记之五.沟通协调能力I

    项目管理个人能力培养--沟通协调能力在项目管理当中,怎么样把握好沟通?它有些什么的基本原则?是我们本章要讨论的. 一.电影<大腕>中的四段对话 冯小刚的电影<大腕>中有四段精神 ...

  5. Git的常用操作,记录下

    首先生成密钥 ssh-keygen -t rsa -C "your_email@youremail.com" 然后打开workdir,敲 git init 设置一个远端库 git ...

  6. Oracle行内链接不会引起USER_TABLES中CHAIN_CNT值变化

    前几天和群里网友讨论一个关于行内链接(intra-block chaining)的问题,问题非常有意思,恰好今天有空,顺便整理了一下这些知识点. 问题描述:下面SQL,创建一个超过255列的表(实际为 ...

  7. ORACLE数据库异步IO介绍

    异步IO概念 Linux 异步 I/O (AIO)是 Linux 内核中提供的一个增强的功能.它是Linux 2.6 版本内核的一个标准特性,当然我们在2.4 版本内核的补丁中也可以找到它.AIO 背 ...

  8. Sql Server之旅——第十站 看看DML操作对索引的影响

    我们都知道建索引是需要谨慎的,当只有利大于弊的时候才适合建,我们也知道建索引是需要维护成本的,这个维护也就在于DML操作了, 下面我们具体看看到底DML对索引都有哪些内幕.... 一:delete操作 ...

  9. 使用 xtrabackup 进行MySQL数据库物理备份

    0. xtrabackup的功能 能实现的功能: 非阻塞备份innodb等事务引擎数据库. 备份myisam表会阻塞(需要锁). 支持全备.增量备份.压缩备份. 快速增量备份(xtradb,原理类似于 ...

  10. Mac上打开拷贝到移动硬盘里的文件提示“已经被osx使用不能打开”解决办法

    在终端里面粘贴xattr -d com.apple.FinderInfo(此处按一下空格),然后把文件拖进终端窗口,按一下回车就好了