shell和CMD并没有本质上的区别。另外,在linux/unix平台上,shell多半默认为Bash shell,当然也有其他shell,比如C shell什么的,在Windows平台上,shell=cmd.exe,如是而已。
都是命令行解释器,都是一个用户与操作系统的交互接口。
cmd常用命令
- calc:启动计算器
- notepad:打开记事本
- netstat -a:查看所有的端口
- tasklist:查看所有的进程
- d: : 切换到D盘
- dir(directory) 列出当前目录下的文件以及文件夹
- md (make directory) 创建目录
- rd (remove directory) 删除目录(带内容的文件或者文件夹不能直接删除,必须先删除里面,再删除外面)。如果要删除非空目录,可以使用命令:rd /s xxxdir或者rd /s /q xxxdir
- cd (change directory) 改变指定目录(进入指定目录)
- cd.. 退回到上一级目录
- cd\ 退回到根目录
- del (delete) 删除文件,删除一堆后缀名一样的文件*.txt
- exit 退出dos命令行
- cls (clear screen)清屏
通过C语言代码来实现cmd命令行功能:
这里用到了c语言中的一个库:#include<stdlib.h>
打开记事本
#include<stdlib.h>
void main() {
system("notepad"); //System:执行系统的命令行
}
查看ip地址
#include<stdlib.h>
void main(){
system("ipconfig");
system("pause"); //如果没有这一行代码,cmd窗口就会闪退
}
死循环:
#include<stdlib.h>
void main(){
while (1) {
//system("calc"); //执行完后再执行下一行代码:
//只有关闭了计算器,才能打开一个新的计算器
system("start calc"); //同时并行:同时打开无数个计算器
}
}
start
//执行完后再执行下一行代码
void run1(){
system("calc");
system("notepad");
}
//同时并行
void run2(){
system("start calc");
system("start notepad");
}
如果执行run1()方法,则只有关闭了计算器,才会打开记事本;
如果执行run2()方法,则计算器和记事本会同时打开。
打开文件
system("E:\\沉淀时光\\2014电子科技大学硕士招生简章.doc");
打开浏览器
system("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" ");
有空格需要加引号
system("\"D:\\Sublime Text 3\\sublime_text.exe\"");
打开指定网站:
system("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" www.google.com");
打开指定程序后关闭:
#include<stdlib.h>
void main(){
//打开指定程序后,运行,回车,程序会关闭
system("start calc");
system("pause");
system("taskkill /f /im calc.exe"); //关闭进程
}