以下の回答は、以前の回答とこの質問の情報をここで調査することで発見されたものであり、それらがなければ見つかりませんでした。それらへの称賛。
私のlinuxmintシステム(そして、ほとんどのUbuntuベースのシステムと、おそらくDebianベースのシステムも想定しています)には、ユーザーが所有するtmpfsが自動的にマウントされています /run/user/1000/
df -T
チェックに使用します。
11:41:11 jesse @ Limbo:〜$ df -T
ファイルシステムタイプ使用済み1Kブロック使用可能使用率%マウント済み
udev devtmpfs 15904812 4 15904808 1%/ dev
tmpfs tmpfs 3184120 1700 3182420 1%/実行
/ dev / sdb2 ext4 14248880 11464788 2037240 85%/
なしtmpfs 4 0 4 0%/ sys / fs / cgroup
なしtmpfs 5120 0 5120 0%/ run / lock
なしtmpfs 15920584 848 15919736 1%/ run / shm
なしtmpfs 102400 12 102388 1%/ run / user
/ dev / sdb3 ext4 100861352 90755700 4959136 95%/ mnt / data
下/run/user/
には、システム上の各通常ユーザー用のディレクトリがあります
12:07:35 jesse@Limbo:~$ ls -l /run/user
total 0
drwx------ 2 root root 40 Aug 7 09:50 0
drwx------ 8 jesse jesse 180 Aug 7 11:38 1000
これらのディレクトリは、それぞれのユーザーのIDに基づいて名前が付けられます。このコマンドの詳細については、id -u
see man id
でユーザーIDを取得できます。
12:07:43 jesse@Limbo:~$ ls -l /run/user/$(id -u)
total 0
drwx------ 2 jesse jesse 60 Aug 7 09:50 dconf
dr-x------ 2 jesse jesse 0 Aug 7 09:50 gvfs
drwx------ 2 jesse jesse 80 Aug 7 09:50 pulse
lrwxrwxrwx 1 root root 17 Aug 7 09:50 X11-display -> /tmp/.X11-unix/X0
このオプションを指定mktemp
したコマンドを使用して--tmpdir
、このtempfilesystemに一時ファイルとディレクトリを作成し、RAMに一時ファイルを作成できます。
ここで与えられたアドバイスに従って、まず一時ディレクトリを作成してから、その中に一時ファイルを作成します。
mydir=$(mktemp -dt "$(basename $0).XXXXXXXX" --tmpdir=/run/user/$(id -u))
一時ディレクトリを作成するに/run/user/1000/bash.w42BYxbG/
は
myfile=$(mktemp -t "$(basename $0).XXXXXXXX" --tmpdir=$mydir)
一時ファイルを作成します。
これにより、これらのファイルを簡単にクリーンアップできますrm -r $mydir
。
デフォルトでは、これらのファイルはすべて所有されており、作成したユーザーのみが読み取り可能です。
注:$(basename $0)
コマンドの一部は、mktempを実行したスクリプト/プロセスの名前を抽出します。私は、スクリプトを使用している場合
/home/jesse/scripts/myScript.sh
、次に$(basename $0)
返します
myScript.sh
。このスクリプトによって実行されたとき。したがって、上記のコマンドはそれぞれを作成/run/user/1000/myScript.sh.w42BYxbG/
し/run/user/1000/myScript.sh.w42BYxbG/myScript.sh.BCzSmq06
ます。