详解Linux中重定向和管道

对shell有一定了解的人都知道,管道和重定向是 Linux 中非常实用的 IPC 机制。在shell中,我们通常使用符合‘|’来表示管道,符号‘>’和‘

站在用户的角度思考问题,与客户深入沟通,找到兴安盟网站设计与兴安盟网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网页空间、企业邮箱。业务覆盖兴安盟地区。

重定向

系统设定的输入输出

  • 默认输出设备:标准输出,STDOUT,1
  • 默认输入设备:标准输入,STDIN,0
  • 标准错误输出:STDERR,2
标准输入:键盘
标准输出和错误输出:显示器

linux中的I/O重定向

  • 标准输入 (stdin): 代码为0,使用
  • 标准输出 (stdout): 代码为1,使用>或>>;
  • 标准错误输出(stderr): 代码为2,使用2>或2>>;
  • “>” “>>”
>: 覆盖输出
>>:追加输出
       
# set -C  禁止对已经存在文件使用覆盖重定向;强制覆盖输出,则使用 >|
# set +C  关闭上述功能
  • “2>” “2>>”
2>: 重定向错误输出
2>>: 追加方式
将正确的与错误的分别存入不同的文件中
# ls / /varr > /tmp/var3.out 2> /tmp/err.out
# ls /varr > /tmp/var4.out 2> /tmp/var4.out
       
/dev/null垃圾桶黑洞装置
&>: 重定向标准输出或错误输出至同一个文件(或者2>&1)

输出重定向(将原来需要由键盘输入的数据,改由文件内容来取代)
# tr 'a-z' 'A-Z'  

Here Document(代表结束的输入字符)
# cat  # cat >> /tmp/myfile.txt  /dev/null, 软件设备,bit bucket,数据黑洞,将内容输出定向到该设备下无任何返回内容 

管道

管道是将前一个命令的输出作为后一个命令的输入 命令1 | 命令2 | 命令3 | ……

# echo "hello world." | tr 'a-z' 'A-Z'
# echo "redhat" | passwd --stdin hive
# cut -d: -f1 /etc/passwd | sort | tr 'a-z' 'A-Z'
   
# echo "Hello,World." | tee /tmp/hello.out
       
# tee: 显示内容并将内容保存在文件中
       
# wc -l /etc/passwd | cut -d' ' -f1
练习:
   1、统计/usr/bin/目录下的文件个数;
   2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示;
   3、思考:如何显示/var/log目录下每个文件的内容类型?
   4、取出/etc/inittab文件的第6行;
   5、取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中;
   6、显示/etc目录下所有以pa开头的文件,并统计其个数;
   7、不使用文本编辑器,将alias cls=clear一行内容添加至当前用户的.bashrc文件中;

新闻标题:详解Linux中重定向和管道
新闻来源:http://www.mswzjz.com/qtweb/news40/181040.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联