내가 아는 한 여기에는 df -a
"가짜, 중복 및 액세스할 수 없는 파일 시스템"이 포함됩니다. 이로 인해 다음과 같은 상당수의 마운트가 숨겨집니다.
udev 8055632 0 8055632 0% /dev
devpts 0 0 0 - /dev/pts
-a
...해당 옵션을 통과하지 않으면 나타나지 않습니다. 그러나 실패할 경우 무엇이 포함되는지에 관심이 있습니다 -a
.
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 1624300 3292 1621008 1% /run
/dev/sda1 122485360 12664524 103552780 11% /
tmpfs 8121496 60308 8061188 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
/dev/sdb1 460366888 154205092 282702932 36% /home
tmpfs 1624296 1688 1622608 1% /run/user/1000
/dev/sdc2 488282108 324162964 164119144 67% /media/jez/Picard - Main [C]
내 관점에서 볼 때 세 개의 "실제" 파티션은 sda1
, sdb1
, 및 이며, sdc2
이는 물리적 디스크의 실제 파티션을 가리킵니다. df
기본 출력에 다른 마운트도 포함된다는 것은 어떻게 결정됩니까 tmpfs
? tmpfs
"의사" 파일 시스템 이 아닌가요 ?
답변1
임시 파일 시스템의사 파일 시스템이 아니라 가상 메모리에 내용을 저장하는 실제 파일 시스템입니다. 차이점은 의사 파일 시스템이 다음을 제공한다는 것입니다.표현하다실제 파일 시스템은 아티팩트를 직접 저장합니다.
중요한 점은 df
의사 파일 시스템은 데이터를 직접 추가할 수 없기 때문에 일반적인 방법으로 저장 공간을 소모할 수 없다는 것입니다. 실제 파일 시스템할 수 있는부족한 저장 공간, 그것이 df
정말 "신경쓰이는" 부분입니다. tmpfs 파일 시스템은 가득 찰 수 있으므로 기본적으로 나열됩니다.
답변2
df
( POSIX에는 이 플래그가 없으므로 GNU에서 작동합니다 .) 0이 아닌 크기로 마운트된 파일 시스템은 -a
기본적으로 df
표시됩니다 .
예
df -ah
Filesystem Size Used Avail Use% Mounted on
/dev/root 7.9G 5.6G 2.0G 74% /
devtmpfs 458M 0 458M 0% /dev
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
tmpfs 462M 1.1M 461M 1% /dev/shm
devpts 0 0 0 - /dev/pts
tmpfs 185M 1.5M 184M 1% /run
tmpfs 5.0M 8.0K 5.0M 1% /run/lock
cgroup2 0 0 0 - /sys/fs/cgroup
systemd-1 - - - - /proc/sys/fs/binfmt_misc
mqueue 0 0 0 - /dev/mqueue
sunrpc 0 0 0 - /run/rpc_pipefs
debugfs 0 0 0 - /sys/kernel/debug
tracefs 0 0 0 - /sys/kernel/tracing
fusectl 0 0 0 - /sys/fs/fuse/connections
configfs 0 0 0 - /sys/kernel/config
ramfs 0 0 0 - /run/credentials/systemd-sysctl.service
ramfs 0 0 0 - /run/credentials/systemd-sysusers.service
ramfs 0 0 0 - /run/credentials/systemd-tmpfiles-setup-dev.service
/dev/mmcblk0p1 63M 22M 42M 35% /boot
ramfs 0 0 0 - /run/credentials/systemd-tmpfiles-setup.service
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
tmpfs 93M 0 93M 0% /run/user/1001
기본적으로 크기가 0인 항목(두 번째 열)은 생략됩니다. 즉, 다음 파일 시스템은 다음과 같습니다.
Filesystem Size Used Avail Use% Mounted on
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
cgroup2 0 0 0 - /sys/fs/cgroup
systemd-1 - - - - /proc/sys/fs/binfmt_misc
mqueue 0 0 0 - /dev/mqueue
sunrpc 0 0 0 - /run/rpc_pipefs
debugfs 0 0 0 - /sys/kernel/debug
tracefs 0 0 0 - /sys/kernel/tracing
fusectl 0 0 0 - /sys/fs/fuse/connections
configfs 0 0 0 - /sys/kernel/config
ramfs 0 0 0 - /run/credentials/systemd-sysctl.service
ramfs 0 0 0 - /run/credentials/systemd-sysusers.service
ramfs 0 0 0 - /run/credentials/systemd-tmpfiles-setup-dev.service
ramfs 0 0 0 - /run/credentials/systemd-tmpfiles-setup.service
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
결과적으로 다음과 같은 기본 출력이 표시됩니다.
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 7.9G 5.6G 2.0G 74% /
devtmpfs 458M 0 458M 0% /dev
tmpfs 462M 1.1M 461M 1% /dev/shm
tmpfs 185M 1.5M 184M 1% /run
tmpfs 5.0M 8.0K 5.0M 1% /run/lock
/dev/mmcblk0p1 63M 22M 42M 35% /boot
tmpfs 93M 0 93M 0% /run/user/1001
info
이는 및 의 문서와 일치하지 않습니다 man
.
인수가 없으면
df
현재 마운트된 모든 파일 시스템(모든 유형)의 사용된 공간과 여유 공간을 보고합니다.
뿐만 아니라
-a
--all
기본적으로 무시되는 가상, 중복 또는 액세스할 수 없는 파일 시스템을 목록에 포함합니다.
이는 소스코드(coreutils, ) df.c
에서 확인됩니다 . 다음은 명령줄에 명시적으로 나열된 파일 시스템에 의해 설정된 fsu_blocks
파일 시스템 블록 수입니다 .show_all_fs
-a
show_listed_fs
if (fsu.fsu_blocks == 0 && !show_all_fs && !show_listed_fs)
return;