You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu下通过Bash终端单命令迁移U盘数据至隐藏文件夹及格式化方法

在Ubuntu中用单条Bash命令迁移U盘数据到系统隐藏文件夹并格式化

首先,你得先确认U盘的挂载点设备分区路径——这一步绝对不能马虎,搞错了可能会误格式化系统盘!

打开终端输入lsblk,你会看到类似这样的输出:

sda      8:0    0 238.5G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0 237.5G  0 part /
sdb      8:16   1  14.9G  0 disk 
└─sdb1   8:17   1  14.9G  0 part /media/nitin/MyUSB

这里的/media/nitin/MyUSB就是U盘的挂载点,/dev/sdb1是U盘的分区路径。接下来分两种场景给你对应的命令:


场景1:复制U盘所有数据到隐藏文件夹,然后格式化U盘

这条命令会先创建目标隐藏文件夹(如果不存在),完整复制U盘的所有内容(包括隐藏文件、权限、时间戳),卸载U盘后完成格式化:

mkdir -p ~/.system_hidden_data && sudo cp -a /media/your-username/USB_NAME/. ~/.system_hidden_data/ && sudo umount /media/your-username/USB_NAME && sudo mkfs.ext4 /dev/sdX1

命令拆解:

  • mkdir -p ~/.system_hidden_data:创建家目录下的隐藏文件夹(名字前加.就是隐藏属性),-p确保父目录不存在时自动创建
  • sudo cp -a /media/your-username/USB_NAME/. ~/.system_hidden_data/-a是归档模式,会保留文件权限、所有者和时间戳;/.能复制U盘根目录下的所有内容(包括隐藏文件)
  • sudo umount /media/your-username/USB_NAME:必须先卸载U盘才能进行格式化操作
  • sudo mkfs.ext4 /dev/sdX1:将U盘格式化为ext4格式,如果需要FAT32或NTFS,换成mkfs.vfat /dev/sdX1mkfs.ntfs /dev/sdX1即可

场景2:直接移动(剪切)U盘数据到隐藏文件夹,然后格式化U盘

如果不需要保留U盘上的原数据,用mv代替cp更高效。这里用bash -c启用dotglob选项,让通配符*能匹配到隐藏文件:

mkdir -p ~/.system_hidden_data && sudo bash -c 'shopt -s dotglob; mv /media/your-username/USB_NAME/* ~/.system_hidden_data/' && sudo umount /media/your-username/USB_NAME && sudo mkfs.ext4 /dev/sdX1

重要提醒:

  • 替换命令中的your-username为你的Ubuntu用户名,USB_NAME为U盘的挂载名称,/dev/sdX1为你从lsblk查到的U盘分区
  • 执行格式化前一定要再次确认分区路径,绝对不要把/dev/sdX1写成系统盘的分区(比如/dev/sda1
  • 如果不需要格式化U盘,只保留迁移数据的部分,去掉命令最后的&& sudo umount ... && sudo mkfs.ext4 ...即可

内容的提问来源于stack exchange,提问作者Nitin

火山引擎 最新活动