目录:
由于固态硬盘的内存相对较小,如果说用户的数据集过大,可能会出现磁盘爆满的情况,如果说服务器上装有机械硬盘,可以考虑将用户数据集移动到机械硬盘中去。
类型一:在服务器上已有数据,进行数据迁移
步骤 1:确保机械硬盘已经挂载
首先,你需要确保机械硬盘已经挂载到系统。如果硬盘还没有挂载,可以通过以下步骤进行手动挂载。
1. 查看硬盘设备
使用 lsblk
命令查看系统中的所有硬盘设备:
lsblk
注意:其中sda1
是机械硬盘的分区,挂载在/mnt/hdd
下面,如果后面没有出现挂载路径,则说明硬盘没有挂载。
2.如果硬盘没有挂载,进行手动挂载
一般机械硬盘分区是/dev/sda1
,使用以下命令将其挂载到 /mnt/hdd
目录(需要在有管理员权限的用户下才能实现这个操作,不然会提示管理员权限不够):
sudo mkdir -p /mnt/hdd # 创建挂载路径文件夹 sudo mount /dev/sda1 /mnt/hdd # 挂载硬盘
3. 设置开机自动挂载
为了确保机械硬盘在每次系统启动时自动挂载,你需要编辑 /etc/fstab
文件:
sudo nano /etc/fstab
在文件末尾添加如下行:
/dev/sda1 /mnt/hdd ext4 defaults 0 2
注:ext4
是文件系统类型,请根据硬盘实际的文件系统(如 ext4
, xfs
等)进行调整。(我是用的是ext4
)
步骤 2:将用户主目录迁移到机械硬盘
现在,你可以将用户的主目录中需要迁移的数据迁移到机械硬盘上。
1.创建用户的目录
在机械硬盘的挂载点(如 /mnt/hdd
)下为用户创建一个新的主目录。例如,为用户 john
创建主目录:
sudo mkdir /mnt/hdd/john sudo chown john:john /mnt/hdd/john sudo chmod 755 /mnt/hdd/john
2.复制用户现有的数据到机械硬盘
使用 rsync
命令复制用户现有的数据到新的目录:
sudo rsync -av /home/john/ /mnt/hdd/john/ # 前面为用户下面的数据所在路径,后面为需要移动到机械硬盘中所在的路径
这会将 /home/john
目录下的所有数据复制到 /mnt/hdd/john
。
3.修改用户的主目录路径
修改 /etc/passwd
文件中的用户主目录路径,将其指向新的位置:
sudo nano /etc/passwd
找到用户 john
的行:
john:x:1001:1001:John Doe,,,:/home/john:/bin/bash
将 /home/john
修改为 /mnt/hdd/john
,变成:
john:x:1001:1001:John Doe,,,:/mnt/hdd/john:/bin/bash
4.重启系统或重新加载用户会话
为了让更改生效,你可以重启系统或者让用户重新登录。
步骤 3:验证数据是否迁移成功
1.登录并检查用户数据
用户重新登录后,可以检查是否已经成功访问新硬盘上的数据:
ls /mnt/hdd/john
如果一切正常,用户将能够在新挂载的机械硬盘上访问他们的所有数据。
2.删除旧的主目录(可选)
如果确认数据已经成功迁移并且运行正常,可以删除旧的主目录来释放空间:
sudo rm -rf /home/john
类型二:在服务器上没有数据,需要使用U盘进行传输
要将U盘中的数据通过终端复制到服务器的机械硬盘上,你可以按照以下步骤进行操作。假设U盘已经插入到Ubuntu系统中(需要有管理员权限)。
如果当前账户不是管理员账户,使用下面的命令切换用户:
su 管理员账户名
步骤 1:挂载U盘
1.查看U盘名称
当你将U盘插入Ubuntu系统时,它通常会自动挂载到 /media/
目录下。你可以使用 lsblk
或 df
命令来查找U盘的挂载点,一般U盘的分区为sdb
。
如果查看后U盘没有挂载点,可以通过手动挂载的方式实现。
lsblk
2.手动挂载U盘(如果没有自动挂载)
如果U盘没有自动挂载,你可以手动挂载。假设U盘设备为 /dev/sdb1
,可以挂载到 /mnt/usb
:(可能U盘的分区有好几个,这就需要查看数据具体在那个分区)
sudo mkdir -p /mnt/usb sudo mount /dev/sdb1 /mnt/usb
3.验证U盘内容
使用 ls
命令检查U盘内容:
ls /mnt/usb
步骤 2:查找服务器机械硬盘的挂载点
1.查看机械硬盘挂载点
通常,服务器的机械硬盘会挂载在 /mnt
或 /media
目录下。可以使用以下命令确认机械硬盘的挂载点:
df -h
步骤 3:将U盘数据复制到机械硬盘
假设U盘挂载在 /mnt/usb
,服务器的机械硬盘挂载在 /mnt/hdd
,你可以使用 cp
或 rsync
命令将U盘上的数据复制到机械硬盘。
1.使用 cp
命令复制U盘数据
使用 cp
命令将U盘上的所有文件复制到机械硬盘。假设你要将U盘数据复制到机械硬盘的 /mnt/hdd/backup
目录下:
sudo mkdir -p /mnt/hdd/backup # 在机械硬盘的挂载点下创建文件夹 sudo cp -r /mnt/usb/* /mnt/hdd/backup # 复制U盘文件到机械硬盘
参数说明:
-r
表示递归复制整个目录及其子目录。/mnt/usb/*
表示复制U盘根目录下的所有文件。/mnt/hdd/backup
是机械硬盘上的目标目录。
2.查看复制后的文件
使用 ls
命令查看机械硬盘上的备份目录,确保数据已成功复制:
ls /mnt/hdd/backup
步骤 4:卸载U盘(可选)
数据复制完成后,你可以卸载U盘以安全移除:
sudo umount /mnt/usb
常见问题
1、用户权限不够:正常情况下,机械硬盘设置了管理员权限,如果用户不是管理员,通常不能在硬盘的路径下创建和删除文件夹,因此,这种情况需要给文件夹设置权限,以便普通用户能够读写文件。
解决办法:
1.检查目录的权限
首先,使用 ls -ld
命令检查需要访问的文件夹目录的权限,看看当前用户是否有写权限:
ls -ld /mnt/hdd/ZZF/CHB-MIT/Dataset/Sample/ # 后面为文件夹所在路径
从输出结果可以看到有读写权限的用户名。
2.更改目录权限
更换成管理员账户登录,在管理员账户的终端中输入指令给普通用户添加文件夹的读写权限,更改目录的权限或者将该目录的所有者改为你:
sudo chown -R username /mnt/hdd/ZZF/CHB-MIT/Dataset/Sample/dataSample_10s/ # 后面为需要修改权限的文件夹路径
这条命令会将 /mnt/hdd/ZZF/CHB-MIT/Dataset/Sample/dataSample_10s/
目录的所有权更改为用户 username
。更改所有者后,你(用户 username
)将拥有该目录的完全控制权,包括创建、修改和删除文件的权限。
建议:在执行 sudo chown -R username /mnt/hdd/ZZF/CHB-MIT/Dataset/Sample/dataSample_10s/
命令之后,只有你指定的目录以及子目录的权限进行修改。因此,建议将根目录(即/mnt/hdd/ZZF/
)的权限进行修改。
进行以上操作之后,普通用户就可以正常对文件夹进行读取操作了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!