重定向:
把本来要显示在终端中的命令结果,输送到别的地方去;
到文件中或者作为其他命令的输入(命令的链接,或者叫命令管道);
把两个命令连接起来使用,一个命令的输出作为另一个命令的输入;
管道的英语是pipeline;
可以想象一个个水管,连接起来;
流:
这个概念不好理解;
流的简单定义,流是时间上可用的一系列数据元素。可以把流比喻成传送带上的物件,每个时间点传输一个,而不是多个打包传输;
重定向:
哪里:文件或者另一个命令的输入
如何实现:通过在命令间插入特定的符号
特定的符号被称为重定向流符号;
重定向流:
从Unix时代起就是很重要的概念;
重定向流会改变我们看待终端命令行的方式;
==================================================
先谈cut命令的进阶:
根据分隔符来剪切
了解一下CSV格式的文件
Comma Separated Values的缩写
中文意思是:都好分隔值
后缀名是.csv
-d 参数 delimiter的缩写,是英语“分隔符”的缩写
用于指定用什么分隔符(逗号、分号、双引号)
-f 参数 field的缩写,英语“区域”的意思
表示剪切下用分隔符分隔的哪一块或哪几块区域;
==================================================
>和>> : 重定向到文件
>可以将命令的输出结果重定向到你选择的文件中
使用>符号要小心
如果此文件不存在,则新建一个文件;
如果此文件已经存在,那就会把文件内容覆盖掉;
而且是不会征求用户确认的;
黑洞文件 /dev/null
这是一个特殊的文件,不是目录;
它能够使得发送到/dev/null的任何数据作废
>> 重定向到文件末尾
会将重定向内容写入到文件末尾,起到追加的作用;
如果文件不存在,则创建文件;
==================================================
stdin\stdout\stderr
标准输入 stdin 键盘输入
标准输出 stdout 终端中的输出
标准错误输出 stderror 终端的错误输出