作者:流浪的牛仔2011Ting_883 | 来源:互联网 | 2024-11-19 21:18
1、什么是过滤器管道使用竖线(|)将两个命令隔开,竖线左边命令的输出就会作为竖线右边命令的输入。连续使用竖线表示第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,
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 tr "a-z" "A-Z" cat < cat < cat > a.txt < <<让系统将一次键盘的全部输入,先送入虚拟的‘当前文档’,再一次性输入追加到文档尾部
(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 < #!/bin/bash
cat > a.txt < 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"' tr '"a-m""n-z""A-M""N-Z"' '"A-M""N-Z""n-z""a-m"' abc.txt
程序员的浪漫史,加密发送邮件: tr '"a-m""n-z""A-M""N-Z"' '"A-M""N-Z""n-z""a-m"'