Obțineți o listă simplă a tuturor discurilor [duplicat] (Unix, Linux, Browser, Disc)

clarkk a intrebat.

Cum să obțineți o listă a tuturor discurilor, ca aceasta?

/dev/sda
/dev/sdb

2 răspunsuri
steve

ls (arată totuși partiții individuale)

# ls /dev/sd*
/dev/sda  /dev/sda1

ls (doar discurile, ignoră partițiile)

# ls /dev/sd*[a-z]
/dev/sda

fdisk

# fdisk -l 2>/dev/null |awk '/^Disk //{print substr($2,0,length($2)-1)}'
/dev/xvda

Comentarii

  • simplu și ușor ls /dev/sd[a-z] 🙂 –  > Por clarkk.
  • @clarkk Asta nu va funcționa, odată ce ați trecut „z” blockdevices; apoi continuă cu /dev/sdaa –  > Por Alex Stragies.
resc

Puteți utiliza df pentru a lista toate partițiile montate, comanda va ieși ceva de genul

$ df
/dev/sda1      230467740  37314652 181422912  18% /
udev               10240         0     10240   0% /dev
tmpfs            5599420         0   5599420   0% /sys/fs/cgroup
/dev/sdb1      961303548 130106540 782342500  15% /media/Data
..

Dacă doriți să listați doar discurile montate, puteți filtra ieșirea cu grep, de exemplu

$ df | grep '^/dev'
/dev/sda1      230467740  37314752 181422812  18% /
/dev/sdb1      961303548 130106540 782342500  15% /media/Data

care se potrivește cu liniile care încep cu /dev, , sau, dacă doriți doar numele

df | grep -o '^/dev[^ ]*' 
/dev/sda1
/dev/sdb1

care se va potrivi cu șirurile care încep cu /dev până la primul caracter de spațiu alb, și va ieși doar rezultatul care corespunde (opțiunea -o, --only-matching),

Editați

Cele de mai sus vor lista toate partițiile, dacă aveți nevoie să listați discurile, utilizați lsblk în schimb, cu următoarele opțiuni (potrivire de tipare ca mai sus)

$ lsblk -dp | grep -o '^/dev[^ ]*'
/dev/sda
/dev/sdb
  • -d listează numai dispozitivul, fără partiții
  • -p afișează întreaga cale

Editare 2

După cum se arată mai jos, lsblk -dpno name va da același rezultat, nu este nevoie de grep.

Comentarii

  • Mulțumesc @don_crissti, mi-am editat răspunsul. Cu siguranță ar trebui să trec prin toate opțiunile atunci când răsfoiesc paginile de man. –  > Por resc.