Linux基本功八:输入输出重定向及管道

1、什么是过滤器
   管道使用竖线(|)将两个命令隔开,竖线左边命令的输出就会作为竖线右边命令的输入。连续使用竖线表示第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
    能够接受数据,过滤(处理或筛选)后再输出的工具,称为过滤器。
 linux的工具/命令分为三大类:
 a、过滤器  cat ls  输入输出重定向就是针对过滤器来说的。
 b、编辑器
 c、交互式的工具  system-config-network-tui

2、什么是标准输入输出
 (1)输出重定向
  ls > /tmp/aa
  ls /ttt 2> /tmp/aa  对于aa文件先清空文件,再输入到该文件;
  创建文件:
  > file   如果file在,则清空该文件;如果不在,则创建该文件;把正确的文件重定向过去;
  2>   清空文件;把错误的文件重定向过去;
  &> 把正确和错误的都重定向过去
  > 2>&1将错误的,正确的都重定向到某个文件;
  >>  追加
  > a 
  cat >a   输入某个文件;
 (2)创建某个文件四种方法:
   >
   touch  file
   vim file
   gedit 
  find / -nmae shrek >tmp/findfile 2>&1  将正确的错误的消息都重定向到/tmp/findfile文件里。
  find / -name shrek &> /tmp/findfile 将正确的错误的消息都重定向到/tmp/findfile文件里。
  echo aaa > file  将aaa写入文件
 (3)输入重定向:
cat < /etc/passwd   注意有些命令后面不支持文件的路径;
  tr "a-z" "A-Z" < /etc/passwd   将小写变为大写;反之则大写变小写;
  cat << shrek 输入时有shrek 或者 ctr+d来结束当前的输入;
  cat << /etc/passwd  显示
  cat > a.txt << EEE  如果在每天半夜要求在非交互里创建一个文件,这里就派上用场了;
  << 让系统将一次键盘的全部输入,先送入虚拟的‘当前文档’,再一次性输入追加到文档尾部

  (4)怎样统计文件夹里有多少个文件:
  ls /etc | wc -l
  看有多少个文件夹 d - l b c p s 
  ls /etc/ -l | grep '^d' | wc -l
  看有多少个软连接,并把结果放入bb文件中:
  ls /etc/ -l | grep '^1' | tee bb | wc -l
  ls /etc/ -l | grep '^1' | tee /dev/pts/2 | wc -l
  统计/dev下有多少个文件 
  ls /dev | wc -l
  显示所有文件大小,并按从大到小排列
  du -a | sort -n -r 
  -n 按数字排序
  -r 反向排序
3、怎样改变标准输出
4、输出的种类
5、改变输入
6、管道
   有时候,我们可以把两个命令连起来使用,一个命令的输出作为另一个命令的输入, 这就叫做管道。为了建立管道,需要在两个命令之间使用竖线(|)连接。 管道是Linux进程之间一种重要的通信机制;除了管道,还有 共享内存、消息队列、信号、套接字(socket) 等进程通信机制。
 cat > a.txt << EEE  如果在每天半夜要求在非交互里创建一个文件,这里就派上用场了;
<pre name="code" class="objc"> #!/bin/bash
 cat > a.txt << EEE
 this is test!
 EEE
 
 小游戏:加密文档: 
 
 文字加密命令:
tr '"a-m""n-z""A-M""N-Z"' '"A-M""N-Z""n-z""a-m"' 
 运行结果:I love you!
                    V YBIR LBH
 tr '"a-m""n-z""A-M""N-Z"' '"A-M""N-Z""n-z""a-m"' < /etc/passwd
 tr '"a-m""n-z""A-M""N-Z"' '"A-M""N-Z""n-z""a-m"' < /etc/passwd > abc.txt
程序员的浪漫史,加密发送邮件: 
tr '"a-m""n-z""A-M""N-Z"' '"A-M""N-Z""n-z""a-m"' < /etc/passwd | mail -s "For you" 007@sina.com


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值