之前我从百度网盘上下下来了一些arm linux开发板的资料,其中有一些tar.gz文件,这种文件一般都是在linux下用tar命令打包压缩得到的。
windows上的用于解压的软件,比如rar,360压缩等都是可以打开和解压这种格式的压缩文件的,但是极有可能出问题:出现同名文件,询问你是否需要替换,如下图所示。
出现这种状况的原因是linux的文件系统在命名时是区分大小写的,而windows的文件系统在命名时并不区分大小写。不信的话,你可以做个实验,在windows上新建一个名为aa的文件夹,然后再新建一个名为AA的文件夹,系统会报错,告诉你命名重复。
因此,linux下的文件夹直接拷在windows上极可能出现“文件名重命名”的问题。为了让linux文件系统能保存在windows上,我们使用tar命令进行备份压缩。这样得到的tar文件可以上传到网盘上,然后让其他人下载下来。
需要注意的是,不要想着先把tar.gz文件先在windows解压,然后再把解压得到的文件夹拷贝到linux上——这样极有可能出现文件重名的问题,无论怎么选择(代替,忽略),最终的结果都会导致文件缺失,这样拷贝到linux上的内容就不完整。我们应该直接把tar.gz文件拷贝到linux,然后通过tar命令解压,这样得到的内容才是完整的。
结论
在windows下解压压缩文件时出现文件名重名,可能是因为这个tar.gz文件是在linux文件系统上创建的,而由于windows和Linux文件系统的差异,linux的文件系统不能放在windows,因为极有可能出错。此时我们应该先把tar.gz文件拷贝到linux下,再用tar命令解压,这样就不会出错了。
我们还得到一些结论:如果要把linux上的文件夹拷贝到windows上,一定要用tar进行备份压缩。当需要取回这个文件夹到linux上时,我们应该直接把文件夹拷贝到linux上并用tar解压,而不是先在windows上解压再把文件夹拷贝到linux上。