你想要用重定向将输出保存到当前目录之外的其他位置。
解决方案
重定向输出时加上路径:
echo some more data > /tmp/echo.out
或者:
echo some more data > ../../over.here
讨论
出现在重定向符号(>
)后的文件名其实就是路径名。如果没有任何限定部分,那么文件就会放置在当前目录中。
如果文件名以斜线(/
)起始,那就是绝对路径名,此时文件会被放置在文件系统层次结构(目录树)中以根目录起始的指定位置(假设所有的中间目录都存在且你有权限进入)。我们使用了 /tmp
,这是一个几乎所有 Unix 系统都存在且普遍可用的临时目录。在本例中,shell 会在/tmp
目录中创建名为 echo.out 的文件。
在第二个例子中,我们使用了相对路径名 ../../over.here
,其中的 .. 是一个指向父目录的特殊目录,存在于每个目录中。因此,每次引用 .. 就会在文件系统目录树中向上(往根的方向,并非惯常意义中的沿着树“向上”)移动一级。这里的重点是,我们可以按照自己的意愿,将输出重定向到当前目录之外的某个文件中。
酷客网相关文章:
评论前必须登录!
注册