我们可以使用CMD程序对电脑操作,查询ip、打开程序、修改设置等。Command Shell是一个独立的应用程序,它为用户提供对操作系统直接通信的功能。它为基于字符的应用程序和工具提供了非图形界面的运行环境,它执行命令并在屏幕上回显MS-DOS风格的字符。
它提供解析命令行输入、执行程序、处理管道,以及完成一定的编程语言的能力,负责批处理文件的解析等。输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机。总之,它非常有用。
CMD是Command shell的简写。先说shell,shell直接翻译就是壳,按照ABS的定义,shell是一个命令解释器,处于内核和用户之间,负责把用户的指令传递给内核并且把执行结果回显给用户,同时,shell也可以作为一门强大的编程语言。
Powershell就是更强大的cmd,兼容cmd的所有功能。powershell和cmd的区别
Powershell是cmd的超集,换句话说,cmd能做的事情,Powershell都能做,但是Powershell还能额外做许多cmd不能做的活。 PowerShell使用了Linux Shell的思想,也就是所有的系统操作、配置,都可以在shell中敲写命令实现。
PowerShell 优点:
- windows7以上的操作系统默认安装
- 可以从另一系统中下载 powershell 脚本并执行
- 目前很多工具都是基于 powershell 开发的
- 很多安全软件并不能检测到 powershell 的活动
- cmd.exe 通常会被阻止运行,但是 powershell 不会
- 可以用来管理活动目录
在 powershell 下,类似“cmd”命令,叫做“cmdlet”,powershell 命令不区别大小写,后缀文件名:.ps1(powershell1.0)
poershell 命令采用 “动词-名词”形式,如 New-Item ,一般兼容了 windows command 和 linux shell ,如 Get-ChildItem 命令 使用 dir 或者 ls 都可,powershell 不区分大小写
Shell脚本基础概念 什么是shell?
shell英文翻译过来是外壳的意思,作为计算机语言来理解可以认为它是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,比如Linux中的shell命令就包括
ls
、cd
、pwd
等等。 Shell脚本的超详细讲解用 Shell 编写的脚本文件即
.sh
文件,它能在 Shell 环境下运行,fork 出一个子进程,调用系统内核来执行批处理(Batch)的系统控制。在文件的第一行,通常是#!/bin/bash
,这句话约定了这个脚本需要哪种 Shell 环境来执行。通过如下命令就可以执行一个 Shell 脚本:# 通过将文件作为参数传递给 shell 以运行 shell 脚本 $ bash example.sh # 这种方法不需要有 x 权限 # 通过具体指定 shell 脚本的路径来执行脚本 $ chmod u+x script.sh $ ./example.sh # 注意这种方法必须有 ./ z
在Linux系统中,Shell 就是 Linux 的命令解释器,是用户和 Linux 内核之间沟通的桥梁,其他系统也一样。用户登陆 Linux 系统后,通过使用 Linux 命令完成操作任务,但系统只认识类似 0101 的机器语言,这里就需要使用命令解释器。也就是说,Shell 命令解释器的功能就是将用户输入的命令转换成系统可以识别的机器语言。通常情况下,Linux 系统默认使用的命令解释器是 bash(/bin/bash),当然还有其他命令解释器,例如 sh、csh 等。
终端(Terminal)、Shell区别与联系
终端(termimal):作用是提供一个命令的输入输出环境,在linux下使用组合键ctrl+alt+T打开的就是终端。
shell:是一个命令行解释器,是linux内核的一个外壳,负责外界与linux内核的交互。shell接收用户或者其他应用程序的命令, 然后将这些命令转化成内核能理解的语言并传给内核, 内核执行命令完成后将结果返回给用户或者应用程序。当你打开一个terminal时,操作系统会将terminal和shell关联起来,当我们在terminal中输入命令后,shell就负责解释命令。
终端 (terminal) 是用户与操作系统用户界面 (shell) 进行交互的设备。终端和 shell
终端和 shell 需要配套使用,打开终端即运行 shell,每个终端都有与之对应的 shell 进程。终端负责将输入信息转化为控制序列,shell 负责将控制序列转化为命令。比如我们分别输入
cd /tmp
和# cd /tmp
,对终端来说只是输入字符多少的问题,而对 shell 来说则代表完全不同的信息。在 Linux 系统中打开终端时,会看到一个提示符,通常类似
hewei@hewei-VirtualBox ~$
。在提示符下,命令会被 Shell 环境解析并反馈到终端中。终端与shell 感觉总结的比较全面