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

本文共 1613 字,大约阅读时间需要 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上能正常识别出来。

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

本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/735818,如需转载请自行联系原作者

你可能感兴趣的文章
linux下redis安装
查看>>
弃 Java 而使用 Kotlin 的你后悔了吗?| kotlin将会是最好的开发语言
查看>>
JavaScript 数据类型
查看>>
量子通信和大数据最有市场突破前景
查看>>
StringBuilder用法小结
查看>>
对‘初学者应该选择哪种编程语言’的回答——计算机达人成长之路(38)
查看>>
如何申请开通微信多客服功能
查看>>
Sr_C++_Engineer_(LBS_Engine@Global Map Dept.)
查看>>
非监督学习算法:异常检测
查看>>
jquery的checkbox,radio,select等方法总结
查看>>
Linux coredump
查看>>
Ubuntu 10.04安装水晶(Mercury)无线网卡驱动
查看>>
Myeclipes快捷键
查看>>
我的友情链接
查看>>
ToRPC:一个双向RPC的Python实现
查看>>
我的友情链接
查看>>
nginx在reload时候报错invalid PID number
查看>>
神经网络和深度学习-第二周神经网络基础-第二节:Logistic回归
查看>>
Myeclipse代码提示及如何设置自动提示
查看>>
c/c++中保留两位有效数字
查看>>