dfとmountを使用する場合、物理ディスクのみを表示します


9

dfまたはを使用する場合mount、最も重要なのは物理ディスクパーティションです。最近では、これらのコマンドの出力は、一時的または仮想的なファイルシステム、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'

興味のある他のタイプ(@ xfsfuseblk(@ Pandyaが指摘したように、最新のNTFSサポートの場合)など)を追加してください。これによりdf1 -h、期待どおりの結果を得ることができます。

mount-tオプションはありますが、複数回指定することはできません(最後のものだけが使用されます)。

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

私は非推奨であるgrep -Eas egrepを使用/bin/grepしていますが、これを使用--colour=autoすると、grep/のエイリアスから使用していないことを確認できますegrep


df --type ntfsは5つのntfsパーティションを表示していないため、結果としてスキップされます
Pandya

私はそのために使用--type fuseblkしなければなりません
Pandya

@Pandyaそれは私が示したものです、あなたが関与している他のタイプを追加する必要があります。私はシステムにntfsパーティションを数年間持っていなかったので、私が使用するエイリアスのどこから来たのかわかりません。
Anthon

1
@Pandya --type ntfsは、最小限のNTFSサポートがあったとき(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 ##ドライブを表示しました。受け入れられたdf回答は機能しますが、代わりに次の形式を使用します:alias dfh = 'df -h -x squashfs -x tmpfs'
Steve Valliere

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の「スクリプト」を表現しています。実際には2つあります。

  1. スクリプト1pは1行目を出力します。この例では、dfヘッダーです(psパイプラインにも同じものを使用しています)。
  2. スクリプト/^\//p/、で始まるすべての行に一致し、それを出力します
  3. ; 2つのsedスクリプトを分離します

0

使用しますalias df='df -hT -xtmpfs -xdevtmpfs'

df最近、LinuxでGNUを実際に使用できるようにするためにエイリアスを使用する必要があることは、かなりうんざりです。「実際の」ファイルシステムのみを表示するオプションがあります(それが何であれ)。

Acually 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.