您的位置:首页 > 运维架构 > Shell

shell创建临时文件

2011-05-02 14:25 381 查看
再学shell编程,创建临时文件,创建临时目录。将信息输出的同时写入到指定文件中。

到目前为止,您已经学习了两种显示脚本输出的方法::
1》在监视器屏幕上显示输出。
2》将输出重定向到文件
标准文件描述符。
Linux系统将每个对象当作文件处理。
(这里补充一点基础知识,linux系统之所以简单是因为它的基本思想就两点::
1、一切都是文件。
2、每个软件都有确定的用途)
这包括输入和输出过程。
//**********************************************************************************************************
linux使用文件描述符标识每个文件对象。文件描述符是一个非负整数,可以唯一地标识对话中打开的文件。每个进程
中最多可以打开9个文件描述符。
bash shell为特殊需要保留了前3个文件描述符(0、1和2)
标准文件描述符::
0 STDIN 标准输入
1 STDOUT 标准输出
2 STDERR 标准错误
shell使用这三个将shell中的默认输入与输出定向到相应位置(默认位置通常是终端)。
注意::
在shell中,向STDOUT中写数据,是向屏幕写数据。向STDERR写数据也向屏幕写数据。
为什么shell要创建两个描述符呢?
原因是,shell想将正常输出与错误输出分开处理。
shell将错误消息与正常输出分开处理。如果创建了一个后台模式运行的shell脚本,则通常必须依赖STDERR将消息显示在桌面上。
还有更多的详细信息。这里不再介绍关于文件重定向相关的知识。
//**********************************************************************************************************
使用临时文件
Linux系统保留了一个特殊的目录位置,以供临时文件使用。linux使用/tmp目录处理不需要永久保存的文件。大部分linux发行版的系统配置都是在启动是自动删除/tmp目录中的任何文件。
系统上的任何用户帐户都有权读取和写入/tmp目录中的文件。该特性可以帮助轻松的创建临时文件,而无需担心他们的清理问题。
//**********************************************************************************************************
创建本地临时文件
默认情况下,mktemp在本地目录创建文件。
要使用mktemp命令在本地目录中创建临时文件,只需要指定一个文件名模板即可。模板包括文本文件名及附件到文件名后的6个X。
例如::
mktemp chen.XXXXXX
显示chen.1VBtkW
就表示创建了一个chen.lVBtkW临时文件。
//***********************************************************************************************************
在/tmp中创建临时文件。
-t 选项强迫mktemp在系统的临时文件夹中创建文件。使用该参数时,返回的将是完整的路径命令。
例如::

mktemp chen.XXXXXX
显示/tmp/chen.XG3374
在/tmp中创建临时文件时,不需要切换到到/tmp,只需用加上-t参数。
//***********************************************************************************************************
创建临时目录
-d选项让mktemp命令创建一个临时目录而不是一个文件。
然后可以将该目录用于任何目的,比如创建更多临时文件。
例如::
mktemp -d chen.XXXXXX
显示chen.BA3395
实在当前目录下创建的一个临时目录。
//***********************************************************************************************************
tee命令是一个将输出同时发送到“标准输出”和“指定文件”的便捷方法。该命令可以在终端上显示脚本信息的同时将信息写入文件。
例如::
date | tee chen
Mon Oct 29 18:56:21 EDT 2007
如果cat chen

Mon Oct 29 18:56:21 EDT 2007

说明,tee命令将信息显示到屏幕的同时将信息写入文件。

//***********************************************************************************************************
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: