挂载后加入磁盘 sdb 并读取全部分区内容
第一步:确认磁盘与分区信息
bash
# 查看所有块设备
lsblk
# 查看 sdb 详细分区表
sudo fdisk -l /dev/sdb
# 或查看文件系统类型
sudo blkid /dev/sdb*
第二步:创建挂载点并挂载
bash
# 创建挂载目录
sudo mkdir -p /mnt/sdb_all
# 假设 sdb 有多个分区,如 sdb1, sdb2, sdb3...
# 为每个分区创建子目录
sudo mkdir -p /mnt/sdb_all/part1
sudo mkdir -p /mnt/sdb_all/part2
# ... 依此类推
# 挂载各分区(根据实际分区情况调整)
sudo mount /dev/sdb1 /mnt/sdb_all/part1
sudo mount /dev/sdb2 /mnt/sdb_all/part2
# sudo mount /dev/sdb3 /mnt/sdb_all/part3
注意 :如果分区是 LVM 逻辑卷,需先
sudo pvscan; sudo vgchange -ay,再挂载/dev/mapper/xxx。
第三步:处理可能的文件系统兼容问题
bash
# 如果是 NTFS(Windows 磁盘)
sudo apt-get install -y ntfs-3g
sudo mount -t ntfs-3g /dev/sdb1 /mnt/sdb_all/part1
# 如果是 exFAT
sudo apt-get install -y exfat-fuse exfat-utils
sudo mount -t exfat /dev/sdb1 /mnt/sdb_all/part1
# 如果是 xfs
sudo apt-get install -y xfsprogs
sudo mount -t xfs /dev/sdb1 /mnt/sdb_all/part1
第四步:读取全部内容
bash
# 查看各分区已用空间概览
df -h /mnt/sdb_all/part*
# 递归列出所有文件(含隐藏文件)
sudo find /mnt/sdb_all -type f | head -n 100
# 完整目录树结构
sudo apt-get install -y tree
sudo tree -a -h --du /mnt/sdb_all/
# 统计各目录大小
sudo du -sh /mnt/sdb_all/part*/*
# 搜索特定类型文件(示例:所有 .log)
sudo find /mnt/sdb_all -name "*.log" -type f
第五步:一键脚本(自动化)
bash
#!/bin/bash
# save as: mount_sdb.sh
# 用法: sudo bash mount_sdb.sh
DISK="/dev/sdb"
MOUNT_BASE="/mnt/sdb_all"
echo "=== 磁盘信息 ==="
lsblk $DISK
echo ""
echo "=== 分区详情 ==="
sudo fdisk -l $DISK
echo ""
# 创建基础挂载目录
mkdir -p $MOUNT_BASE
# 自动挂载所有分区
for part in $(ls ${DISK}* | grep -E "${DISK}[0-9]+"); do
partname=$(basename $part)
target="${MOUNT_BASE}/${partname}"
mkdir -p $target
echo "正在挂载 $part -> $target ..."
mount $part $target 2>/dev/null && echo "✓ 成功" || echo "✗ 失败(可能需要指定文件系统类型)"
done
echo ""
echo "=== 挂载结果 ==="
df -h $MOUNT_BASE/*
echo ""
echo "=== 文件概览 ==="
find $MOUNT_BASE -maxdepth 2 -type d | head -20
**请先执行 lsblk 和 sudo fdisk -l /dev/sdb,可以判断分区类型和文件系统,给出更精确的挂载命令。