鸟哥私房菜 第三部分 学习shell与shell script 学习笔记
admin
2024-03-12 09:49:30
0

鸟哥私房菜 第三部分 学习shell与shell script 学习笔记

文章目录

  • 鸟哥私房菜 第三部分 学习shell与shell script 学习笔记
    • shell定义
    • Unix shell的类型
      • Bourne Shell(sh)
      • C shell(csh)
      • Korn Shell(ksh)
      • POSIX Shell(sh)
    • 命令
      • 命令的查找顺序
      • 命令通配符
      • 特殊指令
        • || && ;
        • 管道操作pipe
        • 重定向
        • 变量

书本目录:

第三部分 学习shell与shell script
第10章 vim程序编辑器
第11章 认识与学习bash
第12章 正则表达式与文件格式化处理
第13章 学习shell script

shell定义

shell壳程序:操作系统的内核管理系统的硬件,内核需要进行一定的保护,防止被用户错误导致系统崩溃。可程序是一个在用户和内核之间的桥梁,shell壳程序包含着很多命令,用户通过壳程序和内核进行交互,从而控制硬件。

Unix shell的类型

各主要操作系统下缺省的shell:

AIX下是Korn Shell。
Solaris缺省的是Bourne shell。
FreeBSD缺省的是C shell。
HP-UX缺省的是POSIX shell。
Linux是Bourne Again shell。

Bourne Shell(sh)

首个重要的标准Unix Shell是1979年底在V7 Unix(AT&T第7版)中引入的,并且以它的创始科技部基础条件平台“国家气象网络计算应用节点建设”(2004DKA50730)资助者Stephen Bourne的名字命名。Bourne shell 是一个交换式的命令解释器和命令编程语言。Bourne shell可以运行为login shell或者login shell的子shell(subshell)。只有login命令可以调用Bourne shell作为一个login shell。此时,shell先读取/etc/profile文件和HOME/.profile文件。/etc/profile文件为所有的用户定制环境,HOME/.profile文件。/etc/profile文件为所有的用户定制环境,HOME/.profile文件。/etc/profile文件为所有的用户定制环境,HOME/.profile文件为本用户定制环境。最后,shell会等待读取你的输入。

C shell(csh)

Bill Joy于20世纪80年代早期,在加利福尼亚大学伯克利分校开发了csh。它主要是为了让用户更容易地使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。

Korn Shell(ksh)

有很长一段时间,只有两类shell供人们选择——Bourne shell用来编程,csh用来交互。为了改变这种状况,AT&T贝尔实验室的David Korn开发了ksh。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,ksh广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。ksh是一个交互式的命令解释器和命令编程语言。它符合POSIX——一个操作系统的国际标准。POSIX不是一个操作系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。
Bourne Again Shell(bash)
bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux。大多数的Linux(Red Hat、Slackware、Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。

POSIX Shell(sh)

POSIX shell是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0,POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh。

命令

命令的查找顺序

根据相对路径或者绝对路径查找
alias命令别名
bash当中查找
PATH路径中查找

命令通配符

*,?,[]

特殊指令

特殊指令含义
#注释
|管道操作pipe
;连续命令分隔符
!逻辑非操作
&后台执行命令
( )子shall
{ }命令区块
" "具有变量替换的功能
’ ’不具有变量替换的功能

|| && ;

; 表示顺序执行,无相关性
|| 两个命令中只执行一个
&& 前一个命令执行了才执行下一个,否则都不执行

管道操作pipe

管道外只处理标准标准输出信息

重定向

stdin :标准化输入
stdout :标准化输出
stderr : 标准错误输出
/dev/null : 输出到null(不输出)
&1 : 标准化输出
&2 : 标准错误输出

> 清空输出
>> 追加输出

2>&1 将stderr整合到stdout输出
1>&2 把stdout整合到stderr
>/dev/null 把stdout整合到/dev/null
1>/dev/null 把stdout整合到/dev/null

常用组合

# 命令后台执行不输出
命令 >/dev/null 2>&1 &
# 命令后台执行不输出,忽略SIGHUP信号
nohup 命令 >/dev/null 2>&1 &
# 命令后台执行,日志输出到文件/tmp/com.log
命令 >/tmp/com.log 2>&1 &

变量

$ 当前shell使用的PID(进程ID)
? 上个命令的返回值,成功执行返回的是0

相关内容

热门资讯

阿里等三巨头抢朴朴超市?电商要... 作者|白婉嘉 编辑|文定 一场竞购传闻,把朴朴超市推到了台前。 5月25日,多家媒体报道称,阿里、美...
宁波土耳其购房移民机构怎么选? 宁波地区有土耳其购房移民需求的客户群体主要集中在企业主、金融从业者、跨境电商经营者和专业人士等,其核...
芯跳加速时这一红利ETF却半个... 5月28日,芯片半导体和红利方向同步走强,杠杆资金上演哑铃投资新范式。截至10:27,中证红利ETF...
强强携手共谋发展——京东电商平... 5月20日,京东电商平台相关负责人莅临菏泽华运食品公司,开展实地考察与合作洽谈。菏泽华运食品公司总经...
千问正在“夺舍”阿里云 文|象先志 5月26日,阿里云在新加坡面向海外市场发布全新AI产品官网Qwen Cloud、Age...
原创 5... 5月27日黄金价格小幅回落,国内基础金价和中国黄金基础金价均为994.0元/克,黄金回收价为977元...
中汇人寿潍坊中心支公司被罚15... 蓝鲸新闻5月28日讯,近日,国家金融监督管理总局潍坊监管分局公布行政处罚决定书,对中汇人寿保险股份有...
天源迪科:董事长陈友解除留置 天源迪科午间公告,今日,公司收到江西省景德镇乐平市监察委员会签发的《解除留置通知书》,已对公司董事长...
胡衡华,辞去重庆市长职务 5月28日,重庆市人民代表大会常务委员会发布关于接受胡衡华辞职的决定: 据《中华人民共和国地方各级人...
社媒帖子点燃欧洲半导体妖股 晶... 财联社5月28日讯(编辑 赵昊)周三(5月27日),一个鲜为人知的欧洲芯片制造商股价一度暴涨逾70%...
原创 A... 今日A股三大指数集体下跌,截至收盘,上证指数跌1.25%,深证成指跌0.88%,创业板指涨0.07%...
大盘下跌白酒板块又涨了!行业仍... 大盘下跌的时候,白酒板块又“如无意外”地成为资金关注的目标。 5月27日A股跌破4100点时,白酒板...
消费基金重仓科技 合规还是越界... 记者 洪小棠 截至2026年5月27日,A股市场的结构性行情正在以一种近乎撕裂的方式演绎。一边是近年...
人工智能板块延续调整,人工智能... 5月27日,人工智能板块延续调整,截至收盘,中证人工智能主题指数下跌1.8%,中证科创创业人工智能指...
原创 长... 国内存储芯片龙头长鑫科技在5月27日顺利通过科创板上市委审议,距离正式挂牌交易仅剩最后一步。这不仅仅...
南京跑出“数字人第一股”! 8... 「IPO全观察」栏目聚焦首次公开募股公司,报道企业家创业经历与成功故事,剖析公司商业模式和经营业绩,...
“飞轮”之上:财通资管是这样炼... 2001年,知名管理学者吉姆·柯林斯出版了著作《飞轮效应》。这部书描绘了一个常见的商业现象: 在同样...
嘉戎技术收购,宁德时代背书 见习记者刘墨 值得关注的是,宁德时代深度参与本次交易,不仅通过旗下产业基金参与并购主体,宁德时代实控...