四时宝库

程序员的知识宝库

linux系统中如何反向删除文件外的所有文件

工作中经常遇到某个或多个文件想保留,其他文件都删除掉,下面提供三种方法供参考

  1. 模式匹配方法,脚本如下

    shopt -s extglod #确认开启extglob选项

    cd ~/yunwei

    rm -v !(*.txt|*.log)

    !(pattern list) #匹配除pattern list之外的文件

  2. 设置变量,GLOBIGNORE 可用来设置要忽略的模式匹配 文件,多个模式通过 : 分隔

    cd ~/yunwei

    export GLOBIGNORE =*.txt:*.log

    rm -v *

    unset GLOBIGNORE

  3. find命令搜索删除方法

    cd ~/yunwei

    find . type f -not \(-name '*.txt' -or -name '*.log' \) -delete

    以上三种方法大家可以最好在虚拟机测试下没问题,然后在线上使用。毕竟rm操作比较危险,删除之后想恢复就麻烦了。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接