网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月21日漏签0天
linux编程吧 关注:27,666贴子:11,825
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 0回复贴,共1页
<<返回linux编程吧
>0< 加载中...

一个很有挑战性的shell题,跪求大神答案

  • 只看楼主
  • 收藏

  • 回复
  • kadjeb528
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有两树A B相同,如果A的文件p(记做p/A)存在,则B的文件p(记做p/B)也存在且相同(内容,属性,type,文件p得许可,文件p的大小,和p的最后修改时间),当一个文件两边都被修改,则不能同步,有冲突。文件同步器操作两个树文件A B,和一个包含了最后成功同步的日志文件,日志文件储存在例如$HOME/.synchro,包含A B的路径,此外,为了每个文件p/A=p/B同步无冲突,日志文件还包含了路径p ,type,文件p得许可,文件p的大小,和p的最后修改时间。我们说当在日志文件中存在一个p的入口时,文件p/A遵循日志,且文件p/A与日志中存贮的有相同的模式大小,最后修改时间
3简单同步
同步器平行遍历树A和树B,对整个路径p进行下列操作:
如果,p/A是目录,p/B是普通文件,或相反,就有冲突
如果不是,如果p/A ,p/B都是目录,循环结束
如果不是,如果p/A, p/B都是普通文件,且模式大小最后修改时间相同,同步成功,不做任何事
如果不是,如果p/A遵循日志文件,p/B不遵循,后者被改变,就必须复制P/A的内容,模式,最后修改时间给p/B。反之则反。
如果不是,如果p/A, p/B都是普通文件,且都不遵循日志文件(可能是没p的入口,可能是两文件的属性不对应),有冲突
同步器重写日志文件:
要注意两树不一定在文件系统有相同的出现顺序,可能A中有文件p q 然而B中有文件q p,你来决定你想把目录存在日志文件或愿意创造一份文件放目录,也由你来决定如何管理冲突,我们可以每次同步时简单地显示冲突列表,可以要求用户做选择。如果这些文件是TXT文件,可以显示2个文件的不同(例如使用命令diff)
3内容对比
如果文件同时在两边已修改相同内容,同步器指出一个假的冲突,为显示出两个普通文件的冲突,同步器对比两文件的内容,如果相同:
如果两文件属性已经相同,不做任何事,同步成功
如果其中一个的属性与日志文件的相同,另一个改变过,只要改变第一个的属性,同步成功
如果属性不同,两文件有冲突,但只是属性不同,也许让用户知道后可以使用它
当然,在上面任何一种同步成功情况,必须将结果存在日志文件中
可以用rsync和sync


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回linux编程吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示