? ? ? ?Linux系統(tǒng)有特殊的目錄,專供臨時文件使用。Linux使用/tmp目錄來存放不需要永久保留的文件。大多數Linux發(fā)行版配置了系統(tǒng)在啟動時自動刪除/tmp目錄的所有文件。
? ? ? ?系統(tǒng)上的任何用戶賬戶都有權限在讀寫/tmp目錄中的文件。這個特性為你提供了一種創(chuàng)建臨時文件的簡單方法,而且還不用操心清理工作。 ?
? ? ? ? 默認情況下,mktemp會在本地目錄中創(chuàng)建一個文件。要用mktemp命令在本地目錄中創(chuàng)建一個臨時文件,你只要指定一個文件名模板就行了。模板可以包含任意文本文件名,在文件名末尾加上6個X就行了。那么本地臨時文件如何創(chuàng)建呢?下面江西網絡公司-百恒網絡就來為大家簡單介紹一下。?
? ? ? ?$ mktemp testing.XXXXXX?
? ? ? ?$ ls -al testing*?
? ? ? ?-rw------- ? 1 rich ? ? rich ? ? ?0 Oct 17 21:30 testing.UfIi13?
? ? ? ?$?
? ? ? ?mktemp命令會用6個字符碼替換這6個X,從而保證文件名在目錄中是唯一的。你可以創(chuàng)建多 個臨時文件,它可以保證每個文件都是唯一的。?
? ? ? ?$ mktemp testing.XXXXXX?
? ? ? ?testing.1DRLuV?
? ? ? ?$ mktemp testing.XXXXXX?
? ? ? ?testing.lVBtkW?
? ? ? ?$ mktemp testing.XXXXXX?
? ? ? ?testing.PgqNKG?
? ? ? ?$ ls -l testing*?
? ? ? ?-rw------- ? ?1 rich ? ? rich ? ? 0 Oct 17 21:57 testing.1DRLuV?
? ? ? ?-rw------- ? ?1 rich ? ? rich ? ? 0 Oct 17 21:57 testing.PgqNKG?
? ? ? ?-rw------- ? ?1 rich ? ? rich ? ? 0 Oct 17 21:30 testing.UfIi13?
? ? ? ?-rw------- ? ?1 rich ? ? rich ? ? 0 Oct 17 21:57 testing.lVBtkW?
? ? ? ?$?
? ? ? ?如你所看到的,mktemp命令的輸出正是它所創(chuàng)建的文件的名字。在腳本中使用mktemp命令時,可能要將文件名保存到變量中,這樣就能在后面的腳本中引用了。?
? ? ? ?$ cat test19?
? ? ? ?#!/bin/bash?
? ? ? ?# creating and using a temp file ?
? ? ? ?tempfile=$(mktemp test19.XXXXXX) ?
? ? ? ?exec 3>$tempfile ?
? ? ? ?echo "This script writes to temp file $tempfile" ?
? ? ? ?echo "This is the first line" >&3?
? ? ? ?echo "This is the second line." >&3?
? ? ? ?echo "This is the last line." >&3?
? ? ? ?exec 3>&- ?
? ? ? ?echo "Done creating temp file. The contents are:"?
? ? ? ?cat $tempfile?
? ? ? ?rm -f $tempfile 2> /dev/null?
? ? ? ?$ ./test19?
? ? ? ?This script writes to temp file test19.vCHoya?
? ? ? ?Done creating temp file. The contents are:?
? ? ? ?This is the first line?
? ? ? ?This is the second line.?
? ? ? ?This is the last line.?
? ? ? ?$ ls -al test19*?
? ? ? ?-rwxr--r-- ? ?1 rich ? ? rich ? ? ? ? ?356 Oct 29 22:03 test19*?
? ? ? ?$
? ? ? ?這個腳本用mktemp命令來創(chuàng)建臨時文件并將文件名賦給$tempfile變量。接著將這個臨時文件作為文件描述符3的輸出重定向文件。在將臨時文件名顯示在STDOUT之后,向臨時文件中寫入了幾行文本,然后關閉了文件描述符。最后,顯示出臨時文件的內容,并用rm命令將其刪除。?
? ? ? ?以上就是江西網絡公司-百恒網絡為大家介紹的關于創(chuàng)建本地臨時文件的方法,如果大家還有哪些不太明白的地方,可隨時來電和我們聯(lián)系。此外,百恒網絡專業(yè)為您提供網站建設、微信開發(fā)、APP開發(fā)等服務,如有需要,我們隨時為您效勞!