每个打开的文件都会被分配一个文件描述符.stdin (键盘), stdout (屏幕), 和 stderr (错误消息输出到屏幕上)的文件描述符分别是0, 1, 和 2. 对于正在打开的额外文件, 保留了描述符3到9.
文件描述符是文件系统为了跟踪这个打开的文件而分配给它的一个数字。
下面以实例说明
1,>的用法
复制代码 代码如下:
[zhangy@localhost ~]$ echo "11111" > 1.txt
[zhangy@localhost ~]$ cat 1.txt
11111
[zhangy@localhost ~]$ echo "11111" 1> 1.txt //这个用法和上面的用法是一样
[zhangy@localhost ~]$ cat 1.txt
11111
[zhangy@localhost ~]$ echo "22222" >1.txt
[zhangy@localhost ~]$ cat 1.txt
22222
这种用法我想大家都非常的熟悉,因为这是我经常会用到的。echo "11111" > 1.txt 时,>前面是有一个1的,是默认的。>重定向到文件时,会将文件清空,在写入。
复制代码 代码如下:
[zhangy@localhost ~]$ > 1.txt
[zhangy@localhost ~]$ :> 1.txt
上面的这个例子,可以把1.txt文件中的内容清空,其实也很好理解,清空后,不输入内容当然为空了。
2,的用法
复制代码 代码如下:
[zhangy@localhost ~]$ echo "2222" 2.txt
[zhangy@localhost ~]$ cat 2.txt
2222
[zhangy@localhost ~]$ echo "2222" 2.txt
[zhangy@localhost ~]$ cat 2.txt
2222
2222
从上面的这个例子我们可以看出,重定向到文件时,会将输出写到文件的结尾。这一点和>完全不同的。
3,0,1,2 到9,以及&
复制代码 代码如下:
[zhangy@localhost ~]$ cat 1.txt
333
111
222
444
[zhangy@localhost ~]$ grep "22" 0< 1.txt //把1.txt中的内容读取出来
222
[zhangy@localhost ~]$ ls tank 2 1.txt //将错误信息放到文件的结尾
[zhangy@localhost ~]$ cat 1.txt
333
111
222
444
ls: tank: 没有那个文件或目录 //这个就是 2 1.txt产生的内容
[zhangy@localhost ~]$ (ls tank ;pwd) &>1.txt //将错误信息,以及输出内容放到1.txt文件中,&(stderr,stdout)
[zhangy@localhost ~]$ cat 1.txt
ls: tank: 没有那个文件或目录
/home/zhangy
i>&j重定向文件描述符i 到 j.指向i文件的所有输出都发送到j中去. i和j呢是0-9这间的数字
复制代码 代码如下:
[zhangy@localhost ~]$ ls tank 2>&1|egrep \* 1> 2.txt //在这里我把错误信息重定向到了1,在这里1就会输出错误,根赋值差不多
[zhangy@localhost ~]$ cat 2.txt
ls: tank: 没有那个文件或目录
4,<>的用法
<这个符号是读取,>这个符号是输出,放在一起就打开并且读取,
复制代码 代码如下:
[zhangy@localhost ~]$ echo 123546 > 2.txt
[zhangy@localhost ~]$ exec 4<> 2.txt //打开2.txt并将内容读取到&4中
[zhangy@localhost ~]$ read -n 4 <&4 //从&4中读取4个字符
[zhangy@localhost ~]$ echo -n . >&4 //在向&4写入一个点
[zhangy@localhost ~]$ exec 4>&- //关闭输出文件描述符4
[zhangy@localhost ~]$ cat 2.txt
1235.6
能过上面的这个例子,就可以很清楚了解<>他的作用
5,n<&-关闭输入文件描述符n n>&关闭输出文件描述符n
复制代码 代码如下:
[zhangy@localhost ~]$ ls tank //会提示错误
ls: tank: 没有那个文件或目录
[zhangy@localhost ~]$ ls tank 2>&- //我把错误关闭后,什么也不输出了
6,|管理命令
这个命令也是我们常用的,是典型的,把一个命令的输出,当作另一个命令的输入
复制代码 代码如下:
[zhangy@localhost ~]$ echo tank | wc -w
1
表示tank是一个输出,但它又是wc的输入,不然就不会有统计出现了。
shell重定向
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]