I/O重定向:可以把命令行的输入重定向为从文件中获取内容,也可以把命令行的输出重定向到文件中。
默认情况下,输出的内容显示在屏幕上,输出内容来自于键盘,但是使用I/O重定向功能可以改变输出内容发送的目的地,也可以改变输入内容的来源地。
cat
sort
uniq
wc
grep
head
tail
tee
标准输出重定向:
> ,只重定向标准输出,不会把错误信息发送到标准输出文件中,错误信息仍然显示在屏幕中。但目的文件通常会从头写起,再次使用时会从头开始覆盖之前的内容。
>> 重定向符的输出内容添加在文件的尾部,不会覆盖之前的内容。
标准错误重定向:
2> ,shell中0,1,2 分别对应标准输入文件、标准输出文件、标准错误文件。
ls -l 2>1.xtx
将标准输出和标准错误重定向到同一个文件:
ls -l > 1.txt 2>&1 ,即同时重定向标准输出和标准错误,使用标记符2>&1把文件描述符2重定向到文件描述符1中。
或者 ls -l &>1.txt ,只使用一个标记符&>
处理不想要的输出 /dev/null位桶:
ls -l 2> /dev/null
位桶接受输入但是不对标准输出或错误输出进行任何处理,所以把输出重定向到位桶中,可以抑制一个命名的错误信息。
标准输入重定向:
cat 读取一个或多个文件,并把它们复制到标准输出文件中
管道:
管道操作符 | 可以把一个命令的标准输出传送到另一个命令的标准输入中。
过滤器:可以把多条命令合在一起构成一个管道 ls /bin /usr/bin |sort |less
uniq 报告或忽略文件中重复的行,经常和sort结合使用
wc 打印行数、字数和字节数
grep 打印匹配行 ls /bin | grep zip 从列出的程序中搜索出文件名中包含zip的所有文件
head 将输出文件的前10行
tail 将输出文件的最后10行
tee 读取标准输入,再把读到的内容复制到标准输出和一个或更多的文件中,像安装了一个T在管道上?。 ls /usr/bin | tee ls.txt | grep zip