df -h
を使用してハードドライブの合計サイズを確認しようとしていますが、各パーティションのサイズが出力され、Sudo
が必要です。
Root権限を必要とせずに、コマンドラインを使用してハードドライブの合計サイズを取得する方法はありますか?
ハックな方法は、次のコマンドでシステムログを読み取ることにより、Sudo
の必要性を回避することです。
dmesg | grep blocks
これは理想的ではないかもしれないので、マイレージが異なる場合があることに注意してください...
バイト単位のサイズが必要で、値のみが必要な場合。スクリプト用:
lsblk -b --output SIZE -n -d /dev/sdX
12220202
-b:バイトで出力します。
-n:見出しなし。純粋な数値のみが必要です。
-出力サイズ:size-columnのみを印刷します。
-d/dev/sdXn:知りたいサイズのデバイス。 Xは、たとえばd、nは、たとえばディスクdの最初のパーティションでは1です。
利点:
たとえば、スクリプトでその情報を使用したい場合は、
Sudo blockdev --getsz /dev/sda
fdiskやhdparmよりも関連情報のみを提供するため(512を掛けるだけ)、簡単かもしれません。ただし、Sudoも必要です。
もちろん、パスワードを要求せずにこの特定のコマンドを実行できるようにSudoの構成を変更することもできます(通常の非特権ユーザーによって実行された場合でもblockdev --getsz
はかなり安全だと思います)。
これを行うには、次の行を/etc/sudoers
に追加します。
ALL ALL= NOPASSWD:/sbin/blockdev --getsz /dev/*
このファイルを編集するときは、通常のエディタではなく、必ずSudo visudo
コマンドを使用してください。そうしないと、構文エラーが発生しやすくなり、Sudoを使用できなくなります(これを修正するには、レスキューモードで再起動する必要があります)。
あなたは悪いインストールか不条理に妄想的なシステム管理者を持っています。私はneverdf
が以前にroot権限を必要とすることを聞いたことがあります。そして、私はかなり多くの異なる種類のunix/unixに似たオペレーティングシステムを扱ってきました。
とにかく、これですべてのディスクパーティションの合計サイズがわかります(最初のdf
列は/dev/hd...
または/dev/sd...
)ブロック単位(kB):
df | grep '^/dev/[hs]d' | awk '{s+=$2} END {print s}'
またはGB:
df | grep '^/dev/[hs]d' | awk '{s+=$2} END {print s/1048576}'
私は今、Linuxの箱にいませんが、次のことを試してみてください。
hdparm -I /dev/sda
または
fdisk -l
おそらくSudoも必要になるでしょう。
Dfがrootを必要とすることはどこにもありません。それは変です。
GnomeとKubuntuからのディスク容量の確認
Disk Usage Analyzerは、GnomeおよびKubuntu環境でのディスク使用量を報告するグラフィカルメニュー方式のアプリケーションです。 DUA(Disk Usage Analyzer)は、ファイルシステムツリー全体またはローカルまたはリモートの個々のディレクトリをスキャンできます。 DUAも動的であり、マウントおよびアンマウントされたデバイスをリアルタイムで報告します。
Gnomeのディスク使用量アナライザーにアクセスするには、次のようにクリックします。