2.6 将输出保存到其它文件

2.6 Saving Output to Other Files

问题

你想在保存文件时重定向到文件系统的其它任何位置,而不是输出到当前目录。

解决方案

重定向输出时使用路径:

或:

讨论

出现在重定向字符(>)后面的文件名实际是路径名。若没有其它修饰符,则文件位于当前路径。

若文件名以斜线(/)开头,则它代表了一个“绝对路径”,内容将输出到文件系统层次(如“目录树”)中从根目录开始的指定位置(前提是所有中间目录都存在且具有允许您遍历它们的权限)。因为 /tmp 是 Unix 系统上一个众所周知且通用的临时目录,因此我们使用这个目录作为例子。在这个例子中,Shell 将在 /tmp 目录中创建一个名为 echo.out 的文件。

第二个例子中,使用了“相对路径”,把输出放在了 ../../over.here 中。其中“两个点”(..)是存在于每个目录中的特殊目录,指的是其“上级目录”。所以,每次引用“两点目录”时都会在文件系统目录树中向上移动一级(向着目录树根的方向,而不是我们通常意义上的树的“上方”)。这里的要点是,如果需要,我们可以将输出重定向到远离我们运行命令的位置的文件中。

参见

《Learning the bash Shell》,第三版,Cameron Newham (O’Reilly),第7-10页,文件、目录和点记号(. 和 ..)的介绍。

关于 “2.6 将输出保存到其它文件” 的 3 个意见

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据