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

mktemp【コマンド】

pointこの用語のポイント

pointコマンドだよ

pointUNIX系で使えるよ

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

スポンサーリンク

簡単に書くよ

mktemp【コマンド】とは

コンピュータさんに対する命令文(コマンド)のひとつ
であり

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


image piyo

詳しく書くよ

「mktemp」コマンド

一時ファイルを作るときに使うコマンド

です。
UNIXLinuxとか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

を実行すると、例えば

/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」ってコマンドが出てきたら「一時ファイルを作るときに使うんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像075
書籍画像054

おまけ

■訳してみるよ

「mk」は多分「make(メーク)」の略です。
「make(メーク)」の意味は「作る」とかです。
「temp(テンプ)」は「temporary(テンポラリ)」の略です。
「temporary(テンポラリ)」の意味は「一時の」とか「一時的な」とか「仮の」とかです。
何となく くっつけると

一時的な(ファイルを)作る

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
エンジニア育成現場の「失敗」集めてみた。 42の失敗事例で学ぶマネジメントのうまい進めかた
エンジニアのための生成AI入門 はじめての生成AIアプリ開発からエージェント開発まで