df 및 mount를 사용할 때 물리 디스크 만 표시


9

내가 사용하는 경우 dfmount, 나는 실제 디스크 파티션에 관심이있는 모든의 대부분을 해요. 오늘날 이러한 명령의 출력은 임시 및 가상 파일 시스템, cgroup 및 내가 정기적으로 관심이없는 다른 것들에 압도됩니다.

출력의 물리 분할은 항상 ' /'로 시작 하므로 df및에 대한 별칭을 만들려고했습니다 mount.

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

그것은 mount1( /빨간색으로 ' '를 표시하지만) 제대로 작동 하지만 df1때로는 -h옵션을 추가하고 df싶지 않습니다 df1 -h. 사용하려는 모든 옵션 조합에 대해 별칭을 사용하지 않는 것이 좋습니다. bash에서 함수 정의를 실제로 조사해야합니까? 더 나은 해결책이 df1있습니까?

답변:


6

df1다음 별명을 사용하여 인수 문제를 해결할 수 있습니다 .

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

관심있는 다른 유형 ( xfs, fuseblk(@Pandya가 지적한 최신 NTFS 지원의 경우 등) 등)을 추가하십시오.이를 통해 df1 -h예상 한 결과를 얻을 수 있습니다.

mount이 있나요 -t옵션을하지만 당신은 그것을 여러 번 지정할 수 없습니다 (마지막이 촬영), 나는 거기에 사용합니다 :

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

사용 되지 않는 grep -Eas egrep를 사용하고 있으며를 사용 /bin/grep하면 /에 --colour=auto대한 별칭에서 사용하지 않아야합니다.grepegrep


df --type ntfs5 ntfs 파티션을 표시하지 않으므로 결과적으로 건너 뜁니다.
Pandya

나는 그것을 위해 사용 --type fuseblk했습니다
Pandya

내가 지시 한 @Pandya, 당신은 intrested 다른 유형을 추가해야합니다. 몇 년 동안 내 시스템에 ntfs 파티션이 없었기 때문에 내가 사용하는 별칭의 출처가 어디인지 확실하지 않습니다. .
Anthon

1
@Pandya는 --type ntfsNTFS 지원이 최소화 된 시점 (Windows %-으로 재부팅 한 후 NTFS 파티션에서 파일 시스템 검사를 수행 해야하는 시점)부터 별명에있는 것처럼 보입니다 . 답변을 업데이트했습니다. 감사합니다.
Anthon

3

다음과 같이 기능을 정의 할 수 있습니다.

function df1() { df "$@" | grep -E '^/'; }

출력 예 :

$ df1 -h
/dev/sda8        25G  8.1G   16G  35% /
/dev/sda4        25G   20G  5.8G  78% /media/pandya/Documents+Edu
/dev/sda3       9.5G  7.1G  2.0G  79% /media/pandya/Ext4
/dev/sda7        24G   17G  6.9G  71% /media/pandya/Extra+Other
/dev/sda6        26G   25G  448M  99% /media/pandya/Media+Game
/dev/sda10       15G  7.9G  7.1G  53% /media/pandya/Miscellaneous
/dev/sda5        36G   22G   14G  63% /media/pandya/Software+OS

여기에 $@인수를 입력 할 수 있습니다! [ $@구체적인 이유가없는 한, 항상 큰 따옴표로 묶어야합니다. -ed]


3

다른 df것으로 전환하는 것이 옵션 인 경우 pydf기본적으로 블록이 0 인 파일 시스템을 표시하지 않고 게이지, 색상 및 기본적으로 활성화 된 기타 속성이 있으므로 대신 사용하십시오 . 의 별칭은 상당히 잘 작동 df하며 원본은 항상 사용할 수 있습니다 \df.


나에게 가장 유용한 대답은 여기입니다. 슬프게도에는 존재하지 않습니다 mount.
emk2203

조금 늦었지만 나에게 pydf는 내가 원하는 모든 것이 물리적 드라이브 일 때 단일 물리적 드라이브와 33 / dev / loop ## 드라이브를 보여주었습니다. 허용 안양 대답은 작동하지만, 내가 대신이 양식을 선호 : 별칭 DFH = '안양 -h -x SquashFS는 -x의 tmpfs'
스티브 발리 에르

1

이 답변은 yves의 다음과 같은 선입견 을 해결하려고 시도합니다 .

모든 옵션 조합에 대해 별칭을 사용하지 않는 것이 좋습니다 (1)

'/'가 빨간색으로 표시되지만 (2)

그리고 (3) 중요한 정보를 가변 출력에 추가하는데, 이것은 df제공된 플래그에 따라 변경되는 헤더 라인입니다.

(1) function정의에는 인수 가 필요 하기 때문에을 (를) 필요로합니다 . 그리고 아래에서 알 수 있듯이 정의하고 사용하는 것은 매우 간단합니다.

(2) 빨간색 /은에 의해 생성되며 grep --color이는 grep자체 의 공통 별칭 입니다 (를 실행하여 확인할 수 있음 alias).

암호

function df1 
{ 
    df $* | sed -n '1p;/^\//p;'
}

위의 줄 바꿈은 가독성을 높이기위한 것으로 공백으로 바꿀 수 있습니다.

이 스 니펫을 복사하여 대화식 bash 세션에 직접 붙여 넣거나 더 좋게 추가하십시오 ~/.bashrc.

사용법 예

$ df1 
Filesystem                        1K-blocks      Used Available Use% Mounted on
/dev/disk1                        487358464 316093104 171009360  65% /
/dev/disk2                           524032    302620    221412  58% /Volumes/Packer

$ df1 -hT
Filesystem                        Type   Size  Used Avail Use% Mounted on
/dev/disk1                        hfs    465G  302G  164G  65% /
/dev/disk2                        hfs    512M  296M  217M  58% /Volumes/Packer

$ df1 -hT .
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/disk1     hfs   465G  302G  164G  65% /

그것이하는 일

이 함수 df1df인수를 전달 |하고 출력을 파이프 ( )로 파이프 ( )합니다. 이 함수 는 패턴 공간의 자동 인쇄를 억제하기 위해 sed호출됩니다 -n. 나머지는 sed "스크립트"를 나타냅니다.

  1. 스크립트 1p는 첫 번째 줄을 인쇄합니다.이 경우 df헤더입니다 ( ps배관 에도 동일하게 사용 ).
  2. 스크립트 /^\//p는로 시작하는 모든 줄과 일치 /한 다음 인쇄합니다.
  3. ; 2 개의 sed 스크립트를 분리

0

사용 alias df='df -hT -xtmpfs -xdevtmpfs'합니다.

df요즘 리눅스에서 GNU를 실제로 사용할 수 있게하려면 별명을 사용해야한다는 사실이 상당히 짜증납니다 . "실제"파일 시스템 만 표시하는 옵션이 있어야합니다 (무엇이든).

애 퀴적으로, df -hxtmpfs대부분의 쓰레기를 꺼내어 별명없이 사용할 수 있습니다. 정말로 나쁘지 않고 netstat -tulnp... * 한숨 *


0

독서 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
...
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.