마운트가 "dummy" 파일 시스템(예: df)을 나열하지 않도록 만듭니다.

마운트가 "dummy" 파일 시스템(예: df)을 나열하지 않도록 만듭니다.

를 사용하여 마운트된 모든 파일 시스템을 간단히 나열할 때 mount"더미" 파일 시스템을 나열하지 않도록 하는 방법이 있습니까? 즉, df해당하는 파일 시스템만 나열하도록 하십시오.

편집하다df: "더미"란 옵션을 사용할 때 포함되는 파일 시스템을 의미합니다 --all. 맨 페이지에서 그렇게 df부르기 때문입니다.

답변1

우선, "더미"는 아마도 가장 좋은 용어가 아니 거나 procfs전혀 쓸모가 없습니다. (type) 옵션을 사용 하고 관심 있는 파일 시스템의 쉼표로 구분된 목록을 제공하십시오.sysfsdev(tmp)fs-tmount

mount -t tmpfs,xfs

또는 grep원하는 것을 필터링하는 데 사용합니다(아마도 grep -v일치하지 않는 것을 표시하기 위해).

mount | grep -Ev "(cgroup|proc|sysfs)"

답변2

또 다른 옵션은 다음을 사용하는 것입니다 lsblk -f.

lsblk는 사용 가능한 모든 블록 장치 또는 지정된 블록 장치에 대한 정보를 나열합니다.

즉, 네트워크 공유(nfs, sshfs) 또는 가상 파일 시스템(dev,run,sys,proc 등)이 ~ 아니다표시됩니다. 또한 일반적 으로 tmpfs표시되는 파일 시스템은df -h~ 아니다나타나다.

-f옵션은 다음을 포함하는 파일 시스템에 대한 정보를 출력합니다.마운트 지점.

예를 들어 내 컴퓨터에는 다음이 나열됩니다.

NAME    FSTYPE          LABEL       UUID                                 MOUNTPOINT
sda                                                                      
|-sda1  ext2            bootpar     ab2e48a8-5f1c-484e-a4a1-f8545e4b2019 /boot
|-sda2  swap            swappar     6e9f6e70-141a-417c-82a5-113a3d4c5a53 [SWAP]
`-sda3  ext4            homepar     52f7164d-fac7-4abe-bf78-71353fac7850 /home
sdb     isw_raid_member                                                  
`-md126 ext4            rootparraid 4275f5ba-8244-4039-9100-06afee678557 /
sdc     isw_raid_member                                                  
`-md126 ext4            rootparraid 4275f5ba-8244-4039-9100-06afee678557 /
sr0                                                                      

답변3

dfGNU coreutils에는 무시된 파일 시스템 유형 목록이 있지만 항목이 많지 않습니다. 대부분의 경우 크기가 0인 파일 시스템을 제거합니다. 이는 일반적으로 무시되는 파일 시스템 유형을 포함합니다.

mount파일 시스템 크기에 직접 액세스할 수 없습니다. 동일한 필터링을 얻으려면 의 출력을 의 출력 mount이나 df다른 도구와 대조하여 파일 시스템 크기를 가져와야 합니다.

df다음은 및 에서 정렬된 출력을 가져 mount와서 정렬하고 조인하는 방법입니다 .

join -o 2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9 <(df -P | tail -n +2 | sort) <(mount | sort)

Python one-liner를 사용한 또 다른 접근 방식은 다음과 같습니다. (Perl은 이러한 단일 라이너에 훨씬 더 뛰어나지만 statvfs표준 라이브러리에는 없습니다 .)

mount | python -c 'import os, sys; [sys.stdout.write(line) for (dev, line) in [(line.split(" ")[2], line) for line in sys.stdin.readlines()] if os.statvfs(dev).f_blocks]'

관련 정보