GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Finden Sie alle Speichergeräte, die an eine Linux-Maschine angeschlossen sind

Du kannst immer fdisk -l machen was ziemlich gut zu funktionieren scheint, sogar auf seltsamen Setups wie EC2 xvda-Geräten.

Hier ist ein Dump für eine m1.large-Instanz:

[email protected]:~# fdisk -l

Disk /dev/xvda1: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/xvda1 doesn't contain a valid partition table

Disk /dev/xvda2: 365.0 GB, 365041287168 bytes
255 heads, 63 sectors/track, 44380 cylinders, total 712971264 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/xvda2 doesn't contain a valid partition table

Disk /dev/xvda3: 939 MB, 939524096 bytes
255 heads, 63 sectors/track, 114 cylinders, total 1835008 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/xvda3 doesn't contain a valid partition table

Während mount sagt:

[email protected]:~# mount
/dev/xvda1 on / type ext4 (rw)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/xvda2 on /mnt type ext3 (rw)

Und /proc/partitions sagt:

[email protected]:~# cat /proc/partitions
major minor  #blocks  name

 202        1   10485760 xvda1
 202        2  356485632 xvda2
 202        3     917504 xvda3

Randbemerkung

Wie fdisk -l funktioniert, würde ich gerne selbst wissen.


Sie können auch lsblk ausprobieren ... ist in util-linux ... aber ich habe auch eine Frage

fdisk -l /dev/sdl

kein Ergebnis

grep sdl /proc/partitions      
   8      176   15632384 sdl
   8      177   15628288 sdl1

lsblk | grep sdl
sdl       8:176  1  14.9G  0 disk  
`-sdl1    8:177  1  14.9G  0 part  

fdisk ist gut, aber nicht so gut ... scheint nicht alles "sehen" zu können

In meinem speziellen Beispiel habe ich einen Stick, der auch einen Kartenleser eingebaut hat, und ich kann nur den Stick mit fdisk sehen:

fdisk -l /dev/sdk

Disk /dev/sdk: 15.9 GB, 15931539456 bytes
255 heads, 63 sectors/track, 1936 cylinders, total 31116288 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbe24be24

   Device Boot      Start         End      Blocks   Id  System
/dev/sdk1   *        8192    31116287    15554048    c  W95 FAT32 (LBA)

aber nicht die Karte (Karte ist /dev/sdl)

außerdem ist file -s ineffizient ...

file -s /dev/sdl1
/dev/sdl1: sticky x86 boot sector, code offset 0x52, OEM-ID "NTFS    ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 255, hidden sectors 8192, dos < 4.0 BootSector (0x0)

das ist schön ... ABER

fdisk -l /dev/sdb
/dev/sdb1            2048   156301487    78149720   fd  Linux raid autodetect
/dev/sdb2       156301488   160086527     1892520   82  Linux swap / Solaris

file -s /dev/sdb1
/dev/sdb1: sticky \0

Um Informationen über eine Festplatte anzuzeigen, auf die fdisk nicht zugreifen kann, können Sie parted:

verwenden
parted /dev/sdl print

Model: Mass Storage Device (scsi)
Disk /dev/sdl: 16.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      4194kB  16.0GB  16.0GB  primary  ntfs




arted /dev/sdb print 
Model: ATA Maxtor 6Y080P0 (scsi)
Disk /dev/sdb: 82.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  80.0GB  80.0GB  primary                  raid
 2      80.0GB  82.0GB  1938MB  primary  linux-swap(v1)

ls /sys/block


/proc/partitions listet alle Blockgeräte und Partitionen auf, die das System erkennt. Sie können es dann mit file -s <device> versuchen um festzustellen, welche Art von Dateisystem auf der Partition vorhanden ist, falls vorhanden.


Linux
  1. So finden Sie die Liste aller offenen Ports in Linux heraus

  2. So finden Sie eine Datei in Linux rekursiv in allen Verzeichnissen

  3. Wie finde ich alle seriellen Geräte (ttyS, ttyUSB, ..) unter Linux, ohne sie zu öffnen?

  4. Wie finde ich alle Dateien mit der Endung .rb unter Linux?

  5. Finden aller Speichergeräte, die an eine Linux-Maschine angeschlossen sind

Linux blkid-Befehl zum Suchen von Blockgerätedetails

So finden Sie heraus, welche Geräte in Linux mit dem Netzwerk verbunden sind

Finden Sie Geräte, die mit Ihrem WLAN in Linux verbunden sind

So finden Sie alle installierten Schriftarten in Linux

6 verschiedene Möglichkeiten zum Auflisten von Festplatten in Linux

10 Befehle zum Überprüfen von Festplattenpartitionen und Speicherplatz unter Linux