unix脚本和linux脚本的区别,shell脚本和批处理脚本有什么区别?

shell脚本和批处理,通常是linux和windows下进行一些简单脚本执行任务的途径。对一半用户来说,反正都是执行任务,一个是linux、unix和mac下等类unix下,一个是windows下。但是两者是有很大的不同。

127698320_1_20180319094250863

1、linux shell是个linux 操作系统的用户交互层

对linux来说,应用程序想调用系统底层的资源比如内核和硬件,必须通过shell调用。

127698320_2_20180319094250941

命令行是个小应用

命令行是windows下的小应用,包括后来大幅度升级的PowerShell也是。

127698320_3_2018031909425135

2、linux shell是存在交互层,包括应用接口和大量的工具链,不依靠图形桌面

对linux来说是必须的,没有shell是不行的,但是可以没有图形桌面,图形桌面不过是跑在shell上的应用。

shell下个工具,包括grep,sed,awk三剑客,以及其他cat、less、find、cut、sort、tail、top等大量小工具可以组成工具链方便的执行各种任务。

比如我们要统计一个web access日志的访问量最大的10个ip:

awk '{print $1}'|sort|uniq -c|sort -nr|head -n 10

127698320_4_20180319094251144

命令依赖window桌面

而命令行包括powershell在window下都依赖window桌面,是桌面上的应用,没有桌面无法运行。

3、shell是一个很强大的编程语言

shell有很多个性版本的包csh,sh, bash 和zshell功能强大,不光是命令接口还是强大编程语言。

c shell、csh

编程能力强大,基于c语言语法,比如很多unix默认都是cshell。

127698320_5_20180319094251222

ban shlinux默认的shell

linux发行版默认的shell,也是大家使用最多的shell环境,引入了大量适应性的个性,比如tab自动补全等。爱死它了。

zsh新一代的shell

命令补全功能非常强大,还有命令自动纠错功能,傻子都不怕输错命令了。很多码农们的最爱

对比下个各种shell的功能矩阵对比图:

127698320_6_20180319094251347

微软的命令行也在进化

微软以dos起家,以窗口环境占领PC几十年,最近估计也慢慢感受到了linux带来的压力,所以也开始怀抱开源,对于命令行也在努力改善,推出了增强版Powershell,】各种功能上,以及编程体验好多了。

127698320_7_20180319094251456

在window10中 微软还通过WSL引入了对linux子系统的支持,功能也非常不错,相关信息可以看笔者的文章《WSL大量功能更新,Bash on Windows还只是微软的一个玩具?》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值