开启辅助访问 切换到窄版

打印 上一主题 下一主题

腾讯T4周末不陪对象,就为了手打这份shell编程笔记

[复制链接]
作者:未完续· 
版块:
嵌入式操作系统 linux 发布时间:2020-10-19 01:46:29
17900
楼主
跳转到指定楼层
| 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个周末,为了某些原因,我把shell编程的一些基础知识进行了相应的整理,这里分享给大家,大家在看的时候,有什么问题可以在下方评论区给我留言呀,欢迎转发
自己纯手打,原创不易,谢谢支持

执行sh01.sh

文件流:我们大家应该对一个东西不陌生,编程,那编程这个东西简化一下应该怎么分步骤呢?赵本山老师说过,是不是大象关进冰箱分几步 啊,三步是不是,打开冰箱,大象放进去,关上冰箱,那好,其实我们的编程也就是这样,无非就是一个input一个output,中间的实现过程是不是就可以按照你的习惯自己去书写了啊,对吧,所以文件流或者说IO流其实就是这样的一个概念
那好,我们为什么要在linux中强调这个东西,你们之前学过linux,那你们应该知道linux区别于windows 的一个点是不是就是文件至上 啊,在linux的认知中的,一切皆文件,可能你们用的是图形化界面的linux,那大家可以看一下老师的这一个,是不是里面所有的东西都是文件啊,就是以文件的形式存在的。
重定向:(重定向不是命令)
程序自身都有IO
0:标准输入
1:标准输出
2:错误输出
控制程序IO位置:本身我们的文件是不是一对一的,一一对应,一个输入就是完整的输入到一个输出中啊,然后呢,我们linux干了一件什么事 啊,他找了一个第三者(fd),中间人的意思啊,然后呢,我们的输入连接到第三者,然后由第三者将数据进行相应的转发,转发到我们想要他去的位置
cd /prof/$$/fd
Ps -ef 查看进程 ps -ef | grep 13175
举个例子,ls这个命令大家都很熟悉了对吧,我反正拿到一个linux系统,就跟拿到数据库管他怎么样,先来一个select一样,我就先来一个ls,然后再去做别的,那好,那我们知道,ls是不是就是输出显示啊,ll命令就是ls -l的缩写,那他是将当前目录的内容展现到控制台也就是我们的页面上进行相应的显示,对不对,那好,我们前面也说过012这三个属性对吧,对应输出的是不是就是我们的1啊,那我们可不可以通过1这个属性将我们的这个输出位置进行相应的改变啊,好,我们来看一下
ls 1> aaa 在这其中有两个点,
一个是覆盖(ls /tmp 1> aaa)

一个是追加(ls /tmp 1>>aaa)

那如果我们换一下呢 ls / /tmp 1> aaa 这个命令是不是这两个文件夹中的目录都进入我的aaa中了啊,那他的顺序是怎么样的啊,那好,这个地方分成两种情况讨论,
一同级(按照字典序排列),
而上下级(按照上下级排列,也就是我们的目录深度,为什么,因为我们的linux是不是一个目录树的结构 啊 tree -L n)
组合使用
新建 mkdir out
ls / /aabb 1>ls01.out 2>ls02.out(aabb不存在)
那这样写是不是很麻烦啊,可以不可以联系结合到一起啊
ls / /aabb 1>ls03.out 2>ls03.out
按照常理来说是不是从左向右执行,对吧,但是这里为什么没有我们的错误输出呢?好,我们来看一下
ls / /aabb 或者ls /aabb /
我们发现,无论怎么处理,是不是最先输出的是我们的错误日志啊,那也就是说,我的命令
先将错误日志写入到ls03.out中啊,然后当我们再次写入标准输出的时候,会被覆盖掉啊,
ls / /aabb 1>>ls04.out 2>>ls04.out
这样是不是还是很麻烦啊,人比较懒,我不想重写两遍,那我该怎么处理呢?
这里就有一个新的符号&
ls / /aabb 2>&1 1>ls05.out
这里有问题啊,是不是啪啪打脸 啊,我说这里可以用一个&符号,但是为什么会有问题啊?
大家想一下这条命令,我是不是按照顺序进行,是不是有一个2,一个1 啊,那2指向1了,但是1是不是指向控制台啊,也就是说我的错误日志是不是还是在控制台上进行展示啊,然后这个进行完了之后,1又重新指向了ls05.out,那我们这地方考虑一下,换个顺序怎么样?
ls / /aabb 1>ls06.out 2>&1
这样是不是就可以了啊。但是啊,这里注意啊(符号左边不能有空格,,但是右边没问题,是可以的)
ls / /aabb >& ls07.out 和ls / /aabb >& ls07.out这是两个特殊写法 是最简单的特殊写法,记住就可以了)
输入重定向之前我们写的都是输出重定向,然后接下来就是我们的输入重定向

read aaa

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表