Obter o tamanho total do meu disco rígido no Linux, usando a linha de comando, sem permissões de root?

15

Estou tentando descobrir o tamanho total do meu disco rígido usando df -h, mas ele imprime o tamanho de cada partição e requer sudo.

Existe alguma maneira de obter o tamanho total do meu disco rígido usando a linha de comando, sem a necessidade de permissão root?

HVNSweeting
fonte
5
Nota: O uso dfé impreciso se o disco tiver espaço não particionado, nem todas as partições estão montadas (por exemplo, algumas partições do Windows na mesma unidade) ou algumas partições não são montadas diretamente, mas indiretamente, através de RAID, LVM ou LUKS (criptografia). Também perderá as partições de troca. Então, eu recomendo não usar dfpara descobrir o tamanho do disco rígido.
Philipp Wendler

Respostas:

12

Uma maneira hacky é ignorar a necessidade sudolendo o log do sistema com:

dmesg | grep blocks

Observe que isso pode não ser o ideal, então sua milhagem pode variar ...

Sirex
fonte
4
cat /sys/block/sda/size

Mas o tamanho está na unidade baseada em bloco
. Encontrei esta resposta aqui .
Outras soluções aqui .

Ou você pode tentar udiscos

udisks --show-info /dev/sda | egrep "^[[:space:]]*size" | awk '{print $2}'
Gery
fonte
4

Se você deseja o tamanho em bytes e apenas o valor, por exemplo, para scripts:

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

-b : Saída em bytes.
-n : Sem títulos. Queremos apenas o valor numérico puro.
--output SIZE : imprime apenas a coluna de tamanho.
-d / dev / sdXn : o dispositivo que tamanho queremos saber. X é, por exemplo, d, n é, por exemplo, 1 para a primeira partição do disco d.

Vantagens:

  • privilégios de root não são necessários
  • grep não é necessário
  • O lsblk está disponível na maioria dos sistemas Linux
Sean Loony
fonte
3

Se você deseja usar essas informações em um script, por exemplo, usar

sudo blockdev --getsz /dev/sda

pode ser mais fácil que o fdisk ou hdparm, pois fornece apenas as informações relevantes (basta multiplicar por 512). No entanto, também será necessário sudo.

Obviamente, você pode alterar a configuração do sudo de forma que ele permita executar este comando específico sem solicitar a senha (acho que blockdev --getszé bastante seguro, mesmo quando executado por um usuário normal sem privilégios).

Isso seria feito adicionando a seguinte linha a /etc/sudoers:

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

Ao editar esse arquivo, use o comando sudo visudoe não o editor habitual. Caso contrário, é muito fácil cometer um erro de sintaxe, o que resultaria em não ser mais possível usar o sudo (você teria que reiniciar o modo de recuperação para corrigir isso).

Philipp Wendler
fonte
1
A partir da página man: --getsize64 Print device size in bytes.. Também aqui .
Sparhawk
1

Não estou na minha caixa Linux agora, mas você pode tentar:

hdparm -I /dev/sda

ou

fdisk -l

o que provavelmente também exigirá um sudo.

Eu não vi em nenhum lugar que df requer raiz. Isso é estranho.

CaseyB
fonte
Talvez "df" não esteja no PATH. HVNSweeting, tente "sudo what df" e tente como usuário.
Milan Babuškov 27/10/11
Olá, é isso que recebo: hvnsweeting @ hvnbox: ~ $ blockdev --getsz / dev / sda / dev / sda: permissão negada hvnsweeting @ hvnbox: ~ $ hdparm -I / dev / sda / dev / sda: permissão negada hvnsweeting @hvnbox: ~ $ fdisk -l hvnsweeting @ hvnbox: ~ $
HVNSweeting
1
Tudo o que acessa os dispositivos diretamente (ou seja, / dev / sda) precisará do sudo.
Philipp Wendler 28/10
1

Você tem uma instalação incorreta ou um administrador de sistema absurdamente paranóico. Eu nunca ouvi falar de dfexigir privilégios de root antes. E trabalhei com alguns tipos diferentes de sistemas operacionais unix / unix-like.

De qualquer forma, isso fornecerá o tamanho total de todas as partições de disco (a primeira dfcoluna é /dev/hd...ou /dev/sd...) em blocos (kB):

df | grep '^/dev/[hs]d' | awk '{s+=$2} END {print s}'

ou em GB:

df | grep '^/dev/[hs]d' | awk '{s+=$2} END {print s/1048576}'
Dave Sherohman
fonte
0

Verificando o espaço em disco no Gnome e no Kubuntu

O Disk Usage Analyzer é um aplicativo gráfico orientado a menus que relata o uso do disco nos ambientes Gnome e Kubuntu. O DUA (Disk Usage Analyzer) pode verificar a árvore inteira do sistema de arquivos ou os diretórios individuais, locais ou remotos. O DUA também é dinâmico, pois informa em tempo real todos os dispositivos montados e desmontados.

Para acessar o Disk Usage Analyzer no Gnome, clique em: Applications \ Accessories \ Disk Usage Analyzer.

Ricky
fonte