美文网首页
TLCL学习笔记之四 重定向

TLCL学习笔记之四 重定向

作者: L_心有林夕 | 来源:发表于2017-09-21 19:48 被阅读0次

    标准输入,输出,和错误

    cat命令:读取一个或多个文件,然后复制到标准输出。

    cat test.txt”读取文本文件中的内容并输出到屏幕。

    以下命令也是从文件中输入,到屏幕中输出。

    sort命令:排序文本行。

    uniq命令:报道或省略重复行。

    grep命令:打印匹配行。

    wc命令:打印文件中换行符、字。和字节数。

    head命令:输出文件第一部分。

    -n参数可调整打印对的行数,默认十行

    tail命令:输出文件最后一部分。

    也有-n参数


    默认情况,程序或者命令如ls、cat的标准输出和标准错误都连接到屏幕,标准输入连接到键盘或文件。而I/O重定向允许我们改变输出的走向和输入的来向。

    重定向

    使用“>”重定向输出。

    重定向标准输出。例如 “ls -l /usr/bin”输入结果到屏幕,“ls -l /usr/bin > output.txt”则输出结果到 output.txt文本文件。如果文件不存在,则创建该文件,如果文件已经存在,则先删除已存在文件的内容,再写入。注意,若该命令出错,则没有标准输出,但文件的内容已被删除。

    技巧“> output.txt”,即可删除一个文件的内容。

    使用“>>”重定向输出并不删除文件内容,在文件尾部追加内容。

    使用“2>”重定向错误。shell将标准输入,输出和错误内部参考为文件描述符0,1和2。

    让重定向输出和重定向错误到同一个文件。旧版在重定向标准输出之后添加“2>&1”,使得重定向文件描述符2到文件描述符1,注意标准错误的重定向必须出现在标准输出重定向之后;新版则使用“&>”联合重定向。

    “/dev/null”文件叫做位存储桶,它接受收入,并且不对输入做任何处理。可以可以将不需要的输出和错误重定向到“/dev/null”。

    管道线

    管道线操作符“|”,可将前一个管道命令的标准输出管道到另一个命令的标准输入。

    例如“cat output.txt | less”,“cat output.txt”不将输出结果输出到屏幕,而是通过管道线传递给“less”,less接收了之后在进行输出。

    tee命令:从标准输入读取数据,并同时输出到标准输出和文件

    即“ls /usr/bin | tee ls.txt | grep zip”中ls的结果管道给了tee,tee将结果输出文件并管道给了grep

    相关文章

      网友评论

          本文标题:TLCL学习笔记之四 重定向

          本文链接:https://www.haomeiwen.com/subject/zvuosxtx.html