CMD
跳到导航
跳到搜索
关于
cmd:
cmd 是 Command shell 的简写:CommandShell 是一个独立的应用程序,它为用户提供对操作系统直接通信的功能,它为基于字符的应用程序和工具提供了非图形界面的运行环境,它执行命令并在屏幕上回显 MS-DOS 风格的字符。
微软的定义是:
The command shell is a separate software program that provides direct communication between the user and the operating system. The non-graphical command shell user interface provides the environment in which you run character-based applications and utilities. The command shell executes programs and displays their output on the screen by using individual characters similar to the MS-DOS command interpreter Command.com.
(command shell 是一个独立的软件程序,提供用户和操作系统之间的直接通信。非图形化命令shell用户界面提供了运行基于字符的应用程序和实用程序的环境。命令shell使用与MS-DOS命令解释器command.com类似的单个字符执行程序并在屏幕上显示其输出。)
- cmd 一般指“command”的缩写,意味“命令提示符”,是在 cmd.exe 中执行的一系列命令。
- cmd 是 PowerShell 的子集。
shell:
操作系统可以分成:核心(kernel)和外壳(shell)两部分,其中,Shell 是操作系统与外部的主要接口,位于操作系统的外层,为用户提供与操作系统核心沟通的途径。
按照 ABS 的定义,shell 是:
The shell is a command interpreter. More than just the insulating layer between the operating system kernel and the user, it's also a fairly powerful programming language
。
(shell 是一个命令解释器。它不仅是操作系统内核和用户之间的隔离层,还是一种功能相当强大的编程语言)
- shell 俗称“壳”(区别于“核”kernel),是一种“命令解析器”,处于内核和用户之间,负责把用户的指令传递给内核并且把执行结果回显给用户。
- 用户可以通过 Shell 与操作系统进行交互:等待输入,向操作系统解释输入,并且处理各种各样的操作系统的输出结果。
- shell 分为“图形界面 shell”和“命令行 shell”两大类。
- 在 Windows 系统中见到的桌面即 explorer.exe(资源管理器)是“图形 shell”;power shell 就是“命令行 shell”。
- 不同系统有不同的 shell。
- 在 Linux/Unix 系统中,通常是 Bash (即,Bourne Again shell);
- 在 Windows 平台上,为 PowerShell。
- 同时,shell 也可以作为一门强大的编程语言。
Q&A
- Q: DOS 与 cmd 区别?
- A: DOS(Disk Operating System,磁盘操作系统)本身就是一个系统;cmd 本身是接口,属于 windows 系统的一部分。(在 dos 下可以删除、修复 Windows 系统,而在 cmd 下则不行)
- 二者相似,只在于 cmd 中的某些命令和 dos 中的命令相似。
- Q: Linux shell(bash)和 Windows PowerShell、cmd 区别?
- A: 可以近似地认为“Linux shell”= bash,而“Windows shell”= PowerShell,而 cmd 是 PowerShell 的子集。
- 作为用户与操作系统的交互接口,bash 和 PowerShell 要比 cmd 强大很多。
- Q: Windows 下能用 bash shell 吗?
- A: 想要在 Windows 下体验 bash,可以考虑虚拟机(系统与 Windows 相独立),或者 WSL(可在原生运行Linux二进制可执行文件)等方式。
- Q: 脚本语言和普通的编程语言有什么区别?
- A: 编程语言有“编写-编译-链接-运行”的流程;而脚本语言是“解释-执行”而非编译。
- 每种脚本语言都需要其对应的解释器:脚本语言的程序代码即使最终的可执行文件,通过对应的解释器解释执行即可,所以更方便快捷。
- (如:Perl、Python、Ruby、JavaScript等都是脚本语言,shell 也属于一种比较特殊的脚本语言)
del 与 rd、rmdir
del 用于删除文件,rd、rmdir 用于删除目录:
C:\Users\eijux>del /? 删除一个或多个文件。 DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names names 指定一个或多个文件或者目录列表。 通配符可用来删除多个文件。 如果指定了一个目录,该目录中的所 有文件都会被删除。 /P 删除每一个文件之前提示确认。 /F 强制删除只读文件。 /S 删除所有子目录中的指定的文件。 /Q 安静模式。删除全局通配符时,不要求确认 /A 根据属性选择要删除的文件 属性 R 只读文件 S 系统文件 H 隐藏文件 A 准备存档的文件 I 无内容索引文件 L 重新分析点 O 脱机文件 - 表示“否”的前缀 如果命令扩展被启用,DEL 和 ERASE 更改如下: /S 开关的显示句法会颠倒,即只显示已经 删除的文件,而不显示找不到的文件。 C:\Users\eijux>
- del 可以用来删除某一文件夹中的所有文件(
但不包括文件夹和子文件夹???); - “del /F”可以用来删除只读文件;
- del 可以用来删除某一文件夹中的所有文件(
C:\Users\eijux>rd /? 删除一个目录。 RMDIR [/S] [/Q] [drive:]path RD [/S] [/Q] [drive:]path /S 除目录本身外,还将删除指定目录下的所有子目录和 文件。用于删除目录树。 /Q 安静模式,带 /S 删除目录树时不要求确认 C:\Users\eijux>
- “rd /s”可以用来删除非空的文件夹;
C:\Users\eijux>rmdir /? 删除一个目录。 RMDIR [/S] [/Q] [drive:]path RD [/S] [/Q] [drive:]path /S 除目录本身外,还将删除指定目录下的所有子目录和 文件。用于删除目录树。 /Q 安静模式,带 /S 删除目录树时不要求确认 C:\Users\eijux>
示例:
del /S /Q E:\Downloads\qBittorrent\"HE..." del /S /Q E:\Downloads\qBittorrent\"SS..." rmdir /S /Q E:\Downloads\qBittorrent\"HE..." rmdir /S /Q E:\Downloads\qBittorrent\"SS..."
FAQ
在当前目录下,打开cmd命令窗口
- 方法一:
- 在当前目录下(或指定文件夹),按下:shift + 鼠标右键,会出现“在此处打开命令窗口”的字样,然后点击即可。
- 方法二:
- 在当前目录下,在文件管理器的地址栏直接输入 cmd 回车即可打开(同样也可打开其它命令!)。
powershell无法复制粘贴
在powershell标题栏右键,“属性”->“选项”中的“标题选项”,选中“快速编辑模式”。
ctrl+c/v不好使就用鼠标右键的复制粘贴。