博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于文件的存储——windows和Linux比较
阅读量:5960 次
发布时间:2019-06-19

本文共 1537 字,大约阅读时间需要 5 分钟。

大家都知道在数字计算机领域内指的文件在磁盘上的存储是依赖于文件的命名的。

关于文件的命名在Windows平台和Linux平台式不一样的。比如说,Linux系统对文件名称的大小写字母敏感,而Windows不敏感。详情请查阅“Windows操作系统文件命名规范”和“Linux操作系统文件命名规范”两个关键词。

昨天我偶然的机会处理了一个在RHEL6.1操作系统上的EXT4分区中的文件夹,这个文件夹盛放的是一个标准用户的Home目录(家目录)。在执行备份过程中,我错误的将其备份(复制)到一个NTFS分区的磁盘中,然后用Windows Server 2008 R2操作系统打开了这个分区。但是我马上认识到了错误,既然已经造成了这个错误就趁机看看Windows是如何处理这个目录的。

下面是此目录(此目录假设以home命名)在EXT4文件系统中的部门文件结构。

/home

根目录中有两个文件夹

/home/workspace

/home/Workspace

两个文件夹中的文件不相同

分别为

/home/workspace/documentcatalog/computing

/home/workspace/documentcatalog/cloudcomputing

/home/Workspace/cprograming_desigan/chroot.c

/home/Workspace/cprograming_desigan/a.out

结果当将这个磁盘连接到Windows系统时,首先系统没有报错,可以正常访问磁盘。

接下来我有意识的打开根目录,发现了这个目录中的确有两个文件夹/home/workspace和/home/Workspace,但是当我要访问这两个文件夹时,奇妙的现象就出现了。

结果令我感到很震惊,两个目录中的文件完全相同。所谓的完全就是时间、权限和属性都是完全一样的。

那么没有出现的那些文件哪里去了呢?我还能够正常访问它们吗?

结果肯定是不能。

然后我尝试了复制这个目录(home),发现复制成功,但是不能粘贴,粘贴是有效的,但是实际上执行粘贴命令后没有任何反应。

怎么办?

首先我考虑到了Windows平台中的使用工具CHKDSK,

我在CMD中执行了chkdsk /f G:(假设磁盘分区分配的符号为G:)。

果然在意料之中出现了各种扫描到的错误,都是关于文件索引的错误(可惜我当时忘记了截图)。

当修复完成后,发现可以正常的使用该磁盘分区了。

但是后来遇到的结果依然令我惊讶!原来,CHKDSK这一工具将有以上错误的目录和文件全部都“清除了”!我发现不任何原先有类似错误的文件的位置。

这肯定是我不希望看到的。

当时我很惊恐,因为所备份的磁盘的备份在另一台远程计算机的磁盘上,且处于保护(没有实现共享,即其他主机不可见)状态,而里面又有我当天需要使用的文件。

怎么办?

我想切换到RHEL环境中再试一试,但想了想这个方案不可行,因为Windows已经修复并保存了磁盘的文件系统。

尝试文件恢复?使用文件恢复工具?这个在Windows Server平台上又没有支持较好的软件,这也是一大缺憾。应该是兼容性吧!测试了几次,效果依然不太好。

此刻我又想到了,每次运行CHKDSK这一工具后都会在其分区中产生FOUND.000文件夹,我查看了一下此文件夹中的文件和目录,正好有我要寻找的目录和文件。只是存在错误的目录或文件名称全都变了。总之还好,在RHEL上能正常识别出来。

这次的事故让我体会到了平时关于在文件的命名和备份分区的选择上的注意事项。当当前计算环境中有多个不同的操作系统或者分区类型时就应该本着通吃通用的原则,以保证文件的可用性。

 

转载地址:http://mlkax.baihongyu.com/

你可能感兴趣的文章
fullCalendar动态获取数据
查看>>
Android 服务端开发之开发环境配置
查看>>
如何建立自己的私有云存储
查看>>
CPA,CPS,CPC,CPM的特点
查看>>
Phonegap Online和Offline
查看>>
软件设计
查看>>
Open XML应用安全(4)文档校验
查看>>
jquery.lazyload的使用
查看>>
学习笔记:启动对特定用户的会话的sql跟踪
查看>>
开发node桌面级应用工具:apk转化epub
查看>>
笨笨图片批量抓取下载 V0.2 beta[C# | WinForm | 正则表达式 | HttpWebRequest | Async异步编程]...
查看>>
VS2010启动程序提示文件加载 使用 简体中文(GB2312)编码加载文件解决办法
查看>>
代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
查看>>
Android 动态注册 亮屏、息屏广播
查看>>
NYOJ 题目77 开灯问题(简单模拟)
查看>>
15.6. HTML嵌入图片
查看>>
Gym 100952G&&2015 HIAST Collegiate Programming Contest G. The jar of divisors【简单博弈】
查看>>
Could not find class 'XXX.activity‘', referenced from method 'YYYY'
查看>>
国内较快的maven镜像
查看>>
漫谈递归转非递归
查看>>