日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux拷贝大量文件时有什么方法可以效验文件有没有损坏,使用linux的cp命令复制文件后验证文件是否一致的方法...

發(fā)布時(shí)間:2024/8/1 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux拷贝大量文件时有什么方法可以效验文件有没有损坏,使用linux的cp命令复制文件后验证文件是否一致的方法... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

說(shuō)明:

因?yàn)槟硞€(gè)磁盤(pán)滿了,需要將原始文件拷貝到新磁盤(pán)。數(shù)據(jù)非常重要,需要保證拷貝數(shù)據(jù)與原始數(shù)據(jù)一致。用cp拷貝完成后,發(fā)現(xiàn)文件大小不一致。原始文件夾5.8G(du –max-depth=1查看),拷貝文件夾5.9G,差別相當(dāng)明顯。

實(shí)現(xiàn):

1.最初懷疑是因?yàn)椴煌疟P(pán)的最小計(jì)量單位不同導(dǎo)致,以為最小計(jì)算單位是sector(其實(shí)是錯(cuò)的)。

因此fdisk -l /dev/sda查看了下

發(fā)現(xiàn)兩者的扇區(qū)是一樣的,郁悶。

2.接著懷疑拷貝的文件數(shù),文件大小不一致。于是自己寫(xiě)了個(gè)簡(jiǎn)單的shell腳本,查看每個(gè)文件具體大小,不一致的會(huì)輸出!=

[root@xm101 2012]# cat test.sh

#!/bin/bash

path1=/opt/a/2012/01/20

path2=/opt/b/2012/01/20

for i in `ls $path2`;

do

a=`/bin/ls -l $path1/$i|awk '{print $5}'`

b=`/bin/ls -l $path2/$i|awk '{print $5}'`

sum=`[ "$a" != "$b" ] && echo "!="`

echo $i path1:$a path2:$b $sum >> hello.txt

done

結(jié)果發(fā)現(xiàn)每個(gè)文件大小完全一致,用md5確認(rèn)(cat * | md5sum),發(fā)現(xiàn)原始文件,拷貝文件也是一致的

3.這就納悶了,突然想起磁盤(pán)的最小計(jì)量單位應(yīng)該是block才對(duì),因此。。。。

tune2fs -l /dev/sda1

tune2fs -l /dev/sdb1

發(fā)現(xiàn)確實(shí)是因?yàn)檫@個(gè),繞了一圈又回來(lái)了,看來(lái)專(zhuān)業(yè)水平還要提高

附注:

在查看答案過(guò)程中,聽(tīng)說(shuō)du是按inode來(lái)計(jì)算文件大小的,因此顯示文件大小時(shí)速度較快。inode記錄了一個(gè)文件的起始block,結(jié)束block。因此即使文件沒(méi)有完整占用1個(gè)block時(shí),也算1個(gè)。也會(huì)導(dǎo)致文件大小不一致。

而ls是根據(jù)block來(lái)計(jì)算文件大小的

轉(zhuǎn)載自:linux cp文件大小不一致:http://coolnull.com/443.html

總結(jié)

以上是生活随笔為你收集整理的linux拷贝大量文件时有什么方法可以效验文件有没有损坏,使用linux的cp命令复制文件后验证文件是否一致的方法...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。