Alle CD/DVD Laufwerke in Bash
Alle CD/DVD Laufwerke in Bash
Ich Suche nach einer Möglichkeit eine Lister aller CD und DVD Laufwerke zu erhalten.
Dabei sind mir 2 Werte wichtig:
a) /dev/xyz
b) Product
Das ganze möchte ich später an eine Abfrage mit zenity auswählen lassen.
Bekannte Ansätzte
wodim --devices Leider klappt das nur wenn das System die CD/DVD nicht direkt ein hängt wegen dem exclusiv Zugriff.
Eine weitere alternatve ist "hal-devices" nur weis ich hier nicht wie ich die Daten sauber mit awk selektieren kann.
Dabei sind mir 2 Werte wichtig:
a) /dev/xyz
b) Product
Das ganze möchte ich später an eine Abfrage mit zenity auswählen lassen.
Bekannte Ansätzte
wodim --devices Leider klappt das nur wenn das System die CD/DVD nicht direkt ein hängt wegen dem exclusiv Zugriff.
Eine weitere alternatve ist "hal-devices" nur weis ich hier nicht wie ich die Daten sauber mit awk selektieren kann.
Also am liebsten hätte ich die ausgabe so
SO sieht z.B. mein aktuelles Beispiel aus
Wie gesagt der Nachteil ist es werde nicht alle LW angezeigt wenn das LW gemountet ist
Code: Alles auswählen
/dev/hda "Pioner ABCXYZ"
/dev/hdb "DVD AA BD"
/dev/sg0 "Firma BEZ"
Code: Alles auswählen
DEVICE=`wodim --devices | grep /dev/ | awk -F\' '{ if ( NR == 1 ) { print "TRUE\t"$2"\t\""$4, $6"\"" } else { print "FALSE\t"$2"\t\""$4, $6"\"" } }' | xargs zenity --list --radiolist --width=500 --height=250 --text "Welches DVD-Laufwerk möchten Sie verwenden" --title "BLA" --column="" --column="Gerät" --column="Beschreibung"`
hwinfo kann auch explizit nach CDROMs scannen:
ergibt
Code: Alles auswählen
~# hwinfo --cdrom
21: IDE 01.0: 10602 CD-ROM (DVD)
[Created at block.222]
UDI: /org/freedesktop/Hal/devices/storage_model__NEC_DVD_/_RW_ND_3450A
Unique ID: iqvy.yWAtgxmdYWB
Parent ID: 3p2J.qhVZTI7+qz5
SysFS ID: /block/hdb
SysFS BusID: 0.1
SysFS Device Link: /devices/pci0000:00/0000:00:1f.1/ide0/0.1
Hardware Class: cdrom
Model: "_NEC DVD+/-RW ND-3450A"
Vendor: "_NEC"
Device: "DVD+/-RW ND-3450A"
Revision: "102B"
Serial ID: ""
Driver: "PIIX_IDE", "ide-cdrom"
Driver Modules: "piix", "ide_cd"
Device File: /dev/hdb
Device Files: /dev/hdb, /dev/disk/by-path/pci-0000:00:1f.1-ide-0:1, /dev/cdrom, /dev/cdrw, /dev/dvd, /dev/dvdrw
Device Number: block 3:64
Features: CD-R, CD-RW, DVD, DVD-R, DVD-RW, DVD+R, DVD+RW, DVD+DL
Size: 0 sectors a 512 bytes
Drive status: no medium
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #13 (IDE interface)
Drive Speed: 48
Code: Alles auswählen
hwinfo --cdrom | egrep "Model:|Device File:" | awk -F ':' '{print $2}'
"_NEC DVD+/-RW ND-3450A"
/dev/hdb
soweit : hwinfo --cdrom | egrep "Model:|Device File:" | awk -F ':' '{print $2}' bin ich auch. aber wie bekomme ich die jede 2 zeile vor die erste? im allerschlimmesten fall müsste ich das ganze per bash auswert, aber ich will ja dazu lernen
@Duff
wodim --devices liefert nur devices die nicht benutzt werden. da aber beim einlegen die cd bzw dvd im normal fall schon gemountet wird, fehlt das laufwerk und ich muss es erst unmounten.
@Duff
wodim --devices liefert nur devices die nicht benutzt werden. da aber beim einlegen die cd bzw dvd im normal fall schon gemountet wird, fehlt das laufwerk und ich muss es erst unmounten.
traxanos hat geschrieben:soweit : hwinfo --cdrom | egrep "Model:|Device File:" | awk -F ':' '{print $2}' bin ich auch. aber wie bekomme ich die jede 2 zeile vor die erste?
Code: Alles auswählen
root@gms4:~# hwinfo --cdrom | awk -F':' '/Model:/{m=$2} /Device File:/{ print $2 " " m } '
/dev/hdc "SAMSUNG DVD-ROM SD-616"
gms
Ah, sehr schön, das speichere ich mir auch mal ab, so kann ich schneller die Seriennummern der Platten archivieren
Code: Alles auswählen
hwinfo --disk | awk -F':' 'BEGIN{ print "Device\t\t\Name\t\t\tSeriennummer"} /Model:/{M=$2} /Serial ID:/{S=$2} /Device File:/{ print $2 "\t" M "\t" S } '
Device Name Seriennummer
/dev/sda "Maxtor 6Y160M0" "Y46PBLVE"
/dev/hda "SAMSUNG SP0802N" "0637J3FW542668"
/dev/sdb "ST3160811AS" "6PT079WT"
hey, super!
vielen dank!!!!!!
vielen dank!!!!!!
vielen dank!!!!!!
Ich habe da doch noch 1 Sache
Das in Klammern (/dev/sg2) muss verschwinden.
Ich wüsste zwar wie ich das noch rausgefiltert bekomme,
aber es wäre doch söner es direkt in dem awk anweisung zu haben.
Wie gesagt man möchte ja dazu lernen
AUßerdem sind noch unnötige Leerzeichen enthalten.
vielen dank!!!!!!
vielen dank!!!!!!
vielen dank!!!!!!
Ich habe da doch noch 1 Sache
Code: Alles auswählen
traxanos@stepahead:~$ hwinfo --cdrom | awk -F':' ' /Model:/{m=$2} /Device File:/{ print $2 " " m } '
/dev/sr0 (/dev/sg2) "ATAPI DVD A DH20A1S"
/dev/hda "PIONEER DVD-RW DVR-110D"
/dev/hdb "PLEXTOR DVD-ROM PX-130A"
Ich wüsste zwar wie ich das noch rausgefiltert bekomme,
aber es wäre doch söner es direkt in dem awk anweisung zu haben.
Wie gesagt man möchte ja dazu lernen
AUßerdem sind noch unnötige Leerzeichen enthalten.
Hi,
Is das nich einfacher?
Gruß cirrussc
Natürlich liefert dmesg auch devicestraxanos hat geschrieben: * über dmesg bekomme ich keine devicefiles
Code: Alles auswählen
~$ dmesg | grep DVD
hdc: DVD+RW RW8160, ATAPI CD/DVD-ROM drive
hdc: ATAPI 24X DVD-ROM CD-R/RW drive, 8192kB Cache, UDMA(33)
Gruß cirrussc