
나는 tmpfs
이것에 대해 배우고 있습니다.매뉴얼 페이지왜냐하면 tmpfs
-
tmpfs 도구를 사용하면 내용이 가상 메모리에 있는 파일 시스템을 생성할 수 있습니다.
그리고 -
tmpfs 파일 시스템이 마운트 해제되면 해당 내용이 삭제(손실)됩니다.
하지만 제거한 후에도 파일을 볼 수 있습니다.
mediumone@ubuntu:~$ mkdir tmpfsdir
mediumone@ubuntu:~$ cd tmpfsdir/
mediumone@ubuntu:~/tmpfsdir$ sudo mount -t tmpfs tmpfs ~/tmpfsdir/
mediumone@ubuntu:~/tmpfsdir$ findmnt
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda1 ext4 rw,relatime,errors=remount-ro
├─/sys sysfs sysfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security securityfs securityfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup tmpfs tmpfs ro,nosuid,nodev,noexec,mode=755
..snip
├─/snap/gnome-3-28-1804/116 /dev/loop15 squashfs ro,nodev,relatime
└─/home/mediumone/tmpfsdir tmpfs tmpfs rw,relatime
mediumone@ubuntu:~/tmpfsdir$ echo "hello world" >> hello
mediumone@ubuntu:~/tmpfsdir$ ls -l
total 4
-rw-r--r-- 1 mediumone mediumone 12 Feb 17 02:15 hello
mediumone@ubuntu:~/tmpfsdir$ sudo umount -l ~/tmpfsdir/
mediumone@ubuntu:~/tmpfsdir$ findmnt
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda1 ext4 rw,relatime,errors=remount-ro
├─/sys sysfs sysfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security securityfs securityfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup tmpfs tmpfs ro,nosuid,nodev,noexec,mode=755
..snip
└─/snap/gnome-3-28-1804/116 /dev/loop15 squashfs ro,nodev,relatime
mediumone@ubuntu:~/tmpfsdir$ ls -l
total 4
-rw-r--r-- 1 mediumone mediumone 12 Feb 17 02:15 hello
mediumone@ubuntu:~/tmpfsdir$ cat hello
hello world
mediumone@ubuntu:~/tmpfsdir$
나도 이것을 시도했지만 sudo umount -f ~/tmpfsdir/
같은 결과를 얻었습니다.
누군가 무엇이 잘못되었는지 설명할 수 있습니까?
답변1
현재 디렉터리에 설치 중입니다. 쉘은 cd
해당 디렉토리로 돌아갈 때까지 마운트된 디렉토리 대신 원래 디렉토리를 계속 사용합니다 . 다른 명령도 원래 디렉터리를 상속합니다.
% mkdir foo
% cd foo
~/foo
% df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu-vg-root 1.8T 77G 1.7T 5% /
% sudo mount -t tmpfs tmpfs ~/foo
% df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu-vg-root 1.8T 77G 1.7T 5% /
그러나 디렉토리에 대한 새로운 액세스는 마운트된 디렉토리를 사용합니다.
% df -h . ~/foo
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu-vg-root 1.8T 77G 1.7T 5% /
tmpfs 3.9G 0 3.9G 0% /home/muru/foo
이 작업을 다시 수행 하는 경우 cd
:
% cd .
% df -h . ~/foo
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.9G 0 3.9G 0% /home/muru/foo
tmpfs 3.9G 0 3.9G 0% /home/muru/foo
답변2
cd
처음에는 tmpfsdir
쉘의 작업 디렉토리가 기존 파일 시스템에 있습니다. mount
작업 디렉터리는 변경되지 않으며 tmpfs
파일 시스템이 아닌 작업 디렉터리가 있는 기본 파일 시스템에 새 파일이 생성됩니다.
마운트 후 디렉토리를 변경하면 원하는 결과를 얻을 수 있습니다.