Shell中的<,<<,>,>>介绍
一、文件描述符
Linux启动后,会默认打开3个文件描述符,分别是:标准输入standard input 0;正确输出standard output 1;错误输出:error output 2
Linux Shell下常用输入输出操作符是:
- 标准输入 (stdin) :代码为 0 ,使用 < 或 << ; /dev/stdin -> /proc/self/fd/0 0代表:/dev/stdin
- 标准输出 (stdout):代码为 1 ,使用 > 或 >> ; /dev/stdout -> /proc/self/fd/1 1代表:/dev/stdout
- 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ; /dev/stderr -> /proc/self/fd/2 2代表:/dev/stderr
二、> ,>>
输出重定向:表示把将输出重定向到屏幕或者设备或者文件;其中, >> 表示追加新信息到文件
关闭正确输出和错误输出:ls test.txt test.txt1 1>&- 2>&-
&代表所有输出:ls t.txt t.txt1 &>te.txt
&[-,1,2] 分别表示 关闭对应的标识,正确输出,错误输出
三、<,<<
输入重定向
从文件test.txt获取输入给cat,然后cat输入重定向给text1.txt:cat > text1.txt < test.txt
<< 表示接受一个输入结束的标识,当输入这个标识时结束输入:
cat > t.txt << eof
> q
> a
> z
> eof
# 当控制台输入eof后,结束输入
四、exec绑定重定向
绑定一个新的文件描述符6,并且绑定标准输出(相当于给标准输出保存一个临时copy)
ls /proc/self/fd
0 1 2 3
exec 6>&1
ls /proc/self/fd
0 1 2 3 6
#把标准输出绑定回来:
exec 1>&6
ls /proc/self/fd
0 1 2 3 6
#关闭自定义的文件描述符
exec 6>&-
ls /proc/self/fd
0 1 2 3
⚠️注意:如果直接把标准输出绑定到文件,那么问题就是,再也变不回来了
Shell中的<,<<,>,>>介绍相关推荐
- Shell中alias介绍
Shell alias:给命令创建别名 alisa 用来给命令创建一个别名.若直接输入该命令且不带任何参数,则列出当前 Shell 进程中使用了哪些别名.现在你应该能理解类似ll这样的命令为什么与ls ...
- linux下变量名长度,Linux中shell的变量介绍
Linux中shell的变量介绍 发布时间:2020-06-24 16:20:39 来源:亿速云 阅读:112 作者:元一 这期内容当中的小编将会给大家带来有关Linux中shell的变量介绍,以专业 ...
- shell中四大循环介绍及使用
1.for循环结构语法及实例 1.1.for循环结构语法1 for 变量名 in 变量取值列表 do 指令---. done 提示:此结构中"in 变量取值列表"可省略,省 ...
- shell中expr的使用介绍
在Linux shell命令中expr虽然不是很起眼,但是它的作用是非常大的!到目前为止,我个人看来最大的作用就是两个--四则运算和字符串的操作. 先说四则运算,在Shell中四则运算不能简简单单的加 ...
- linux中比较大小的符号,linux shell中的比较符号与特殊符号介绍
shell字符串比较.判断是否为数字 二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别. 整数比较 -eq 等于,如:if [ "$a" -eq "$b&qu ...
- Linux从mysql中读取数据_linux shell中读写操作mysql数据库
本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为 ...
- shell中的IFS
一.IFS 介绍 Shell 脚本中有个变量叫 IFS(Internal Field Seprator) ,内部域分隔符.完整定义是The shell uses the value stored in ...
- shell中#*,##*,#*,##*,% *,%% *的含义及用法
介绍下Shell中的${}.##和%%使用范例,本文给出了不同情况下得到的结果. 假设定义了一个变量为: 代码如下: file=/dir1/dir2/dir3/my.file.txt 可以用${ }分 ...
- Shell中的${}、##和%%使用范例
转自:https://zhidao.baidu.com/question/137266220.html 介绍下Shell中的${}.##和%%使用范例,本文给出了不同情况下得到的结果. 假设定义了一个 ...
- shell中join链接多个域_Linux Shell中使用awk完成两个文件的关联Join
Shell中的awk命令是非常强大的,有很多书籍专门介绍awk的.本文介绍的只是其中很小的一个点,使用awk命令完成两个文件的关联join. 先看看awk中的两个自身变量,NR和FNR. awk可以指 ...
最新文章
- SharePoint 2016 工作流报错“没有适用于此应用程序的地址”
- Java新手,强烈不建议你用 a.equals(b) 判断对象相等!
- [转]在ubuntu上安装chrome浏览器
- 根据表名如何查找使用它的程序名、接口等
- 容器源码分析之LinkedList(三)
- roipool and roialign difference
- JS_eventBind
- 推荐系统-Task02数据库基本使用
- retorfit converter使用说明
- golang 猜数字小游戏
- 安装增强功能,弹出“未能加载虚拟光盘 ...\VBoxGuestAdditions.iso 到虚拟电脑 CentOS.“
- Android视频播放器没声,Windows/Android/iOS全平台支持的视频播放器EasyPlayerPro,iOS版播放无音频问题如何解决?...
- python基础篇{数据类型}
- 利用小米数据库查找手机归属地
- 为什么要使用ELK-----EKL的原理 ---以及ELK的配置 详细! 小白都能懂
- 这4款风格各异的电脑软件,免费又实用,后悔没早点知道
- root过的安卓机器,安卓机怎样root
- 通过cmd窗口导入导出mysql数据库
- Xilinx Ultrascale+ 使用PRC向ICAP E3核输入码流重构时无反应
- 定时任务@Scheduled(cron = “* * * * * *“) cron表达式
热门文章
- 科学计算机怎么直接显示10的多少次方,3的几次方等于10 怎么算 log及科学计算器里的其它 函数怎么正确输入...
- 深度学习梯度下降优化算法(AdaGrad、RMSProp、AdaDelta、Adam)(MXNet)
- 无盘主机服务器,无盘主机服务器视频
- java计算机毕业设计民间应急救援队管理源代码+数据库+系统+lw文档
- IT朋友,有福啦! 精心收集的深圳餐馆大全(带电话,地址,部分还有店面图片)
- vuejs java_[Java教程]Vuejs的一些总结
- Python: 参数服务器 argparse + 动态导入模块
- 关于熵增的一点个人看法
- jredis cluster客户端使用
- 中日完全相同的四字成语