windows 在文件打开时不可修改文件名是出于什么考虑 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
EXDestroyer
V2EX    问与答

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

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

    我听说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     Solana     2312 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 16:04 PVG 00:04 LAX 09:04 JFK 12:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86