SolidZORO
V2EX  ›  问与答

拷贝一个文件,一个500G一个5KB,在按下ctrl+c的时候,发出指令占用的内存都一样么?是不是都是在记录文件所在的硬盘地址?开始地址~结束地址?当没有按ctrl+v的时候,其内存占用量可以忽略不计?求原理。

  •  
  •   SolidZORO · Dec 20, 2011 · 4852 views
    This topic created in 5319 days ago, the information mentioned may be changed or developed.
    15 replies    1970-01-01 08:00:00 +08:00
    raptium
        1
    raptium  
       Dec 20, 2011 via iPad
    应该记录的是文件名吧
    xupefei
        2
    xupefei  
       Dec 20, 2011
    > 在按下ctrl+c的时候,发出指令占用的内存都一样么?
    记录的是文件的路径。路径有多长就占多少内存。

    > 当没有按ctrl+v的时候,其内存占用量可以忽略不计?
    是的。
    shao
        3
    shao  
       Dec 20, 2011
    我读书时候,老师教的是fdt 和fat表。
    现在的系统我已经不知晓了,不敢乱说,看高手解答,顺便学习。
    SolidZORO
        4
    SolidZORO  
    OP
       Dec 20, 2011
    @raptium 难道是记住路径,比如 /user/xx.txt 什么的? 难道真的不是在记 硬盘中的物理位置?

    不过这样一想,貌似也行得通,如果只是记住物理位置,那么稍有改变 就会paste错了。

    继续求,还是不解。这东西也不知道怎么开头向大婶问。
    raptium
        5
    raptium  
       Dec 20, 2011 via iPad
    @SolidZORO 可以做试验的
    复制后 修改一下再贴 看看结果是啥
    raptium
        6
    raptium  
       Dec 20, 2011 via iPad
    还可以做个实验 复制之后做个磁盘碎片整理再贴
    SolidZORO
        7
    SolidZORO  
    OP
       Dec 20, 2011
    @raptium 这个有经验,一般拷贝,然后修名字,粘贴会说找不到文件。

    至于磁盘整理。 我觉得有点麻烦。。。就不测试了。

    不过,我做了一个test。

    复制D盘的文件A.jpg到桌面,ctrl+c D盘的A.jpg 然后到D盘删掉A.jpg,然后再把桌面的拖到D盘,然后在F盘ctrl+v。

    文件过去了。。。


    看来 @xupefei 说记录路径,有点道理。
    haohaolee
        8
    haohaolee  
       Dec 20, 2011
    ctrl+c ctrl+v只和剪贴板打交道(Windows),这是应用层的事情,不会去记录磁盘信息的
    Ricepig
        9
    Ricepig  
       Dec 20, 2011
    你可以复制一个文件,然后打开记事本,粘贴,看看出来的是什么。

    我想如果记录的是二进制信息,记事本没有这么智能,能够找到二进制对应的路径吧?
    Banana_Co
        10
    Banana_Co  
       Dec 20, 2011
    avichen
        11
    avichen  
       Dec 20, 2011
    @Ricepig 你复制文件,然后在记事本里面粘贴,应该是啥都不会出来。这个是剪贴板来控制的。
    9hills
        12
    9hills  
       Dec 20, 2011
    这个和具体操作系统的“剪贴板”实现有关,但没有哪个系统会把整个文件放到剪贴板里。

    一般最直接的实现方式就是记录路径,(在Linux下也和inode无关)
    heidour
        13
    heidour  
       Dec 20, 2011
    关于是不是记录路径,至少Mac OS X不是的。
    因为复制文件后,把改文件拉到废纸篓或移动。任然可以粘贴。
    所以,我猜是记录的更深的东西吧。
    raptium
        14
    raptium  
       Dec 20, 2011
    Windows 看似是就简单记录了路径
    Mac OS X 就有些神奇了。不过记录 inode 看似也是不靠谱的,因为移动文件的时候 inode 也会变啊。

    哦,另外有个有些OT的现象,我觉得也很有趣。在 terminal 中 cd 到某个文件夹下,然后把这个文件夹丢进垃圾桶,然后在 terminal 里 cd .. 就会发现去垃圾桶了…… 所以 shell 记录当前工作的文件夹也不是就记一个路径这么简单的。
    freefcw
        15
    freefcw  
       Dec 20, 2011
    额……没有谁会傻到真的去复制文件到内存神马的。。。再说文件在硬盘上存储相当于链表而已,改一下指针就好了= =
    当然跨磁盘,跨分区就肯定要读写磁盘了,这样内存肯定要消耗的,但是也不会消耗很大的内存的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5293 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 01:17 · PVG 09:17 · LAX 18:17 · JFK 21:17
    ♥ Do have faith in what you're doing.