如何检查物理设备内容

如何检查物理设备内容

我有一台有 2 个硬盘的服务器。我想知道第二个驱动器上有什么。如何列出物理设备上的所有内容?

lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  40G  0 disk 
└─xvda1 202:1    0  40G  0 part /
xvde    202:64   0  40G  0 disk 
└─xvde1 202:65   0  40G  0 part 

我运行上面的代码。这是否意味着第二个驱动器是空的且未使用?

答案1

你的问题的答案是也许是的。

lsblk将隐藏空设备——但是,在这种情况下,它仅讨论分区,而不讨论这些分区上的数据。lsblk不是这里工作的最佳工具。

然而,这确实告诉我们分区尚未安装 -所以是的,目前尚未使用

那么,分区(以及驱动器)上是否有任何数据?

df我们可以通过命令或“disk free”找到这一点。

要查看分区的内容(因为只有一个分区,我们可以将其称为驱动器本身的内容),我们首先需要安装它。

让我们以 root 身份为其创建一个目录

# mkdir /mnt/xvde1

然后挂载这个分区

# mount /dev/xvde1 /mnt/xvde1

接下来,在我们查看实际信息之前......让我们看看如何很多(如果有)磁盘空间正在被使用。我们知道分区大约有 40GB 大,但这是分配的空间,而不是已使用的空间。 [感谢评论中的 @n.st 建议使用分区作为参数df!]

# df -H  /dev/xvde1 

会告诉我们正在使用多少空间。这是我的文件系统的示例

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        43G   15G   29G  35% /

第二列(15GB)是已使用的数量。 这就是我们要找的!如果它 > 0,则该驱动器不为空!

您可以查看全部只需使用即可获取已安装文件系统的信息

$ df -H

-H顺便说一句,我们用于“人类可读”。尝试不使用它-H,您会发现所有内容都在 K 块中!

最后,我们可以查看全部其内容(至少是文件名)通过使用:

# ls -R /mnt/xvde1

祝你好运!

答案2

首先具体考虑问题中的示例:

不! 这并不意味着第二个驱动器是空的。

线条

xvde    202:64   0  40G  0 disk
└─xvde1 202:65   0  40G  0 part 

意味着该磁盘上有一个 40GB 的分区目前未安装,并且可能包含也可能不包含文件系统。它没有提及其上的数据。它也没有说它是否可以安装。


一般来说:

要列出所有本地分区(已安装和未安装的分区),您可以使用

fdisk -l

它显示了分区表 - 类似于cat /proc/partitions @Ramesh 的答案中提出的建议,但有一些可能有助于识别磁盘和分区的附加详细信息(即:分区类型 ID、启动标志、磁盘标识符)。
请参阅下面的示例输出。

为了识别分区内实际的数据,请file -s按照@Ramesh的建议使用:

# file -s /dev/sdc1
/dev/sdc1: Linux rev 1.0 ext4 filesystem data, UUID=[...]

示例输出fdisk -l(缩短):

Disk /dev/sdc: 120.0 GB, 120034123776 bytes                                                                                                                                   
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors                                                                                                           
[...]            

Disk identifier: 0x0005550d                                                                                                                                                     

   Device Boot      Start         End      Blocks   Id  System                                                                                                                  
/dev/sdc1            2048   217643007   108820480   83  Linux                                                                                                                   
/dev/sdc2       217645054   234440703     8397825    5  Extended                                                                                                               
/dev/sdc5       217645056   234440703     8397824   82  Linux swap / Solaris                                                                                                   

Disk /dev/sdd: 160.0 GB, 160041885696 bytes        
[...]            

答案3

/proc/partitions将列出系统识别的所有块设备和分区。然后,您可以尝试使用file -s <device>来确定分区上存在哪种类型的文件系统(如果有)。

您可以寻找更多选择这里

答案4

您需要挂载文件系统,然后列出文件(如果有)。

mount /dev/xvde1 /mnt  || echo 'No filesystem found'
ls -lR /mnt | tee /tmp/xvde1_files.txt
umount /mnt

相关内容