다음 대답은 이전의 답변이 질문의 정보를 조사하여 발견 된 이곳을 하고하지 않고 발견되지 않았을 것입니다. 그들에게 Cudos.
내 linuxmint 시스템에는 (그리고 대부분의 우분투 기반 시스템과 아마도 데비안 기반이라고 가정 할 것입니다) 사용자 소유의 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를 id -u
참조하십시오 man 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
옵션 과 함께 사용 하여이 임시 파일 시스템에 임시 파일 및 디렉토리를 작성하여 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
각각.