红联Linux门户
Linux帮助

删除命令

发布时间:2008-08-01 12:01:11来源:红联作者:gondn125
请问一个弱弱的问题,我想删掉一个目录下面的多个目录,只保留几个,一个一个删除太过繁琐了,这样的命令应该怎么写?
我看帖子里有这样的写法:ls !(file1|file2)|xargs rm,我试了一下,系统提示:-bash: !: event not found
不知道是什么原因?请大虾们指点一二,不胜感激!
文章评论

共有 5 条评论

  1. jayscorpio 于 2008-08-01 15:25:29发表:

    !(file2|file2)改成你要保留的文件名

  2. gity 于 2008-08-01 13:57:49发表:

    就不能先把少量不想删除的复制出来么?
    不都是一个一个的写?

  3. gondn125 于 2008-08-01 13:00:05发表:

    感谢一楼回复,rm -rf确实可以删除test目录下所有的文件和文件夹,但我要求是test目录下面有两个我不希望删除的文件夹,我的意思是如何才能删除test目录下除了我不希望删除的文件夹以外的所有文件!!

  4. litkt 于 2008-08-01 12:38:16发表:

    用任何一个文件管理删即可,如mc.

  5. lyq617617 于 2008-08-01 12:23:29发表:

    引用:
    原帖由 gondn125 于 2008-8-1 12:01 发表
    请问一个弱弱的问题,我想删掉一个目录下面的多个目录,只保留几个,一个一个删除太过繁琐了,这样的命令应该怎么写?
    我看帖子里有这样的写法:ls !(file1|file2)|xargs rm,我试了一下,系统提示:-bash: !: even ...


    你是使用 root 用户删除的吗?
    你可以查看一下 root 家目录下的 .bashrc 文件,你会发现 rm 是 rm -i 的别名,也就是你在使用 rm 的时候,系统会提示你确认后删除,如果你把这个别名删除掉,就能一次性删除一个目录下的多个文件了。(但这样会很危险,不建议)比如
    /tmp/test 目录下有多个文件,你想把 test 目录删除,你可以这样
    # cd /tmp 进入到 test 所在的父目录
    # rm -R test 级联删除(删除该目录及其所有子目录和文件)
    当然这前提是你将 rm -i 的别名去除了,不再是 rm ,否则系统每删除一个子目录或文件都会询问你是否删除!

    [ 本帖最后由 lyq617617 于 2008-8-1 12:27 编辑 ]