版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、什么是10 BASH,10.1 shell,为我们工作的是硬件,控制硬件的是核心,用户使用shell控制kernel提供的工具(Utility )使硬件正确运行。 此外,由于kernel听不懂人类的语言,人类也不能直接使用kernel的语言,因此两者的交流是shell,10.2 bash shell,年轻的Unix年代,发展者很多,shell根据发展者不同有很多版本, 例如,常见的boull Linux使用bourneagainshell (简称bash ),该shell是Bourne Shell的扩展版,在基于GNU的体系结构中开发。 命令编辑能力(DOS这样的doskey功能)补充功能(对
2、照数据的准确性)命令别名(alias )设定功能作业控制、前景背景控制shell脚本的强大功能、10.3变量和变量的设定、echo env set变量设定规则等号的两侧直接空格请注意,如果有空格字符不能是开头字符,则可以使用双引号或单引号来组合变量的内容,但双引号中的特殊字符保留变量的特性,而单引号中的特殊字符只是普通字符,如果需要,可以使用特殊符号(例如,Enter、$、空格符号) 在用跳转字符“”将变更为一般符号的一系列命令中,还需要由其他命令提供的信息,在这种情况下,可以使用quote“ command”。 如果此变量是扩展变量的内容,则必须继续使用双引号和$变量名(例如$PATH:/h
3、ome )将内容相加。如果需要在另一个子例程中执行此变量,则使用export运行变量(例如,export PATH; 大写字母通常是系统的默认变量,自定义变量可以使用小写字母轻松确定(基于用户的兴趣和爱好)。 取消变量的方法是unset变量名。 10.4命令别名和历史命令,alias和unaliastesttsettest # alias lm=ls-al|morehistorytesttest # history test test #! 数字! 命令! 不要!10.5 bash shell配置文件、系统设置/etc/profile :此文件包含重要变量,如路径、用户、邮件主机名、HISTS
4、IZE和umask 定义了个人设定值/.bash_profile :个人路径(PATH )和环境变量的文件名。 /.bashrc :设置个人变量,如命令别名设置和路径重新定义。 /.BASH_logout :此文件是bash在注销shell时执行的。 使用10.6通配符和特殊符号、10.7绝对和相对路径、bash的另一个烦恼是路径没有完全设置。 输入命令时需要将长列的命令写入根目录,这是绝对路径的设定方法。 绝对路径和相对路径的概念很重要。 不那样做的话,经常找不到文件。 绝对路径是从根目录写入文件的命令的描述方法。 例如,位于名为/home/test的test用户的根目录中。 我想看看里面的
5、. bashrc文件的数据。 使用more指令。 此命令位于/bin/more中,简单来说,就是将当前获得的数据移动到其他位置。 例如,通过将当前的画面输出数据传输到文件中,可以写成ls -l/test。 大于“”意味着将输出结果导出到test文件中。 此时:执行ls -l /时,根目录的文件和子目录都会显示在画面上,但是使用移动到test文件时,画面上什么也没有,但是刚执行的结果会输出到test文件中。中的组合图层性质变更选项。 因此,只需进行vi test,就可知test文件中记录了上次的执行结果。 但是,这里特别需要注意的是,使用符号从画面导出数据到文件时,1 .如果该文件(test )
6、不存在,则自动创建。2 .如果该文件存在,则在写入数据前该文件的内容为空。 也就是说,将内容输出到现有文件时,该文件的原始内容将被复盖。 除此符号外,在执行bash指令时,还有标准输入:代码为0或stdin,使用方法为错误输出:代码为2或stderr,使用方法为2,注意,1和2三种输出输入情况。作为相关的使用示例,test test test# ls -al list.txt将显示结果输出到list.txt文件,如果该文件已存在,则将显示结果代替test test # ls-al list.txt添加到list中。 测试测试测试# ls-al1list.txt2list.err显示数据为lis
7、t.txt,错误数据为list.err, 正确输出到test test # ls-al注意:错误和正确的信息输出到同一文件时,必须按照上述方法写入,以其他形式的test test # ls-al1list.txt2/dev/null表示的数据必须正确以下是命令重定向中常用的一些符号和设备:将屏幕输出的正确数据输出到右侧的文件(文件名)或设备(打印机等设备)将屏幕输出的正确数据输出到右侧新数据添加到文件的末尾2 :原本应该从屏幕输出的错误数据输出到2的右侧/dev/null :可以视为垃圾邮件。 基本上,Linux的执行结果可以大致分为正确的输出和错误的输出两种方式。 例如,在以通常的身份执行名
8、为find的命令的情况下,若执行例如find/-name testing,则是通常的身份,一些文件夹由于不允许通常的身份的访问,因此若使用find,则显示错误消息。 但是,如果可以访问testing文件,则屏幕也会输出到该文件。 因此,有正确的输出和错误的输出两种(分别称为Stdout和Stderror )。 中的组合图层性质变更选项。 例如,find 3360/home/root : permission denied表示您没有权限访问此文件夹。 这是错误输出,/home/test/tseting是正确的输出test test # find/- nametestingfind 3360/ho
9、me/test 1: permissiondeniedfind 3360/home/root : permi ing masda : permission denied/home/test/testing如果您现在想将数据输出到名为list的文件,find/- name测试列表会怎么样list中保存了该正确的输出数据,但是画面上会显示错误的信息。 如何将正确和错误的数据存储在不同的文件中? 其实在数据重定向中,正确的写法应该是1和2,但如果只是这样,默认情况下用1进行数据的输出。 1输出正确的数据,2输出错误数据。 即,1 :将正确的数据输出到指定的场所2 :将错误的数据输出到指定的场所,正确
10、地说,将1称为标准输出,将2称为标准错误输出,但是,这里为了帮助记忆,用所谓的正确和错误的输出进行说明。 在上面的示例中,如何将数据输出到其他位置,可以写成test test # find/- name testing1list _ right2list _ error。 这样,在刚刚执行的结果中,Permission行的错误消息会写入list_。如果我有正确的数据,就不需要错误的信息,这个时候/dev/null这个垃圾设备很重要/dev/null是什么? 基本上,它就像是一个无底洞,用来收集垃圾。 如果输入的东西被引导到这个虚拟垃圾箱,那个就会随意消失。 这个很方便。 例如,上面的示例可以丢
11、弃错误的信息,如测试测试# find/-名称测试1 list _ right2/dev/null。 向同一文件写入数据的情况下是什么呢? 最简单的说法是,原本需要从键盘输入的数据经由文件读入,最显着的例子是邮件。 我们以root的身份给root发信。 这是、1 .可以完全从键盘输入数据: root test test # mail-s testroot=-s表示标题,root是收件人I am root。=以下所有数据都是通过键盘输入的Thats OK . CC. EOF2.文件替代输入test test tset # mail-s testroot/root/. bashrc将. bashrc
12、内容发送给root。 如果正在执行背景的程序不希望干扰屏幕的正常输出结果/某些系统例程命令的执行结果,例如写入/etc/crontab中的文件,如果希望能够保存,则有些执行命令知道可能的错误消息,因此返回2/2 、10.9流水线命令、bash命令执行时输出数据,如果这些数据必须经过几个手续才能得到所需的格式,应该如何设定? 其中包括管线命令问题(pipe )。 使用“|”分隔符作为管线命令。 此外,管线指令和连续输入指令的不同点将在后面叙述。 首先,以简单的流水线指令为例进行说明。 如果要读取last命令的root登录次数,该怎么办? 注意,我们只需要次数。 步骤如下:执行last,检索本月所
13、有人的所有注册数据。使用grep检索上面的输出数据(stdout )的root,除此之外请停止。3 .使用WC这个可以修正行数的命令,以前检索到的dee 另外,由于last的输出1行表示单登录,因此只要修正数行则表示多次登录,因此通过经过上述的3个步骤,阶段地筛选last数据,就能够得到我们需要的数据。可以将整个命令写为test testbin # lasttestbin # last|greproottesttestbin # last|grep root|WC-l。 10.9.1 cut语法: root test /root # cut -d分隔符-cf fields堆残奥参数说明:-d
14、:后跟分隔符。 缺省值为空白字符-c :接下来是第几个字符-f :接下来是第几个块的示例: root test/root # cat/etc/passwd|cut-d :-f 1是passwd文件,即名称所在的root test/root # l 第一个块root test /root# last | cut -c1-20列出了last之后的数据。 10.9.2 sort语法: root test /root # sort -t分离符(开始) (-结束)-nru堆残奥计量器说明:-t分离符:用分离符分隔不同的块,缺省值为tab start-end :从start块到end 示例: root test root test/root # cat/etc/passwd|sort-t :2 n按用户ID对个人帐户进行排序(:为分隔符,第三个为ID )。 但是,最初的代号是0 ) root test/root # cat/etc/passwd|s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年《静脉血液标本采集指南》考核试题(含答案)
- 2026年《家政服务员》考试模拟题含参考答案
- 梧州市藤县2027届数学三上期末复习检测模拟试题含解析
- 塔河县2027届四年级数学第一学期期末教学质量检测试题含解析
- 佛山市顺德区2027届三年级数学第一学期期末综合测试试题含解析
- 2027届云南省昆明市五华区四四年级数学第一学期期末达标检测模拟试题含解析
- 高职焊接专业油罐焊接施工方案风险评估教学设计
- 初中物理(九年级全一册)·第四章 电路 第1节 电流及其测量 教学设计
- 湘潭市湘潭县2027届三年级数学第一学期期末复习检测试题含解析
- 初中九年级物理《凝固:从相变到创新应用》项目式教学设计
- 2025年融通资源开发中层管理干部社会招聘笔试历年参考题库附带答案详解
- 2026年湖北省中小学教师高级职称专业水平能力测试模拟题(含参考答案)
- 理论联系实际如何理解新时代我国社会主要矛盾的变化
- 2026年山东高考物理卷试题真题及答案详解(精校打印)
- 2026年金华小升初科学测试题及答案
- 江苏省镔鑫钢铁集团有限公司新建1250立方米高炉建设工程项目环评报告
- 提升机主轴装置安装课件
- GB/T 41867-2022信息技术人工智能术语
- GB/T 4096.1-2022产品几何技术规范(GPS)楔体第1部分:角度与斜度系列
- 北京师范大学第三附属中学初一新生分班(摸底)数学模拟考试
- T-CSCS 009-2020 钢结构滑移施工技术标准-(高清版)
评论
0/150
提交评论