在Linux服务器上查看U盘里的文件夹,核心操作是先挂载U盘设备到某个目录,再通过ls或tree命令访问该目录。 整个过程涉及设备识别、挂载点创建、文件系统兼容性几个环节,下面按顺序拆解。
linux查看u盘文件夹命令:先挂载,再ls
Linux服务器通常没有图形界面,U盘插入后不会像Windows那样自动出现在“我的电脑”里,你要先让系统“认识”这个U盘,也就是完成挂载。
第一步:识别U盘设备名
插入U盘后,执行lsblk命令查看块设备列表,输出类似:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 512G 0 disk
├─sda1 8:1 0 512G 0 part /
sdb 8:16 1 32G 0 disk
└─sdb1 8:17 1 32G 0 part
其中RM值为1,TYPE为disk的/dev/sdb就是U盘,如果没有自动挂载,MOUNTPOINT一列为空,你也可以用fdisk -l查看磁盘分区表,最后一块带FAT32或NTFS标识的通常就是U盘。
确认设备名之后,还要分辨分区号,多数U盘只有一个分区,对应/dev/sdb1,如果有多个分区,会依次出现/dev/sdb1、/dev/sdb2,用blkid命令可以查看具体分区的文件系统类型和UUID。
第二步:创建挂载点并挂载
挂载点就是一个普通目录,比如/mnt/usb:
mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb
成功执行后系统不会输出任何提示,此时/mnt/usb目录就代表U盘根目录,如果报错,先检查分区编号是否正确,有多个分区时,要挂载包含目标文件夹的那个分区,而不是整个U盘设备/dev/sdb。
第三步:用ls查看U盘里的文件夹
挂载完成之后,执行:
ls -l /mnt/usb
输出会列出U盘根目录下的所有文件夹,包括权限、属主、大小和修改时间,想进入某个子文件夹,比如docs:
cd /mnt/usb/docs
ls -l
pwd命令可以显示当前所在路径,如果文件夹层级很深,想一次看清完整目录树,用
tree命令:
tree /mnt/usb
tree可能没有预装,在Debian/Ubuntu上可用apt install tree,在CentOS上用yum install tree。
这就是linux查看u盘文件夹命令的基础流程,大多数Linux发行版都遵循“挂载后访问”这一规则,并没有其他捷径。
查看U盘文件夹的三种方式
根据具体需求,可以选择不同命令:
ls -l /mnt/usb:查看根目录下所有文件和文件夹的详细信息。find /mnt/usb -maxdepth 2 -type d:只看两级目录下的所有文件夹列表,适合目录超多的U盘。tree /mnt/usb -L 3:以树状图展示三级目录结构,直观且容易定位。
如果是想快速复制U盘中某个文件夹到服务器,用cp -r /mnt/usb/数据 /data/backup/即可,复制后再用du -sh /data/backup/数据确认大小。
u盘在linux服务器上打不开?先看设备识别与挂载点
有些朋友会遇到U盘插入后,执行ls /dev/sdb1提示“No such file or directory”,或者挂载时反复报错,这通常不是U盘坏了,而是设备识别或挂载点的问题。
设备识别不到怎么办
U盘插上后没有出现对应的设备节点,先用dmesg | tail查看内核日志,寻找USB设备插入记录,如果完全没输出,可能是USB接口接触不良、服务器供电不足,或者U盘是低功率设备,换一个接口或U盘再试。
如果dmesg里有sd字样但分区没有生成,运行partprobe让内核重新读取分区表,部分服务器开启USB存储限制,需要在BIOS中开启相关选项,这一步往往被忽略。
挂载报错文件系统不支持
常见报错是mount: unknown filesystem type 'ntfs',这表示U盘是NTFS格式,而服务器默认内核没有NTFS驱动,解决方案是安装ntfs-3g:
- Ubuntu/Debian:
apt install ntfs-3g - CentOS/RHEL:先安装epel源,再
yum install ntfs-3g
exFAT格式的U盘同样需要额外驱动,安装exfat-fuse和exfat-utils,fat32格式兼容性最好,但单个文件不能超过4GB。
如果挂载成功但看不到任何文件夹,先检查是不是挂载点目录为空,执行df -h看/dev/sdb1是否已出现在列表中,并带有挂载路径。
业内专家指出,大部分“U盘在Linux下读不了”的案例,都是文件系统兼容性问题,跟U盘硬件无关。
挂载成功后还是看不到内容?分情况排查
挂载成功后,ls /mnt/usb输出为空,可能的原因有三种:
- 隐藏文件夹:以开头的目录用
ls -a才能看到。 - 文件系统损坏:用
fsck /dev/sdb1检查修复,注意先卸载再执行。 - 分区挂载错误:U盘有多个分区,现在的
/dev/sdb1是空分区,需要换另一个分区号。
还有一种情况:U盘在Windows下被强制弹出,文件系统标记为“脏”状态,Linux为了安全会以只读方式挂载,此时ls但无法写入,重新插拔或使用mount -o remount,rw /dev/sdb1 /mnt/usb尝试恢复读写。
为了快速对照,整理如下表格:
| 文件系统 | 典型场景 | 挂载命令 |
|---|---|---|
| FAT32 | 老U盘、工控设备 | mount -t vfat /dev/sdb1 /mnt/usb |
| NTFS | Windows常用U盘 | mount -t ntfs-3g /dev/sdb1 /mnt/usb |
| exFAT | 大容量U盘 | mount -t exfat /dev/sdb1 /mnt/usb |
| ext4 | Linux本机格式化U盘 | mount /dev/sdb1 /mnt/usb |
表格中的/dev/sdb1需要根据实际设备名替换。
linux服务器读取u盘数据步骤详解:从挂载到卸载
前面讲了零散的命令,这里用一个完整场景串联起来,假设有一台无图形界面的Linux服务器,运维人员需要把U盘里的日志文件夹拷贝到本地,并按规范处理U盘。
完整操作流程
按照下面的顺序执行,可以避免90%的U盘读取问题:
- 插入U盘,执行
lsblk,找到设备名和分区号,例如sdb1。 - 创建挂载点:
mkdir -p /mnt/usb。
- 挂载分区:
mount /dev/sdb1 /mnt/usb。 - 查看根目录:
ls -l /mnt/usb,确认目标文件夹名称。 - 进入目标目录:
cd /mnt/usb/log,再用ls。 - 复制到服务器磁盘:
cp -r . /var/log/external/。 - 卸载U盘:
umount /mnt/usb,出现“target is busy”提示时用lsof /mnt/usb查看占用进程。 - 确认卸载成功后,再拔出U盘。
第7步非常重要,直接拔掉U盘,正在写入的数据会丢失,文件系统也可能损坏,服务器上的U盘操作常见于日志备份、固件升级包导入、配置文件搬运,这些场景下数据完整性高于便利性。
只读挂载与安全实践
如果U盘来源不可信,建议以只读方式挂载:
mount -o ro /dev/sdb1 /mnt/usb
这种情况下,即使U盘上有恶意脚本也无法执行,病毒无法修改系统文件,读取完毕后立即卸载。
行业共识认为,服务器上插入外部介质应遵循最小权限原则,不自动挂载,操作完立即卸载,除非是备份服务器专门设计的自动导入目录,否则不要在业务服务器上长期保持U盘挂载状态。
linux服务器怎么查看u盘里的文件夹?Q&A
linux查看u盘文件夹命令是什么?
先挂载,再ls,具体命令是mount /dev/sdb1 /mnt/usb,然后ls -l /mnt/usb,如果U盘是exFAT或NTFS格式,先安装对应文件系统驱动,再挂载。
服务器插入U盘后,怎么知道挂载点在哪里?
执行df -h或lsblk,查看返回值中的MOUNTPOINT列,如果U盘是系统自动挂载(某些桌面版Linux),一般会在/media/用户名/U盘标签目录下,服务器版Linux默认不自动挂载,需要手动指定挂载点。
为什么用ls命令看不到U盘里的文件夹?
常见原因有四种:挂载失败、挂载点目录为空、权限不足、U盘文件系统损坏,先用df -h确认挂载状态,再用ls -a查看隐藏文件夹,最后从dmesg日志中找内核错误信息,权限不足时,切换到root用户或为挂载点设置755权限即可。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/725609.html





