GNU/Linux >> Linux の 問題 >  >> Linux

root権限なしでコマンドラインを使用して、Linuxでハードドライブの合計サイズを取得しますか?

sudo の必要性を回避するハックな方法 システム ログを読み取る:

dmesg | grep blocks

これは理想的ではない可能性があるため、マイレージは異なる場合があることに注意してください...


バイト単位のサイズと値のみが必要な場合。スクリプト用:

lsblk -b --output SIZE -n -d /dev/sdX
12220202

-b :バイト単位で出力します。
-n :見出しなし。純粋な数値のみが必要です。
--出力サイズ :サイズ列のみを出力します。
-d /dev/sdXn :知りたいサイズのデバイス。 Xは例えばd, n は、たとえば、ディスク d の最初のパーティションの場合は 1 です。

利点:

  • ルート権限は必要ありません
  • grep は必要ありません
  • ほとんどの Linux システムで lsblk を利用できます

たとえば、その情報をスクリプトで使用したい場合は、

sudo blockdev --getsz /dev/sda

関連情報のみを提供するため、fdiskまたはhdparmよりも簡単かもしれません(512を掛けるだけです)。ただし、sudo も必要です。

もちろん、パスワードを要求せずにこの特定のコマンドを実行できるように、sudo の構成を変更することもできます (blockdev --getsz だと思います)。 通常の非特権ユーザーによって実行された場合でも、かなり安全です)。

これを行うには、次の行を /etc/sudoers に追加します。 :

ALL ALL= NOPASSWD:/sbin/blockdev --getsz /dev/*

このファイルを編集するときは、必ずコマンド sudo visudo を使用してください いつもの編集者ではありません。そうしないと、非常に簡単に構文エラーが発生し、sudo を使用できなくなります (これを修正するには、レスキュー モードで再起動する必要があります)。


Linux
  1. Linuxコマンドラインでのtcpdumpの使用の概要

  2. Linuxコマンドラインで力を使用する

  3. Stratisを使用してコマンドラインからLinuxストレージを管理する

  1. コマンドラインを使用してLinuxでtar.gzファイルを抽出する方法

  2. コマンドラインを使用してLinuxでユーザーを削除する方法

  3. Linuxのコマンドラインを使用してファイルを作成する

  1. LinuxコマンドラインからのGoogleドライブの使用

  2. コマンドラインを使用してディレクトリ内のファイルの数を取得するにはどうすればよいですか?

  3. Linux でコマンドラインを使用して任意のファイルをダウンロードするための 4 つのツール