df 및 mount를 사용하면 물리적 디스크만 표시됩니다.

df 및 mount를 사용하면 물리적 디스크만 표시됩니다.

df제가 가장 관심을 갖는 것은 or 를 사용할 때의 mount물리적 디스크 파티셔닝입니다 . 요즘에는 이러한 명령의 출력이 임시 및 가상 파일 시스템, cgroup 및 관심 없는 기타 항목에 묻혀 있습니다.

출력의 물리적 파티션은 항상 ' '로 시작하므로 및에 대한 별칭을 만들어 /보았습니다 .dfmount

alias df1="df | egrep '^/'"
alias mount1="mount | egrep '^/'"

이것은 잘 작동 하지만(빨간색 " " mount1으로 표시되지만 ) 가끔 옵션을 추가하고 싶지만 할 수 없는 상황에서는 . 사용하려는 모든 옵션 조합에 별칭을 사용하고 싶지 않습니다. Bash에서 함수 정의를 정말로 조사해야 합니까(하고 싶지는 않습니다)? 더 나은 해결책이 있습니까 ?/df1-hdfdf1 -hdf1

답변1

df1다음 별칭을 사용하여 매개변수 문제를 해결할 수 있습니다.

alias df1='df --type btrfs --type ext4 --type ext3 --type ext2 --type vfat --type iso9660'

관심 있는 다른 유형을 추가했는지 확인하세요( xfs, fuseblk(@Pandya가 지적한 대로 최신 NTFS 지원의 경우) 등). 이렇게 하면 df1 -h원하는 결과를 얻을 수 있습니다.

필터링도 반대 방식으로 작동합니다.들어오지 못하게 하다보고 싶지 않은 FS 유형:

alias df1='df -x tmpfs -x efivarfs '

mount실제로 옵션이 있지만 -t여러 번 지정할 수는 없습니다(마지막 옵션만 사용됨). 다음을 사용합니다.

alias mount1="mount | /bin/grep -E '^/'"

나는 더 이상 사용되지 않는 grep -E것으로 사용 egrep하고 있으며 / 에 별칭을 /bin/grep사용하지 않는지 확인합니다 .--colour=autogrepegrep

답변2

읽다man mount

목록 설치
목록 모드는 이전 버전과의 호환성을 위해서만 유지됩니다. 더욱 강력하고 사용자 정의 가능한 출력을 위해 findmnt(8)특히 스크립트에서 사용하십시오.

원하는 출력을 얻는 다른 방법을 보여주었습니다.

함수를 만들었어요lsmounts

lsmounts () {
  findmnt -D -t nosquashfs,notmpfs,nodevtmpfs
}

매개변수 설명:

  • -D: 우리가 알고 있는 대로 출력을 제공합니다.df
  • -t: 보려는 파일 시스템 유형을 선택합니다. 접두사는 no언급된 파일 시스템을 제외합니다.

그래서 원하는 결과를 얻었습니다.

SOURCE                       FSTYPE   SIZE   USED  AVAIL USE% TARGET
/dev/mapper/vgubuntu-lvroot  ext4    78,3G  42,5G  31,7G  54% /
/dev/mapper/vgubuntu-lvhome  ext4   284,5G 146,4G 124,5G  51% /home
...

답변3

df다른 파일 시스템으로 전환할 수 있는 옵션이 있는 경우 이를 대신 사용하십시오 pydf. 기본적으로 블록이 0인 파일 시스템을 표시하지 않고 미터, 색상 및 일부 기타 속성이 기본적으로 활성화되어 있기 때문입니다. 별칭은 잘 작동 df하며 원본 버전을 어쨌든 사용할 수 있습니다 \df.

답변4

findmnt --real대신 사용하십시오 mount:

findmnt --real -t nosquashfs

findmntmount매뉴얼 페이지 에 따르면 이는 설치 목록을 표시하는 권장 방법입니다.

목록 모드는 이전 버전과의 호환성을 위해서만 유지됩니다.

더욱 강력하고 사용자 정의 가능한 출력을 얻으려면 특히 스크립트에서 findmnt(8)를 사용하십시오.

--real옵션에는 가상 파일 시스템(예: proc, devtmpfs 또는 cgroups)이 포함되지 않습니다.

추가적으로 squashfs 파일 시스템을 제외하여(snap을 사용하는 경우) 쉼표 -t nosquashfs로 구분된 더 많은 파일 시스템을 제외할 수 있습니다.-t nosquashfs,nofuse.sshfs

df

df -x tmpfs -l

df대부분의 가상 시스템은 기본적으로 나열되지 않으므로(해당 옵션을 전달하지 않는 한 -a) 제외하려는 주요 항목은 tmpfs 파일 시스템( -x tmpfs) 및 로컬이 아닌 파일 시스템( -l)일 수 있습니다. squashfs 파일 시스템이 표시되는 경우 (내 것은 표시되지 않음) 이를 제외하여 제외 df해야 할 수도 있습니다 .-x tmpfs -x squashfs

관련 정보