shell創建臨時文件

再學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命令將信息顯示到屏幕的同時將信息寫入文件。

//***********************************************************************************************************

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章