V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
EXDestroyer
V2EX  ›  问与答

windows 在文件打开时不可修改文件名是出于什么考虑

  •  
  •   EXDestroyer · 2015-03-28 16:57:43 +08:00 · 2858 次点击
    这是一个创建于 3529 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我听说mac os是可以的,不知道微软这样做有什么目的,按理说,文件名和内容都应该属于可编辑的部分?

    13 条回复    2015-03-29 13:45:14 +08:00
    hjc4869
        1
    hjc4869  
       2015-03-28 17:24:43 +08:00
    然后Unix下一个程序执行着执行着就不知道它自己叫什么了。
    wheatcuican
        2
    wheatcuican  
       2015-03-28 17:28:05 +08:00
    @hjc4869 好喜感。2333
    Orzzzz
        3
    Orzzzz  
       2015-03-28 17:45:34 +08:00
    以下为个人推敲,如有错误还请大家帮忙指正,谢谢。

    windows下可能没有swp机制吧,在unix下进行文件操作并不是直接操作文件,而是打开了一个缓冲文件,也可以看做是备份文件,如果用vim的话就可以很清楚的看到一个隐藏文件并且后缀名为swp,用gedit就会看到后缀名为~的文件。结束操作的时候会将操作写入到文件中,更改修改时间等等。
    我也测试了很多编辑器,打开文件的时候更改了名字,保存,会产生一个新的文件,文件名与源文件相同。
    如果是系统不允许更改的,大概就是sock文件了,那些都是锁起来的,不能更改。大概windows下的所有文件在打开的时候都上了锁吧。

    windows下的文件备份,从来就没有linux下的好。这也是我不用windows的原因。
    9hills
        4
    9hills  
       2015-03-28 17:58:46 +08:00
    @Orzzzz 那是某些特殊程序的处理,和操作系统没关系。。
    hjc4869
        5
    hjc4869  
       2015-03-28 18:04:41 +08:00
    @Orzzzz 用Windows下的vim打开也是会有的。
    Linux下也可以锁文件,只是默认不锁而已。
    typcn
        6
    typcn  
       2015-03-28 18:08:00 +08:00
    对服务器软件平滑升级有很大帮助
    endrollex
        7
    endrollex  
       2015-03-28 18:16:54 +08:00
    Win试了下,打开时可以修改文件名的啊,mspaint,notepad都没问题
    EXDestroyer
        8
    EXDestroyer  
    OP
       2015-03-28 18:26:44 +08:00 via Android
    @endrollex 我其实想说的是word excel或者其他一些文件
    Orzzzz
        9
    Orzzzz  
       2015-03-28 18:33:58 +08:00
    @9hills
    @hjc4869
    好吧,谢谢你们。
    zhjits
        10
    zhjits  
       2015-03-28 18:37:09 +08:00
    有些软件打开文件的时候会上锁
    billlee
        11
    billlee  
       2015-03-28 19:28:10 +08:00
    @endrollex 那是那些软件一次性读取完文件后就把文件关掉了,
    msg7086
        12
    msg7086  
       2015-03-29 08:44:45 +08:00   ❤️ 1
    #3 @Orzzzz 基本是错的。

    Linux下打开文件只涉及inode而不涉及目录表项,所以只要锁inode就行了。
    文件名属于目录表项里的记录,可以随便改的,删除也可以,因为只是删除记录而非销毁文件。

    Windows下则是以目录表项为单位,一锁就把文件的硬链地址给锁了。
    最恶心的是如果一个文件有两个硬链接,一个A一个B,如果A被打开了,我连B都删不了,简直坑。
    Orzzzz
        13
    Orzzzz  
       2015-03-29 13:45:14 +08:00
    @msg7086 已送出感谢~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3078 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:43 · PVG 08:43 · LAX 16:43 · JFK 19:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.