LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2365|回复: 10

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

[复制链接]
发表于 2006-10-23 20:51:51 | 显示全部楼层 |阅读模式
我的环境是Redhat linux9.0的nautilus

例如:
原文件夹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,而不会覆盖旧文件夹下面的其它东西。

问一下各位兄弟,与在窗口中用鼠标操作的复制操作的等同的命令是什么?
发表于 2006-10-23 21:38:48 | 显示全部楼层
一。说清楚你用的是什么 file manager ,konqueror nautilus 或者 xffm thunar 。

二。我怀疑你用了 mv 移动文件夹,而不是 copy
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-23 22:10:35 | 显示全部楼层

谢谢VirusCamp的回答

Post by VirusCamp
一。说清楚你用的是什么 file manager ,konqueror nautilus 或者 xffm thunar 。

二。我怀疑你用了 mv 移动文件夹,而不是 copy


1、我的环境是Redhat linux9.0的nautilus
2、绝对是鼠标右键的复制和粘贴操作(不是命令行的cp)

截图如附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-10-23 23:01:26 | 显示全部楼层
Redhat linux9.0 的问题就不要问了。
回复 支持 反对

使用道具 举报

发表于 2006-10-23 23:06:53 | 显示全部楼层
怪了,我在mac论坛看到了同样问题

http://www.macfans.com.cn/forum/thread-9930-1-1.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-25 18:52:50 | 显示全部楼层
没有人来解决,自己顶起来。
回复 支持 反对

使用道具 举报

发表于 2006-10-25 20:10:33 | 显示全部楼层
这跟用什么文件管理器没关系,LINUX对设备、文件夹都是以文件的形式来管理的。也就是说,从软件层面来讲,对于LINUX而言,一个设备是一个文件、一个文件夹也是一个文件。

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

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

使用道具 举报

发表于 2006-10-25 20:14:00 | 显示全部楼层
所以你覆盖了文件夹,当然它里面所管理的文件列表就变了,所以你进到那个文件夹也就看不到你之前的文件了。
不过好像比较新版的LINUX已经改进了这个机制,可以有一个比较覆盖的机制,也就是和WINDOWS一样的了。
回复 支持 反对

使用道具 举报

发表于 2006-10-25 20:35:35 | 显示全部楼层
Post by 冰原子

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

是的, 新的版本只覆盖该文件夹下同名的文件. 另外, 4楼的"Redhat linux9.0 的问题就不要问了。"这话说得很对. 大家都不是考古学者, 用个新的版本你使用方便, 别人回答之前也能先试验一遍.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-25 21:42:52 | 显示全部楼层
Post by 冰原子
这跟用什么文件管理器没关系,LINUX对设备、文件夹都是以文件的形式来管理的。也就是说,从软件层面来讲,对于LINUX而言,一个设备是一个文件、一个文件夹也是一个文件。

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

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


呵呵,作个小小的理论探讨吧。
那为什么我用"cp folder anotherfolder/ -fr"命令不会覆盖同名文件夹下面的不同的文件呢?

另外,redhat linux9.0也还是有一些人在用的,像我这样用老机的人用上新版的可能忍受不了新版的速度?我在一台P4 1.8G的老机上安过新版的ubuntu,速度慢得无法忍受,比如我运行eclipse就简直要操着手等着它编译:(
相比之下,redhat linux9.0在我的老机上还能用。
而且,我看中国万网还是哪个著名的网站空间提供商的linux主机都还是用的redhat linux9.0,这个版本是2003年出的吧?现在用windows的人还有不少用windows2000的呢。

我是linux初学者。写了一些linux日记,其中就有我选择redhat linux9.0的过程:http://java.learndiary.com/diary ... 750&naviStr=a10
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表