shell脚本重点笔记专业资料.doc
《shell脚本重点笔记专业资料.doc》由会员分享,可在线阅读,更多相关《shell脚本重点笔记专业资料.doc(44页珍藏版)》请在咨信网上搜索。
1、#!/bin/sh第一某些 UNIX和SHELL工具1 四、使用文献lsls F用附加字符来标示列出来条目文献类型。ls d 只显示目录名字,不显示它内容。mkdir p /dir1/file1 如果父目录不存在,创立父目录catcat n file1输出每一行带编号cat b file1输出空白行不编号wc 参数: -l记录行数 -w记录单词数-m记录字符数linux中没有-c记录字符数 linux中有cpcp src1 srcN dest拷贝各种文献cp i file1 file2交互模式,覆盖会提问cp r dir1 dir2拷贝目录mvmv src1 srcN dest移动各种文献mv
2、 i file1 file2交互模式,覆盖会提问rmrm i file1交互模式,覆盖会提问2 五、输入与输出1、输出到终端echoecho str输出strecho命令使用转义序列(在ksh中有效,bash中无效)(该转义序列也可用于printf)n打印换行t打印tab字符c背面不默认跟随换行,打印一种字符串echo “Your fruit basket contains:napple orange pear”printfprintf命令要在字符串后输出换行,必要在所要打印字符串后明确指定n转义序列,而echo命令会自动打印出换行。e.g.echo “Is that a mango?”等于p
3、rintf “Is that a mango?n”printf 基本语法printf format argumentsformat格式序列形式如下:%-m.nx%标示格式序列开始,x指明格式序列类型,下表给出了x也许得值字母描述字母描述s字符串o八进制数c字符e指数浮点数d十进制整数f固定浮点数x十六进制数g紧密浮点数依照x值不同,整数m和n有不同解释。普通,m是域最小长度,而n是域最大长度。如果你指定一种实数,n就被作为应当用到精度,连字符 表在左边对齐一种域。默认状况下,所有域都是在右边对齐.e.g.printf “%-16st%-16sn” “Name” “User Name”表达左对其
4、,输出被分隔为两列,每16个字符长度被空格分隔开。2、输出重定向cmd file可以将命令列表输出重定向e.g. date ;uptime ;who ; mylogcmd file追加到文献cmd | tee file将输出从定向到文献和屏幕,使用tee 命令e.g.date | tee now输出到屏幕同步写入文献now3、输入重定向cmd filecmd delimitershell将操作符 file1 fileexec nfile其中n为文献描述符e.g.exec 4file.out把文献file.out和文献描述符4关联起来注意:exec 1file.out则所有输出都将被放到file
5、.out中,在终端屏幕上将什么也看不见普通输入/输出重定向将指定命令cmd输出重定向到指定文献cmd n filecmd n filee.g.ls 1file将ls命令原则输出到file.重定向原则输出和原则错误到单独文献cmd 1 file1 2file2由于文献描述符1可以被省略,上面命令可以简化为 cmd file1 2file2cmd 1file1 2file2cmd file1 2file2重定向原则输出和原则错误到同一种文献cmd 1file 2&1等于cmd file 2&cmd 1file 2&1等于cmd file 2&打印消息到原则输出echo str 1&2等于echo
6、str &2printf format args 1&2等于printf format args &2 重定向一种文献描述符输出到另一种文献描述符格式为: n&mn和m都是文献描述符,exec n&m关联所有n输出到m重定向输入来自另一种文献描述符格式为: n&mn和m都是文献描述符exec n-3 六、操作文献属性命名管道mkfifo file在这里,file是给于该管道文献名。SUID 和 SGIDSUID 当你执行一种设立了SUID位程序时,你就继承了该程序属主权限,而没有设立SUID位程序在执行时只拥有执行该程序顾客权限。SGID设立了SGID位程序将以程序属主所属顾客组权限来执行。如
7、果一种目录设立了SGID位,任何加到该目录下新文献自动继承该目录组,来代替生成文献顾客组。SUID 和 SGID 位以字母s和S来表达。如果文献SUID或SGID权限被激活,SUID位就在文献属主执行权限位。e.g.ls l /usr/bin/passwd-r-sr-xr-x 1 root bin19031Feb713:47/usr/bin/passwd*如果大写字母S代替了小写字母s,则表达该文献属主执行位没有被激活。粘滞位如果目录粘滞位被设立,则只有当你是如下顾客时,文献才干被删除:设立粘滞位目录属组要被删除文献属组超级顾客root粘滞位以字母t和T表达。如果大写字母代替了小写字母s,则表
8、达该文献属主执行位没有被激活。chmode.g.chmod go-w,a+x a.oute.g.chmod R o+r pub变化pub目录及其子目录下所有文献权限使用8进制办法设立SUID和SGID位时,把这些位数值放在原则权限位前面,SUID和SGI分别取数字4和2。e.g.chmod 2444 *4 七、进程切换前台进程到后台bge.g.bg %2切换2号任务进程到后台切换后台进程到前台fge.g.fg %2切换2号后台任务进程到前台保持后台进程 nohupe.g.nohup ls &等待后台进程结束wait此命令会等待所指定任务或者进程执行完毕。wait命令有3种形式:无选取(缺省)等
9、待所有进程结束,通过进程IDe.g.wait 15060等待15060进程结束通过百分号%作为前缀任务号e.g.wait %2等待2号任务显示后台任务 jobs该命令显示哪些进程被悬挂,哪些在后台运营。e.g.jobs3 + Runningfirst_one &2 Stopped (SIGTSTP)second_one 1 Stopped (SIGTTIN)third_one &任务3正在运营;任务2是一种前台进程,被Ctrl+Z进行悬挂;任务1是一种后台进程,正在等待键盘输入列出所有运营进程 psUID 进程所有者;PID 进程标记符;PPID 父进程标记符;C 进程CPU占用率STIME进
10、程开始时间;CMD开始进程命令关闭进程 kille.g.kill %1关闭任务号为1进程subshell概念当你运营一种shell脚本时候,除了脚本中命令之外,另一种shell解释器拷贝也会产生。设个新shell被称为subshell。覆盖当迈进程 exec 该命令可以用一种新进程来覆盖当迈进程。使用时要务必小心!可以exec来彻底更改你shell解释器而不需要此外产生subshell。 e.g. exec csh第二某些 SHELL编程5 八、变量标量变量一次只能被赋予一种值变量名只能包括字母、数字和下划线 _ 。只能以字母或下划线作为开始。变量值可以存储或分派任何值到变量中。带空格变量值需
11、要用单引号或双引号引起来。 E.g. ¥ FRUIT=”apple orange plum”访问变量要获取变量值,只要在变量名之前加上美元符号$作为前缀即可建立数组变量办法一: 直接给一种索引赋值,格式为nameindex=valuee.g.$ FRUIT0=apple;FRUIT1=banana ;FRUIT2=orange办法二:在 ksh中为set A name value1 value2 valueNe.g. $ set A band derri terry mike gene在bash中为name=(value1 valueN)e.g. $ band=(derri terry mik
12、e gene)在bash中设定多重数组元素,需要在赋值之前建立一种数组索引:e.g. $ myarray=(0=derri 3=gene 2=mike 1=terry)数组索引不必安装顺序注意:索引必要是一种整数如果一种数组变量名和一种已经被定义了标量变量名重名,那么标量变量值就变成了数组变量中索引0值。访问数组值办法为:$nameindexe.g.$echo $FRUIT2使用 $name* 和 $name可以访问数组中所有项目$name*以为实际有几种索引就与否几项$name以为实际有几种索引项加上空格分开项目e.g. $ FRUIT=(apple banana “orange passi
13、on”)$name*以为有3项$name以为有4项只读变量 readonly变量可以通过readonly命令被标记为只读.可用来标记数组或标量变量为只读e.g.$ FRUIT=kiwi;readonly FRUIT删除变量 unset格式:unset namee.g.$ unset FRUIT只读变量是无法被删除,它将始终保持到shell退出为止。输出环境变量办法一:name=value ;export name办法二:export name=valueshell 变量是在shell初始化时被设定并内部运用变量。附录:惯用shell变量$PWD指出当前工作目录$UID指出当前顾客数字顾客标示符
14、$SHLVL每次bash打开一种历程就自动加1,这个变量作用在于拟定内建exit命令与否关闭了当前会话。$REPLY若不给定参数,会让read命令读到输入最后一行$RANDOM产生0到32767随机数$SECONDS返回shell启动秒数。$IFSshell使用该变量IFS值把一种字符串分隔为单独词。IFS默认设立是空格和tab键.e.g. dirs() OLDIFS=”$IFS”IFS=:for I in $_DIR_STACKdoecho “$I c”doneechoIFS=”$OLDIFS”$PATH搜索途径$HOME当前顾客主目录。附录:特殊变量$?上一条命令退出状态保存在变量$?中,
15、为0表达到功,非0表达失败可以用变化量来检测一条命令与否执行成功。e.g.if $?eq 0 ;thenecho “Command was successful.”;elseecho “An error was encountered.”exitfi$-专用变量$-是一种包括所有shell选项列表。检查$-与否包括字母i是判断shell是运营在交互模式下还是非交互模式下最简便办法。e.g.case $- in*i*) PS1=”uname n$ “PATH=”$PATH:$HOM#/bin”Export PS1 PATH;Esac$PS3变化脚本运营提示符e.g PS3=”New prompt
16、” ;export PS3;注意shell变量PS3把空格也作为最后一种字符。6 九、置换元字符*匹配0到各种任意字符匹配一种前缀cmd prefix*匹配一种后缀cmd*suffix匹配前缀和后缀cmd prefix*suffix元字符?匹配1个任意字符如果shell不能发现任何文献名可以匹配包括一种?元字符表达式,shell就会把?看作文献名中字符。由于这个因素,如果一种shell脚本使用匹配文献名作为参数,则需要验证文献与否存在,以免出错。匹配字符集合 cmd char匹配字符范畴e.g. ls ch00-9.doc;ls a-zA-Z*取消一种集合,即不涉及一种集合 !cmd !cha
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- shell 脚本 重点 笔记 专业 资料
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。