OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

欧洲中部时间 28 年 20 月 23 日星期四 07:2002:XNUMX

日期 命令通常会将最后一行放在屏幕上; 现在它被附加到文件中 愿望清单.


图片


5.2. 高级重定向功能


5.2.1. 文件描述符的使用


有三种类型的 I/O,每种都有自己的标识符,称为文件描述符:


• 标准输入:0

• 标准输出:1

• 标准误差:2


在下面的描述中,如果省略了文件描述符编号,并且重定向操作符的第一个字符是<,则重定向是指标准输入(文件描述符0)。 如果重定向运算符的第一个字符是 >,则重定向指的是标准输出(文件描述符 1)。


一些实际的例子会更清楚地说明这一点:


ls> 目录 2>&1


将标准输出和标准错误都指向文件 目录, 而命令


2>&1> 目录


只会将标准输出定向到 目录. 这对程序员来说可能是一个有用的选择。


这里的事情变得相当复杂,不要将此处的 & 符号的使用与第 4.1.2.1 节中的使用混淆,其中 & 符号用于在后台运行进程。 在这里,它只是作为一个指示,后面的数字不是文件名,而是数据流所指向的位置。 另请注意,大于号不应与文件描述符的编号用空格分隔。 如果将其分开,我们将再次将输出指向一个文件。 下面的示例演示了这一点:


[南希@华硕 /var/tmp]$ ls 2> 时间


[南希@华硕 /var/tmp]$ ls -l tmp

-rw-rw-r-- 1 nancy nancy 0 7 月 12 日 58:XNUMX tmp


[南希@华硕 /var/tmp]$ ls 2 > 时间

ls: 2: 没有这样的文件或目录

[南希@华硕 /var/tmp]$ ls 2> 时间


[南希@华硕 /var/tmp]$ ls -l tmp

-rw-rw-r-- 1 nancy nancy 0 7 月 12 日 58:XNUMX tmp


[南希@华硕 /var/tmp]$ ls 2 > 时间

ls: 2: 没有这样的文件或目录

第一个命令 南希 执行是正确的(即使没有生成错误,因此标准错误重定向到的文件是空的)。 第二个命令期望 2 是一个文件名,本例中不存在,所以会报错。


所有这些功能都在 Bash Info 页面中进行了详细说明。


图片


OnWorks 的顶级操作系统云计算: