Linux rm 命令(rm: cannot remove `test123‘: Directory not empty)

Virtual Box 虚拟系统WindowsXP 在console 窗口执行rm 命令时,提示“rm: cannot remove `test123': Directory not empty”,针对此问题,记录一下。

test123 里面的文件可以正常删除,但是空的test123 却删不掉。

E:\2>rm -rf test123 -v
removed `test123/readme.txt'
removed `test123/readme.txt.bak'
rm: cannot remove `test123': Directory not empty
 

查看rm 命令的使用说明,上述命令“rm -rf test123” 应该在遍历删除test123 里面的文件后再删除test123 文件夹才对。

E:\2>rm --help
Usage: rm [OPTION]... FILE...
Remove (unlink) the FILE(s).

  -f, --force           ignore nonexistent files, never prompt
  -i                    prompt before every removal
  -I                    prompt once before removing more than three files, or
                          when removing recursively.  Less intrusive than -i,
                          while still giving protection against most mistakes
      --interactive[=WHEN]  prompt according to WHEN: never, once (-I), or
                          always (-i).  Without WHEN, prompt always
      --one-file-system  when removing a hierarchy recursively, skip any
                          directory that is on a file system different from
                          that of the corresponding command line argument
      --no-preserve-root  do not treat `/' specially
      --preserve-root   do not remove `/' (default)
  -r, -R, --recursive   remove directories and their contents recursively
  -v, --verbose         explain what is being done
      --help     display this help and exit
      --version  output version information and exit

By default, rm does not remove directories.  Use the --recursive (-r or -R)
option to remove each listed directory, too, along with all of its contents.

To remove a file whose name starts with a `-', for example `-foo',
use one of these commands:
  rm -- -foo

  rm ./-foo

Note that if you use rm to remove a file, it might be possible to recover
some of its contents, given sufficient expertise and/or time.  For greater
assurance that the contents are truly unrecoverable, consider using shred.

Report rm bugs to bug-coreutils@gnu.org
Report Cygwin bugs to: cygwin@cygwin.com
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report rm translation bugs to <http://translationproject.org/team/>
For complete documentation, run: info coreutils 'rm invocation'

因此,并不是命令不对。

在Virtual Box 下的Windows 7 系统下,执行上述命令,可以正常。

D:\vm\2>rm -rf test123 -v
removed directory 'test123'

因此,基于以上对比,不是Virtual Box的问题,怀疑是WindowsXp 系统设定的问题。

在WindowsXp 下使用“rmdir test123” 可以删除test123 这个空文件夹。

E:\2>rmdir test123 -v
目錄不是空的。
系統找不到指定的路徑。

E:\2>rm test123/*

E:\2>rmdir test123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值