其他分享
首页 > 其他分享> > 使用console拯救数据

使用console拯救数据

作者:互联网

7.13早上,开机后黑屏,进不去桌面系统,关键数据的备份最后一次在6月份,
要是在windows上遇上这事,那就基本完了,好在我使用了linux
只要不是太过分的错误,我们都能在linux平台上通过ctrl+alt+f1~6打开控制台
控制台就是一个终端,可能看上去就是黑底白字,但他能实现的功能比桌面系统强大的多
比如像现在要做紧急备份,控制台是绝对没问题的,但由于今天是第一次干这么"刺激"的事,捣腾了好久才成功备份
所以必须记录
我们的备份目前唯一的方案就是备份到u盘上,桌面系统用得多了,很容易就认为考数据到u盘非常的简单,
但那只不过是因为桌面系统自动做了很多操作,在控制台上,你只能靠自己输入一行行代码
在执行备份前,对控制台要做一定的设置
首先输入"export LANG=C",由于控制台对中文不支持,但由于我们装ubuntu时选了中文,控制台默认以中文输出,就会产生乱码
要让控制台对中文支持太麻烦,也容易出问题,所以我们就让控制台的输出变为英文,这样比乱码好多了,也大部分能看得懂
接下来开始
要对u盘的空间做操作,就必须要装载u盘,这时就需要用到mount指令
这个指令需要两个核心参数,设备文件名,挂载点,因为“unix中,一切皆文件”,所以这就是两个文件系统中的路径
先寻找设备文件名,使用fdisk -l查看所有disk设备,会跳出来一堆,控制体中鼠标是没用的,怎么上下翻滚查看呢?
"命令 | less"就可以实现用键盘上的“上箭头和下箭头”实现上下查看了
这一堆信息是由块组成的,每一块的开头有两种情况:disk,device
我们只需关注开头为device的数据快,后面还会有size,type信息,根据这些很快就能定位到含有我们的u盘信息的数据块
我们的最终目的是查找设备文件名,当我们成功定位到我们u盘所对应的数据块后,device正下方就是U盘的设备文件名
挂载点就很容易了,这要是文件系统中存在的一个路径都是没有问题的,由我们自己决定
接着就使用命令:sudo mount -t vfat -o iocharset=utf8 设备文件名  挂载点
其中-t是制定类型,一般就是vfat文件系统格式,不会错
-o指定了挂载的编码格式,他非常重要,无论读数据,写数据,都会使用这个编码格式,不做设置就很容易出现乱码,
我们的linux使用的是utf8,就把他的挂载编码格式也设为utf8,
那我们用任何一个linux桌面系统去读取u盘备份的文件时,就不会出现乱码
总之这两个选项加上就行
如果没有加utf8选项,所有文件的内容不会有任何问题,因为我们创建这些文件时都是用utf8编码,
但文件名,文件夹名,就全是乱码,所以总之加上utf8就不会有问题
这样就挂载成功了,接着只需要一个cp命令
cp -r 源路径   目标路径
-r参数是指我们拷贝的是一个文件夹(目录)
拷贝完,我们的备份工作的主体部分就完成了,最后一步是卸载U盘
使用指令:sudo umount 设备文件名
注意,不要在挂载点为当前目录的情况下执行这个指令,这样会出现target busy的错误
正常情况都是卸载成功的,那就可以拔u盘了。如果一直不成功,直接拔u盘也不会有大问题。
拔完拿其他电脑仔细确认,我们的紧急备份就完成了。

标签:console,文件名,utf8,备份,乱码,挂载,控制台,数据,拯救
来源: https://www.cnblogs.com/hackerfree/p/16476287.html