Linux下链接文件使用RM无法删除的解决办法

文章作者 100test 发表时间 2008:03:17 11:58:25
来源 100Test.Com百考试题网


  在进行U-boot开发的时候,遇到一个小问题。网友wanglida79前几天刚遇到过,我当时没有模拟出来,现在自己倒是遇上了。不过我想出了解决的办法,只不过原因不明确,或许使用方法不对,或许有bug。

  现象描述:

  我进行U-boot移植的开发,为了patch方便,将源码的名字命名为.orig,这样以示区分。但是名字太长,在命令行下操作不太方便,所以想法就是建立软链接。

[armlinux@lqm bootloader]$ tree -L 1
.
|-- patch
|-- u-boot-1.1.3
|-- u-boot-1.2.0
|-- u-boot-1.2.0.orig
|-- vivi
`-- vivi_origin

6 directories, 0 files

  上面是目录下的主要文件夹。现在将源码链接为orig,将开发部分链接为develop。

[armlinux@lqm bootloader]$ ln -s u-boot-1.2.0.orig/ orig
[armlinux@lqm bootloader]$ ln -s u-boot-1.2.0 develop
[armlinux@lqm bootloader]$ ls
develop orig patch u-boot-1.1.3 u-boot-1.2.0 u-boot-1.2.0.orig vivi vivi_origin

  如上。现在想要删除develop和orig。出现意外情况:

[armlinux@lqm bootloader]$ rm develop/
rm: cannot remove `develop/: Not a directory
[armlinux@lqm bootloader]$ rm -f develop/
rm: cannot remove `develop/
: Not a directory
[armlinux@lqm bootloader]$ unlink develop/
unlink: cannot unlink `develop/

  看来删不掉。删除orig也同样如此。转念又实验了利用find来删除:

[armlinux@lqm bootloader]$ find . -type l | xargs rm -f
[armlinux@lqm bootloader]$ ls
patch u-boot-1.1.3 u-boot-1.2.0 u-boot-1.2.0.orig vivi vivi_origin

  看来能够成功。

  现象分析与解决:

  上面提供的find and xargs的删除方法可以实现。但是只用rm为什么不能删除呢。我想应该是使用的方法上有问题,必须查阅rm和ln的用法。经过man查阅,ln的使用和rm的使用并没有问题。推翻了前面的想法,我想从rm直接删除和find删除的不同入手找到原因。

[armlinux@lqm bootloader]$ find . -type l
./develop
./orig



相关文章


DataGuard数据库服务器硬盘故障处理
Linux操作系统启动httpd失败的解决方法
构建基于NFS文件系统的Openldap身份验证
硬盘分区与多操作系统的Grub引导设置问题
Linux下链接文件使用RM无法删除的解决办法
彻底明白Java语言中的IO系统
中国航空研究院631所2008年研究生招生简章
RFT与 ring结合进行自动化脚本开发之一
山西省首次评出研究生教育优秀导师和团队
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛