linux 迁移数据:将数据转移至新盘

在上篇博客 Linux 如何给新加的硬盘重新添加分区(纯新手)中,
提到了首次如何添加分区,但在实际应用中关于挂载(mount)这部分还有一些疑问,比如:

  • 挂载的目录到底能不能选已经存在的目录?会有什么后果?
  • 已经存在于其他目录的项目如何利用这个新盘的空间?
  • 如果想将之前的项目迁移/复制到新盘中,应该如何操作?

1. 挂载

1.1 常见的挂载点

在这里插入图片描述

/ 根目录,存放系统命令和用户数据等(如果下面挂载点没有单独的分区,它们都将在根目录的分区中)
/boot boot loader 的静态链接文件,存放与Linux启动相关的程序
/home 用户目录,存放普通用户的数据
/tmp 临时文件
/usr 是Linux系统存放软件的地方,如有可能应将最大空间分给它
/usr/local 自已安装程序安装在此
/var 不断变化的数据,服务器的一些服务、日志放在下面
/opt (Option可选的)附加的应用程序软件包
/bin 基本命令执行文
/dev 设备文件
/etc 主机特定的系统配置
/lib 基本共享库以及内核模块
/media 用于移动介质的挂载点
/mnt 用于临时挂载文件系统或者别的硬件设备(如光驱、软驱)
/proc 系统信息的虚拟目录(2.4 和 2.6 内核),这些信息是在内存中,由系统自己产生的
/root root 用户的目录
/sbin 基本系统命令执行文件
/sys 系统信息的虚拟目录(2.6 内核)
/srv 系统提供的用于 service 的数据
/usr/X1186 X-Windows目录,存放一些X-Windows的配置文件
/usr/include 系统头文件,存储一些C语言的头文件
/usr/src Linux内核源代码,Linux系统所安装的内核源代码都保存在此
/usr/bin 对/bin目录的一些补充
/usr/sbin 对/sbin目录的一些补充
/lost+found 这个目录在大多数情况下都是空的。但是如果你正在工作突然停电,或是没有用正常方式关机,在你重新启动机器的时候,有些文件就会找不到应该存放的地方,对于这些文件,系统将他们放在这个目录下

1.2 挂载的一些认识

a. 挂载点必须是一个目录
b. 一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。对于其他操作系统建立的文件系统的挂载也是这样,卸载后,目录以前的文件都还在,不会有任何丢失
c. 目录只占磁盘里的一个inode,存放文件属性等信息
d. 任何一个分区都必须挂载到某个目录上
e. 目录是逻辑上的区分。分区是物理上的区分
f. 磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作
g. 根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区
h. 一个分区可以挂在多个目录,但反过来一个目录只能是一个分区的挂载点

突然间发现,之前将50G的硬盘分为两个盘(20g+30g)是不明智的选择,把之前的项目全部转移过来的话,还是不分区的好!

2. 迁移数据:将数据转移至新盘

其实,之前的新磁盘虽然分区了,但是也只是临时找了一个新的目录挂载的,为什么不在迁移数据之后(之前的文件先不删除),把它重新挂载在熟悉的地方呢(新建一个文件夹)。

2.1 迁移数据

kaldi 下的所有内容复制得到临时文件夹newdisk1的下面。

scp -r /home/suer/kaldi/* /home/newdisk1/  

迁移之后:
在这里插入图片描述

2.2 重新挂载

  • 在目标位置新建一个文件目录 kaldi_2020(用来挂载):mkdir kaldi_2020

  • 先取消挂载(在根目录进行):umount /home/newdisk1 (不知道这一步是不是必要)

  • 再重新挂载至目标位置:mount /dev/sdb1 /home/suer/kaldi_2020

在这里插入图片描述- 最后设置开机自动挂载:vim /etc/fstab

/dev/sdb1 /home/suer/kaldi_2020 ext4 defaults  0  0
  • 重启服务器,查看新盘是否挂载正常。

在这里插入图片描述

3. 后续问题:操作复制来的文件-Permission denied

后来使用 ls -l 命令发现,当时复制来的文件,拥有者和用户组和都是 root :

可以把下面的每一条信息分为 8 个部分:
文件类型 权限信息 连结数 拥有者 用户组 文件容量 修改日期 文件名

在这里插入图片描述我需要将其恢复到一般用户可以使用的状态:
在这里插入图片描述
解决办法:修改文件拥有者和所属用户组

# 修改文件拥有者
$ chown [-R] 账号名称 文件或目录
$ chown [-R] 账号名称:组名 文件或目录

# 修改文件所属用户组
$ chgrp [-R] 用户组名称 文件或目录

即在 root 身份下执行:

  • chown -R suer /home/suer/kaldi_2020

  • chgrp -R suer /home/suer/kaldi_2020

修改之后:

在这里插入图片描述

参考:

  1. linux下磁盘分区、挂载知多少
  2. Linux 如何给新加的硬盘重新添加分区(纯新手)
  3. 能否通俗易懂,深入浅出地解释一下linux中的挂载的概念?
  4. Linux下将系统盘数据迁移到数据盘
  5. Linux挂载新数据硬盘且将www目录迁移至数据盘中的过程
  6. Linux 文件权限
  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值