[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

mktemp【コマンド】

pointこの用語のポイント

pointUNIX系で使えるコマンドだよ

pointファイル名が一意な一時ファイルを作成するよ

スポンサーリンク

簡単に書くよ

mktemp【コマンド】とは

ファイル名が一意な一時ファイルを作成するときに使うコマンド
です。

image piyo

詳しく書くよ

UNIX系(LinuxとかMacとか)で使えます。

書き方は

mktemp [オプション] ファイル名の書式]

です。
オプションはちらほらとあります。

オプション説明
-Vバージョン情報を表示する
Print the version and exit.
-dディレクトリを作成する
Make a directory instead of a file.
-p【ディレクトリ】作成した一時ファイルを【ディレクトリ】に出力する
Use the specified directory as a prefix when generating the temporary filename. The directory will be overridden by the user’s TMPDIR environment variable if it is set. This option implies the -t flag (see below).
-qエラーメッセージを表示しない
Fail silently if an error occurs. This is useful if a script does not want error output to go to standard error.
-tうんちゃらかんちゃら。
Generate a path rooted in a temporary directory. This directory is chosen as follows:
・If the user’s TMPDIR environment variable is set, the directory contained therein is used.
・Otherwise, if the -p flag was given the specified directory is used.
・If none of the above apply, /tmp is used.
-u安全ではないモードで動かすよ。できれば使わないでね
Operate in ‘‘unsafe’’ mode. The temp file will be unlinked before mktemp exits. This is slightly better than mktemp(3) but still introduces a race condition. Use of this option is not encouraged.

などですね。
OSによってオプションは異なるようです。

「mktemp」コマンドはコマンドライン上から一時ファイルを作成する際に使います。
オプションを何もつけないで

mktemp

を実行すると、例えば

/tmp/tmp.oRDtM21681

のようなファイルが作成されます。

一時ファイルが作成される場所は、環境変変数「TMPDIR」が設定されていればそのディレクトリ、設定されていなければ「/tmp」のようです。
任意の場所に作成したい場合は「-p」オプションを使います。

「-p」オプションを付けて

mktemp -p ./

のような形式で実行すると、指定ディレクトリ内に一時ファイルが作成されます。
この例では、今いるディレクトリを示す「./」を指定しているので、今いるディレクトリ内に一時ファイルが作成されます。

また作成される一時ファイル名の書式を指定することも可能です。
ファイル名の書式は

任意の名前+「X」を3つ以上

で指定します。
「X」を3つ以上指定した部分が、適当な文字列に置き換わりますよ。

例えば

mktemp -p ./ hoge.XXXXX

を実行すると、今いるディレクトリ内に

hoge.21773

のようなファイル名で一時ファイルが作成されます。
「X」1つが1桁に対応しているので、桁数を増やして

mktemp -p ./ hoge.XXXXXXXXXX

のような指定をすれば、出来上がるファイルも

hoge.DmyNE21779

のようにランダムな文字列部分が増えます。

また本来の使い方とは違うのでしょうが、書式部分にディレクトリを指定することも可能です。
例えば

mktemp /hoge/hoge.XXXXX

のような指定をすると「/hoge」ディレクトリ内に「hoge.12345」のような名前の一時ファイルが作成されます。

あとはそうですね。

ファイルではなくディレクトリを作成することも可能です。
「-d」オプションを付与して

mktemp -d

を実行すると、名前の付け方はファイルのときと同じで、ディレクトリが作成されます。

そんなところでしょうか。
これが「mktemp」コマンドの使い方です。

image piyo2

一言でまとめるよ

まぁ「mktemp」ってコマンドが出てきたら「一時ファイルを作成するときに使うんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク