web-dev-qa-db-ja.com

クォータチェックのために自分が所有するファイルを一覧表示するにはどうすればよいですか?

Linux(RHEL 6)で、特定のファイルシステムのクォータにカウントされているすべてのファイルとサイズを一覧表示するための最良の方法は何ですか?

プロジェクトディレクトリがあり、現在行っていることはすべてかなり小さいですが、クォータがほぼいっぱいになっているので、他に何があるかを確認して、少しクリーンアップできるようにします。

7
Brian Larsen

findを使用して、ファイル名に表示される可能性のあるスペースやその他の面白い記号に関して安全な方法を使用する必要があります。これで問題ありません(findバージョンとduバージョンがオプションを受け入れる場合):

find . -type f -user "$USER" -print0 | du -ch --files0-from=-

-cオプションは、最後にニースの合計を設定することです)。ただし、これはディレクトリのサイズをカウントしません。

ディレクトリツリーにアクセスできないディレクトリがある場合、画面にジャンク(許可が拒否された)が表示される可能性があるため、stderr/dev/nullに次のようにリダイレクトすることをお勧めします。

find . -type f -user "$USER" -print0 2>/dev/null | du -ch --files0-from=-
5
gniourf_gniourf

私はおそらくユーザー名に基づいて検索コマンドを実行するでしょう、私はそれが彼らがクォータを計算するものであると思います。

何かのようなもの:

#!/bin/bash

for i in `find . -type f -user $(whoami)`; do
    du -h ${i}
done

これにより、$(whoami)が所有するすべてのファイルが、人間が読める形式のファイルサイズで一覧表示されます。

ただし、そのリストは私のシステムでは非常に長いので、そのファイルにstdoutを追加するか(たとえば、> output.txt)、findコマンドに-maxdepth #を追加して制限することをお勧めします。それを管理可能なレベルのディレクトリに。

1
nerdwaller