Nejjednodušší způsob, jak v Linuxu získat velikost disku, je pomocí blockdev --getsz
:
sudo -s
dd bs=512 if=/dev/zero of=/dev/sdx count=2048 seek=$((`blockdev --getsz /dev/sdx` - 2048))
Velikost každého oddílu je k dispozici v /proc/partitions
. Následující příkaz zobrazuje velikost sdx
(v jednotkách kB):
awk '$4 == "sdx" {print $3}' </proc/partitions
Tedy:
dd if=/dev/zero of=/dev/sdx bs=1k count=1024 \
seek=$(($(awk '$4 == "sdx" {print $3}' </proc/partitions) - 1024))
Použití vyhledávání k dosažení konce jednotky funguje velmi dobře, tj.:
seek=$((
blockdev --getsz /dev/sda
- 2048))
Když to však použijete, doporučuji, abyste buď věděli, že vaše hodnota počtu je správná, nebo ji nepoužívejte vůbec. Důvod, proč to říkám, je ten, že disky mohou mít buď 512 bajtových sektorů nebo 4k sektorů, a pokud toto řešení použijete s diskem, který má na sobě 4k sektory, nedojdete na konec disku s touto hodnotou počtu, a na konci může chybět informace RAID (narazil jsem na to).
odeslání textového vstupu na oddělenou obrazovku
Spustit konkrétní příkaz v daném adresáři bez cd'ingu?