Shell、Bash、CMD、PowerShell 的区别_powershell bash-程序员宅基地

技术标签: PowerShell  学习 - MacOS  学习 - Linux  shell  学习 - Windows  bash  cmd  区别  

简 述: 『Shell』 =『图形用户界面(GUI)shell』 + 『命令行界面(CLI)的 shell』 ,捋一下 Mac / Linux / Windows 下常见的 shell。讲解 shellbashcmdzshPowerShell 等的区别。


本文初发于 “偕臧的小站”,同步转载于此。


预备知识

『DOS』:是磁盘操作系统(英文:Disk Operating System)的缩写,是个人计算机上的一类操作系统。DOS 家族包括 MS-DOS、PC-DOS、DR-DOS、FreeDOS、PTS-DOS、ROM-DOS、JM-OS等,其中以 MS-DOS 最为著名。虽然这些系统常被简称为"DOS",但没有任何一个系统单纯以"DOS"命名。注释


Shell 介绍

『Shell / 壳层』:命令行界面的解释器,用户和系统内核的沟通桥梁。分为:①命令行界面(CLI) ;② 图形用户界面(GUI)。注释


图形用户界面(GUI)shell

MacOS 的 shell

『Finder / 访达』: 在 MacOS 中,能让用户管理文件、文件、磁盘、网络,以及启动其他的应用程序的引用程序。注释


Linux 的 shell

『X窗口管理器』: 独立的 X窗口管理器,例如 BlackboxFluxbox注释

『Desktop Environment / 桌面环境』: 桌面环境是依靠于窗口管理器的的扩展实现。如 KDEGNOMEXfceDDE注释


Windows 的 shell

『Explorer / 文件资源管理器』: 此操作系统中浏览电脑中文件与文件夹结构的基本工具,win + E 快捷键呼出。注释

『开始菜单』: 屏幕的左下角菜单, win 键呼出。注释

『DOS Shell』: 1998 年发布于 MS-DOS 的文件管理器,是终端里面生成的可视化界面。注释


命令行界面(CLI)的 shell

MacOS / Linux 的 shell

『sh / Bourne shell』: 1977 在 Version 7 Unix 上的默认 shell。注释

『Bash』: 名称由来 Bourne-Again SHell,在 GNU 计划中,于 1989 发布于第一个版本,是 sh 的兼容的开源的续作。亦是 Linux 和 MacOS (含10.14之前)的默认 shell。注释

『Z shell / Zsh』: 是 sh + bash + 扩展功能。自2019 年起,MacOS 的默认 Shell 已从 『Bash 』改为『Zsh』。注释


Windows 的 shell

『命令提示符 / cmd.exe』:是 Win32 应用程序,取代『COMMAND.COM』。Windows命令提示符(cmd.exe) 是 Windows NT 下的一个用于运行 Windows 控制台程序或某些 DOS 程序的壳层程序;注释

『PowerShell』 : 包括 ①Windows PowerShel + ②PowerShell Core ,基于 .NET 框架开发,自 2016 年后开源且跨平台。① 为前四年的版本,仅支持 Win 平台;② 则是其演进,支持跨平台 Linux 和 Mac。注释

『COMMAND.COM』: 是一个16位的 DOS 应用程序。已经被 命令提示符(cmd.exe) 取代在 MS-DOS、Windows 95、Windows 98、Windows 98SE 和 Windows Me 上的默认命令行界面。注释


总结

『Shell』 =『图形用户界面(GUI)shell』 + 『命令行界面(CLI)的 shell』



『PowerShell』和其它命令解释器比较

重点关心一下 『PowerShell』 的一些命令,因为我最近在写 .yml 的 windows 脚本。注释

PowerShell(命令行) PowerShell(别名) 命令提示符 Unix shell 描述
Get-ChildItem gci, dir, ls dir ls 列出目前或指定文件夹中的所有文件和文件夹
Test-Connection[a] ping ping ping 从目前电脑向指定电脑发送Ping,或指示另一台电脑这样做
Get-Content gc, type, cat type cat 获取文件内容
Get-Command gcm help type, which, compgen 列出可用的命令
Get-Help help, man help apropos, man 在控制台上打印命令的文档
Clear-Host cls, clear cls clear 清除屏幕[b]
Copy-Item cpi, copy, cp copy, xcopy, robocopy cp 将文件和文件夹复制到另一个位置
Move-Item mi, move, mv move mv 将文件和文件夹移动到新位置
Remove-Item ri, del, erase, rmdir, rd, rm del, erase, rmdir, rd rm, rmdir 删除文件或文件夹
Rename-Item rni, ren, mv ren, rename mv 重命名单个文件、文件夹、硬链接或符号链接
Get-Location gl, cd, pwd cd pwd 显示工作路径(目前文件夹)
Pop-Location popd popd popd 将工作路径更改为最近推送到堆栈上的位置
Push-Location pushd pushd pushd 将工作路径存储到堆栈中
Set-Location sl, cd, chdir cd, chdir cd 改变工作路径
Tee-Object tee 不适用 tee 将输入管道传输到文件或变量,并沿管道传递输入
Write-Output echo, write echo echo 将字符串或其他对像打印到标准流
Get-Process gps, ps tlist,[c] tasklist[d] ps 列出所有正在执行的进程
Stop-Process spps, kill kill,[c] taskkill[d] kill[e] 停止正在执行的进程
Select-String sls findstr find, grep 打印与模式匹配的行
Set-Variable sv, set set env, export, set, setenv 创建或更改环境变量的内容
Invoke-WebRequest iwr, curl, wget[f] curl wget, curl 获取互联网上的网页内容
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33154343/article/details/123366377

智能推荐

http隧道 java_使用java语言实现http隧道技术-程序员宅基地

文章浏览阅读119次。该楼层疑似违规已被系统折叠隐藏此楼查看此楼/***Getaparametervalue**@paramkeyString*@paramdefString*@returnString*/publicStringgetParameter(Stringkey,Stringdef){returnisStandalone?System.getProperty(ke..._java http隧道

Keepalived高可用+邮件告警_keepalived sendmail-程序员宅基地

文章浏览阅读913次。IP主机名备注192.168.117.14keepalived-master主节点192.168.117.15keepalived-slaver备节点192.168.117.100VIP1.主备节点均安装keepalived# yum install -y keepalived httpd2.主备节点均修改keepalived日志存放路径..._keepalived sendmail

SPFILE 错误导致数据库无法启动(ORA-01565)_ora01565 ora27046-程序员宅基地

文章浏览阅读469次。--==========================================--SPFILE错误导致数据库无法启动(ORA-01565)--========================================== SPFILE错误导致数据库无法启动 SQL> startup ORA-01078: failurein proce_ora01565 ora27046

功能测试基础知识(1)-程序员宅基地

文章浏览阅读6.1k次,点赞2次,收藏54次。功能测试基础知识总结_功能测试

postgresql 中文排序_pg中文排序-程序员宅基地

文章浏览阅读3.2k次,点赞3次,收藏2次。pg 中文首字母排序_pg中文排序

[Mysql] CONVERT函数_mysql convert-程序员宅基地

文章浏览阅读3.1w次,点赞23次,收藏109次。本文主要讲解CONVERT函数_mysql convert

随便推点

HTML5与微信开发(2)-视频播放事件及API属性_微信开发者工具视频快进-程序员宅基地

文章浏览阅读8.6k次,点赞2次,收藏2次。HTML5 的视频播放事件想必大家已经期待很久了吧,在HTML4.1、4.0之前我们如果在网页上播放视频无外乎两种方法: 第一种:安装FLASH插件或者微软发布的插件 第二种:在本地安装播放器,在线播放组件之类的 因为并不是所有的浏览器都安装了FLASH插件,就算安装也不一定所有的都能安装成功。像苹果系统就是默认禁用FLASH的,安卓虽然一开始的时候支持FLASH,但是在安卓4.0以后也开始不_微信开发者工具视频快进

JedisConnectionException Connection Reset_jedisconnectionexception: java.net.socketexception-程序员宅基地

文章浏览阅读5.4k次,点赞3次,收藏4次。在使用redis的过程常见错误总结1.JedisConnectionException Connection Reset参考这边文章:Connection reset原因分析和解决方案https://blog.csdn.net/cwclw/article/details/527971311.1问题描述Exception in thread "main" redis.clients...._jedisconnectionexception: java.net.socketexception: connection reset

Lua5.3版GC机制理解_lua5.3 gc-程序员宅基地

文章浏览阅读8.3k次,点赞8次,收藏42次。目录1.Lua垃圾回收算法原理简述2.Lua垃圾回收中的三种颜色3.Lua垃圾回收详细过程4.步骤源码详解4.1新建对象阶段4.2触发条件4.3 GC函数状态机4.4标记阶段4.5清除阶段5.总结参考资料lua垃圾回收(Garbage Collect)是lua中一个比较重要的部分。由于lua源码版本变迁,目前大多数有关这个方面的文章都还是基于lua5.1版本,有一定的滞后性。因此本文通过参考当前..._lua5.3 gc

手机能打开的表白代码_能远程打开,各种手机电脑进行监控操作,最新黑科技...-程序员宅基地

文章浏览阅读511次。最近家中的潮人,老妈闲着没事干,开始学玩电脑,引起他的各种好奇心。如看看新闻,上上微信或做做其他的事情。但意料之中的是电脑上会莫名出现各种问题?不翼而飞的图标?照片又不见了?文件被删了,卡机或者黑屏,无声音了,等等问题。常常让她束手无策,求助于我,可惜在电话中说不清,往往只能苦等我回家后才能解决,那种开心乐趣一下子消失了。想想,这样也不是办法啊, 于是,我潜心寻找了两款优秀的远程控制软件。两款软件...

成功Ubuntu18.04 ROS melodic安装Cartograhper+Ceres1.13.0,以及错误总结_ros18.04 安装ca-程序员宅基地

文章浏览阅读1.8k次。二.初始化工作空间三.设置下载地址四.下载功能包此处可能会报错,请看:rosdep update遇到ERROR: error loading sources list: The read operation timed out问题_DD᭄ꦿng的博客-程序员宅基地接下来一次安装所有功能包,注意对应ROS版本 五.编译功能包isolated:单独编译各个功能包,每个功能包之间不产生依赖。编译过程时间比较长,可能需要几分钟时间。此处可能会报错:缺少absl依赖包_ros18.04 安装ca

Harbor2.2.1配置(trivy扫描器、镜像签名)_init error: db error: failed to download vulnerabi-程序员宅基地

文章浏览阅读4.1k次,点赞3次,收藏7次。Haobor2.2.1配置(trivy扫描器、镜像签名)docker-compose下载https://github.com/docker/compose/releases安装cp docker-compose /usr/local/binchmod +x /usr/local/bin/docker-composeharbor下载https://github.com/goharbor/harbor/releases解压tar xf xxx.tgx配置harbor根下建立:mkd_init error: db error: failed to download vulnerability db: database download

推荐文章

热门文章

相关标签