与WIN不同,linux替换文件夹会删除原文件夹下的全部内容!

例如:

原文件夹folder含一个文件test.txt和一个子文件夹subdir;

同名新文件夹folder下只有一个文件test.txt。

我在文件夹中用鼠标复制新文件夹到旧文件夹所在的文件夹,在windows下只会替换其中新文件夹中的test.txt,旧文件夹下的子文件夹subdir不会受影响;而在linux下旧文件夹下面的子文件夹subdir也会被删除!

这就是linux和windows不同的地方之一,一些在windows下面想当然的操作在linux下没有用过也不要去随便做。

另外,我在linux下的命令行方式下试了一下复制覆盖操作:

假设folder和anotherfolder在当前目录下,anotherfolder下有个名为folder的旧文件夹,

cp folder anotherfolder/ -fr

这样操作只会覆盖同名的文件test.txt,而不会覆盖旧文件夹下面的其它东西。

真不知道在窗口中用鼠标操作的复制操作的等同的命令是什么?

One thought on “与WIN不同,linux替换文件夹会删除原文件夹下的全部内容!”

  1. 这个问题的最终答案没有找到,但是linuxsir.org上的冰原子给出了一个解答


    这跟用什么文件管理器没关系,LINUX对设备、文件夹都是以文件的形式来管理的。也就是说,从软件层面来讲,对于LINUX而言,一个设备是一个文件、一个文件夹也是一个文件。

    试试:vi $FOLDER      ($FOLDER可以是你想输入的任何文件夹路径)

    你会看到终端打开了这个“文件”并且显示除了$FOLDER所指定文件夹下面的所有文件名。


    所以你覆盖了文件夹,当然它里面所管理的文件列表就变了,所以你进到那个文件夹也就看不到你之前的文件了。

    不过好像比较新版的LINUX已经改进了这个机制,可以有一个比较覆盖的机制,也就是和WINDOWS一样的了。

    但有朋友对其中的举的例:“vi $FOLDER ”认为不恰当。

    这个问题先摆在这里吧。

Comments are closed.