rm是我们在Linux下删除文件经常用到的命令,但是有时候我们目录下有很多个文件想要删除,偏偏却要保留其中1个或几个文件,那怎么办呢?很多新手朋友可能会采取一个一个文件删除的方法来操作,但是如果文件很多呢?删到啥时候啊~~

今天我们就来教大家使用rm命令删除文件的时候如何排除指定的文件(不删除指定文件)。首先我们来看一下平时我们是怎么使用rm命令的。

1、删除单个文件

rm 1.txt

2、强制删除文件,无需确认

rm -rf 1.txt

3、删除文件夹

rm -rf mydir

4、删除目录下全部文件,包括文件夹

rm -rf *

5、删除全部文件,但保留1.txt

rm -rf !(1.txt)

正常情况下是全部文件被删除了,只留下了1.txt,但是有时候我们的系统没配置好,可能会报错,例如下面这种:

root@abc:/home/# rm -rf !(1.txt)
-bash: !: event not found

上面这种情况是因为我们的系统没有开启通配符功能,我们执行下面的命令开启通配符功能先:

shopt -s  extglob

查看通配符功能是否开启,on表示已经开启

shopt -s

然后我们再次执行前面的命令就可以看到文件已经全部删除了,只保留了1.txt

rm -rf !(1.txt)

6、删除全部文件,保留1.txt和2.txt

rm -rf !(1.txt|2.txt)

上面我们说的都是直接用rm + !(叹号)来排除文件的,下面我们搞个高深一点的,用find + grep + xargs三个命令一起用

7、删除全部文件,保留1.txt

find * | grep -v 1.txt | xargs rm

这里我们要特别注意grep的-v参数,-v参数表示反选,比如我们上面指定了-v 1.txt,即排除掉1.txt,选中其他全部文件。所以这样执行之后1.txt就被排除了

8、删除全部文件,保留1.txt和2.txt

find * | grep -v '\(1.txt\|2.txt\)' | xargs rm

这里要特别留意,括号()跟括号内的竖线|需要添加\进行转义,否则会报错

今天讲的就这些,都是非常实用的技巧,大家赶紧动手试试吧

Linux下使用rm删除文件,并排除指定文件(亲测可行)相关推荐

  1. linux中rm删除的文件是否可以恢复,Linux下用rm删除的文件的恢复方法

    Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2008-08/14744.htm lin ...

  2. linux scp 排除文件夹,scp复制文件时排除指定文件

    1. 前言 本文主要讲解如何在scp复制文件时排除指定文件. 举例: 我需要将所有*.c文件从名为hostA的电脑复制到hostB,包括所有目录.我使用以下scp命令,但不知道如何排除特定的文件(如* ...

  3. bat复制文件到指定目录同名_scp复制文件时排除指定文件

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何在scp复制文件时排除指定文件. 举例 ...

  4. rm命令在删除文件时排除指定文件

    准备测试环境 [root@zw ~]# cd [root@zw ~]# mkdir tmp [root@zw ~]# touch ./tmp/test{1..10} [root@zw ~]# cd t ...

  5. Java使用iText生成word文件的完美解决方案(亲测可行)

    JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案 一种是pio但是他的excel处理很程序 wor ...

  6. 怎样把服务器的文件改名字,linux服务器如何修改文件名称rm命令删除文件时排除特定文件...

    grep -i richard telnos 在文件telnos中检索字符串richard,不顾字母的大小写. grep '[0-9]*' chapter1 由于[0-9]*与空字符串匹配,上述命令打 ...

  7. Linux下通过rm -f删除大量文件时提示-bash: /bin/rm: Argument list too long的解决方法...

    Linux下通过rm -f删除/var/spool/postfix/maildrop/中大量的小文件时提示: "-bash: /bin/rm: Argument list too long& ...

  8. linux rm 某个时间以前,(转)linux的一个find命令配合rm删除某天前的文件

    转自:http://www.cnblogs.com/mingforyou/p/3930624.html 语句写法:find 对应目录 -mtime +天数 -name "文件名"  ...

  9. linux根据修改日期删除,在Linux下怎么一次性删除掉那些修改时间为指定日期的所有文件?...

    问:在Linux下怎么一次性删除掉那些修改时间为指定日期的所有文件? 答:脚本del_files_of_date.sh 用法:./del_files_of_date.sh 比如:./del_files ...

  10. linux 下生成docx,linux下创建、删除文件和文件夹命令.docx

    linux下创建.删除文件和文件夹命令.docx 还剩 6页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 学习 Linux 二(创建.删除文件和文件夹 ...

最新文章

  1. AWS Device Farm介绍及Appium踩过的坑
  2. I2C原理及特性总结
  3. 熵增学院-Anders-剑走偏锋,了解Spring Boot内部Servlet容器
  4. 企业:怎样的渗透测试频率是合适的?
  5. mysql 进阶_mysql进阶知识
  6. 郝蕾怒骂河南人---江湖再起风云,网络哪里有净土
  7. Springboot 拦截器无法注入对象的解决
  8. HCL打开显示当前系统用户怎么解决_Mac键盘突然停止响应怎么办?
  9. 算法梳理之LightGBM
  10. java项目需求文档,干货整理
  11. GDI函数 StretchDIBits,StretchBlt 缩小图片会有黑点的问题解决办法
  12. 数据可视化大屏案例系列 1
  13. word封面下划线对齐
  14. NYOJ033蛇形填数
  15. HCIA网络基础01
  16. java 线性回归_Java实现一元线性回归
  17. Centos配置DNS
  18. android录音波浪动画_Android使用音频信息绘制动态波纹
  19. java小游戏大鱼吃小鱼入门(15min写一个小游戏)
  20. R语言:作业六(逆变换法生成随机变量;线性同余发生器LCG的编写)

热门文章

  1. pgsql在连接的时候报:不支援 10 验证类型。请核对您已经组态。。。
  2. win10专业版和企业版的区别
  3. 75.(leaflet之家)leaflet柱状图
  4. 浪潮提出“计算+”挖大数据商机
  5. 001案例分析、常见项目管理名词
  6. 计算机单片机考试作弊检讨书,考试作弊检讨书(精选5篇)
  7. linux live下载地址,Clonezilla Live 2.4.5-20 发布下载
  8. python 编写 cgi 脚本
  9. 定义一个数组,里面存放星期一、星期二…… 直到星期日的英语写法,分别按倒序和排序后的顺序显示 数组所有元素。
  10. 30岁前如何规划自己的人生?这9本书告诉你